Mòdul:Multiparamètres
La documentacion d'utilizacion d'aquel modul se pòt crear a Mòdul:Multiparamètres/ús
local p = {}
function p.brut(frame)
return p._main(frame, function (item) return item end)
end
function p.lien(frame)
return p._main(frame, function (item) return '[['..item..']]' end)
end
function p.categorie(frame)
return p._main(frame, function (item) return '[[:Categoria:'..item..'|'..item..']]' end)
end
function p.utilisateur(frame)
return p._main(frame, function (item) return '[[Utilizaire:'..item..'|'..item..']]' end)
end
function p._main(frame, formatter)
local args = frame:getParent().args
local trimFunc = mw.text.trim -- cache accès global
local gras = (args.gras and args.gras ~= '')
local items = {}
for i,v in ipairs(args) do
local item = trimFunc(v)
if item ~= '' then
item = formatter(item)
if gras then
item = "'''" .. item .. "'''"
end
items[#items + 1] = item
end
end
if #items == 0 then
return ''
elseif #items == 1 then
return items[1]
else
-- lo paramètre "e" pòt èsser definit a void, exemple : [[Modèl:Modul biblio/responsabilitat principala]]
local dernierSeparateur = (args.et and args.et or 'e')
return table.concat(items, ', ', 1, #items - 1) .. ' ' .. dernierSeparateur .. ' ' .. items[#items]
end
end
return p