Module:Multiparamètres : Différence entre versions
m (A protégé « Module:Multiparamètres » : Modèle très utilisé ([Modifier=Autoriser uniquement les utilisateurs autopatrolled] (infini) [Renommer=Autoriser uniquement les utilisateurs autopatrolled] (infini))) |
(implémentation {{MultiParamètres-Lien}}, etc.) |
||
Ligne 1 : | Ligne 1 : | ||
local p = {} | local p = {} | ||
− | function p.main(frame) | + | function p.brut(frame) |
+ | return main(frame, '', '') | ||
+ | end | ||
+ | |||
+ | function p.lien(frame) | ||
+ | return main(frame, '[[', ']]') | ||
+ | end | ||
+ | |||
+ | function p.categorie(frame) | ||
+ | return main(frame, '[[:Catégorie:', ']]') | ||
+ | end | ||
+ | |||
+ | function p.utilisateur(frame) | ||
+ | return main(frame, '[[Utilisateur:', ']]') | ||
+ | end | ||
+ | |||
+ | local function main(frame, prefixe, suffixe) | ||
local args = frame:getParent().args | local args = frame:getParent().args | ||
Ligne 12 : | Ligne 28 : | ||
local item = trimFunc(v) | local item = trimFunc(v) | ||
if item ~= '' then | if item ~= '' then | ||
+ | item = prefixe .. item .. suffixe | ||
if gras then | if gras then | ||
item = "'''" .. item .. "'''" | item = "'''" .. item .. "'''" |
Version du 7 janvier 2017 à 01:30
La documentation pour ce module peut être créée à Module:Multiparamètres/doc
local p = {} function p.brut(frame) return main(frame, '', '') end function p.lien(frame) return main(frame, '[[', ']]') end function p.categorie(frame) return main(frame, '[[:Catégorie:', ']]') end function p.utilisateur(frame) return main(frame, '[[Utilisateur:', ']]') end local function main(frame, prefixe, suffixe) 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 = prefixe .. item .. suffixe 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