Ouvrir le menu principal

Modifications

1 261 octets ajoutés ,  7 mars 2018 à 23:29
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
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 '[[:Catégorie:'..item..'|'..item..']]' end)
end

function p.utilisateur(frame)
return p._main(frame, function (item) return '[[Utilisateur:'..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

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
Utilisateur anonyme