Module:Multiparamètres
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 ''..item..'' end)
end
function p.utilisateur(frame)
return p.main(frame, function (item) return ''..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 -- le paramètre "et" peut être défini à vide, exemple : Modèle:Module biblio/responsabilité principale local dernierSeparateur = (args.et and args.et or 'et')
return table.concat(items, ', ', 1, #items - 1) .. ' ' .. dernierSeparateur .. ' ' .. items[#items] end
end
return p