Module:Alserv1
Apparence
La documentation de ce module est générée par le modèle {{Documentation module}}.
Les éditeurs peuvent travailler dans le bac à sable (créer).
Voir les statistiques d'appel depuis le wikicode sur l'outil wstat et les appels depuis d'autres modules.
--[[
Fonctions utiles pour les méta-palettes de navigation.
]]
local p = {}
--[[
Formate un lien interne.
Paramètres: lien: lien de l'article désiré
texte: texte à afficher
Cette fonction formate un lien interne, en utilisant comme cible du lien
la valeur du premier paramètre et comme texte affiché la valeur du second
paramètre. Si le modèle contenant le #invoke avait été appelé avec un
paramètre portant le même nom que la valeur du premier paramètre passé au
module, alors le module utilisera la valeur du paramètre du modèle comme
cible du lien, ce qui permet de détourner le lien.
Par exemple, si le modèle contient
{{#invoke:Méta palette|lien|cible-1|texte-1}}
et que le modèle est appelé avec
{{Modèle}}
alors le lien généré sera
cible-1|texte-1 (entre crochets)
Mais si le même modèle est appelé avec
{{Modèle|cible-1=toto}}
alors le lien généré sera
toto|texte-1 (entre crochets)
]]
function p.lien(frame)
local args0 = frame.args -- arguments du #invoke
local args1 = frame:getParent().args -- arguments du modèle appelant
-- Le modèle appelant (la méta palette) génère automatiquement la cible du lien
-- en assemblant divers éléments.
local lienMeta = mw.text.trim(args0[1]) -- cible générée par la meta palette
-- Si la palette appelant la méta palette lui passe un argument dont le nom est
-- identique à celui du lien généré par la méta palette, utiliser la valeur de
-- cet argument comme cible du lien.
local lien1 = args1[lienMeta] -- cible détournée par la palette
if lien1 then return "[[" .. lien1 .. "|" .. args0[2] .. "]]" end
-- Le lien généré par la méta palette peut contenir des blancs soulignés,
-- il faut donc voir si la palette n'a pas utilisé un nom de paramètre avec
-- des blancs normaux.
local lien2 = args1[lienMeta:gsub('_', ' ')] -- cible détournée par la palette
if lien2 then return "[[" .. lien2 .. "|" .. args0[2] .. "]]" end
return "[[" .. lienMeta .. "|" .. args0[2] .. "]]"
end
return p