Module:Multiparamètres : Différence entre versions
Sauter à la navigation
Sauter à la recherche
(dans ce cas, génère une seule espace au lieu de deux, toujours plus propre… et associé au diff précédent, code plus compréhensible) |
m (1 révision importée) |
(Aucune différence)
| |
Version actuelle datée du 8 février 2019 à 10:40
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
local dernierSeparateur = args.et and ( ' ' .. args.et .. ' ' )
-- le paramètre "et" peut être défini à vide, exemple : Modèle:Module biblio/responsabilité principale if args.et == then dernierSeparateur = ' ' end
return mw.text.listToText( items, ', ', dernierSeparateur )
end
return p