Modèle:Multiparamètres
Apparence
local mwTrim = mw.text.trim
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:sub( 1, 1 ) == ':' ) and item or ':' .. item ) .. '' end )
end
function p.lienAutomatique( frame )
return p._main( frame, function ( item ) if item:find( '[', nil, true ) then return item else return '' .. ( ( item:sub( 1, 1 ) == ':' ) and item or ':' .. item ) .. '' end 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 gras = ( args.gras and args.gras ~= ) local items = {}
for i, v in ipairs( args ) do local item = mwTrim( 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