« Module:Multiparamètres » : différence entre les versions
Page créée avec « -- Original : https://fr.wikipedia.org/wiki/Module:Multiparam%C3%A8tres 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.categorie( frame ) return p._main( frame, function ( item ) return "[[:Catégorie:" .. item .. "|" .. item .. "]... » |
Aucun résumé des modifications |
||
Ligne 1 : | Ligne 1 : | ||
-- Original : https://fr.wikipedia.org/wiki/Module:Multiparam%C3%A8tres | -- Original : https://fr.wikipedia.org/wiki/Module:Multiparam%C3%A8tres | ||
-- http://lua-users.org/wiki/StringTrim | |||
local function trim( s ) | |||
return s:match( '^()%s*$' ) and '' or s:match( '^%s*(.*%S)' ) | |||
end | |||
local p = {} | local p = {} |
Dernière version du 25 janvier 2023 à 13:08
Module gérant le formatage de plusieurs liens.
Présentation des fonctions[modifier le wikicode]
brut(frame)
– utilisé par {{Multiparamètres}}lien(frame)
– utilisé par {{Multiparamètres-Lien}}categorie(frame)
– utilisé par {{Multiparamètres-Catégorie}}utilisateur(frame)
– utilisé par {{Multiparamètres-Utilisateur}}
-- Original : https://fr.wikipedia.org/wiki/Module:Multiparam%C3%A8tres
-- http://lua-users.org/wiki/StringTrim
local function trim( s )
return s:match( '^()%s*$' ) and '' or s:match( '^%s*(.*%S)' )
end
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.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 gras = ( args.gras and args.gras ~= "" )
local items = {}
for i, v in ipairs( args ) do
local item = trim( 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
if args.et == "" then
dernierSeparateur = " "
end
return mw.text.listToText( items, ", ", dernierSeparateur )
end
return p