« Module:Icône » : différence entre les versions
Page créée avec « local p = {} local DATA_MODULE = "Module:Icône/Données" -- Génère un tableau contenant tous les icônes (pour la documentation) function p.icons_table() icons = mw.loadData(DATA_MODULE) local icons_table = '{| class="wikitable"\n!Icône!!Infobulle!!Code\n' names = {} for k in pairs(icons) do table.insert(names, k) end table.sort(names) local icon, row for k, name in ipairs(names) do icon = icons[name] icons_table = icons_ta... » |
mAucun résumé des modifications |
||
(Une version intermédiaire par le même utilisateur non affichée) | |||
Ligne 19 : | Ligne 19 : | ||
icon = icons[name] | icon = icons[name] | ||
icons_table = icons_table .. string.format( | icons_table = icons_table .. string.format( | ||
"|-\n|[[Fichier:%s|link=|18x18px|alt=]]||%s||<code> | "|-\n|[[Fichier:%s|link=|18x18px|alt=]]||%s||<code>%s</code>\n", | ||
icon.image, | icon.image, | ||
icon.tooltip or "", | icon.tooltip or "", | ||
name | mw.text.nowiki('{{icône|' .. name .. '}}') | ||
) | ) | ||
end | end | ||
Ligne 39 : | Ligne 39 : | ||
data = data[name:lower()] | data = data[name:lower()] | ||
if data == nil then | if data == nil then | ||
error(string.format("Icône inconnue : %s")) | error(string.format("Icône inconnue : %s", name)) | ||
end | end | ||
Dernière version du 27 janvier 2023 à 12:41
Ce module implémente le modèle {{Icône}}.
Utilisation[modifier le wikicode]
Fonctions exportables :
icons_table()
– génère un tableau des icônes disponibles, utile uniquement pour la documentation du modèle {{Icône}} ;icon(frame)
– voir la documentation du modèle {{Icône}}.
Autres fonctions :
- les fonctions ci-dessus avec un « _ » avant le nom peuvent être appelées directement depuis lua, avec les paramètres dans une table.
Pour ajouter une icône, voir Module:Icône/Données
local p = {}
local DATA_MODULE = "Module:Icône/Données"
-- Génère un tableau contenant tous les icônes (pour la documentation)
function p.icons_table()
icons = mw.loadData(DATA_MODULE)
local icons_table = '{| class="wikitable"\n!Icône!!Infobulle!!Code\n'
names = {}
for k in pairs(icons) do
table.insert(names, k)
end
table.sort(names)
local icon, row
for k, name in ipairs(names) do
icon = icons[name]
icons_table = icons_table .. string.format(
"|-\n|[[Fichier:%s|link=|18x18px|alt=]]||%s||<code>%s</code>\n",
icon.image,
icon.tooltip or "",
mw.text.nowiki('{{icône|' .. name .. '}}')
)
end
return icons_table .. "|}"
end
-- Génère l'icône identifiée par son nom
function p._icon(args)
name = args[1]
if name == nil then
error("Paramètre 1 obligatoire")
end
data = mw.loadData(DATA_MODULE)
data = data[name:lower()]
if data == nil then
error(string.format("Icône inconnue : %s", name))
end
tooltip = args["infobulle"] or data.tooltip
return string.format(
"[[Fichier:%s%s|link=%s|%s|class=icon noviewer|alt=%s]]",
data.image,
tooltip and '|' .. tooltip or '',
args["lien"] or "",
args["taille"] or data.size or "18x18px",
args["alt"] or data.alt or ""
)
end
-- Fonction générant une icône appelée par un modèle
function p.icon(frame)
local args = {}
local argsParent = frame:getParent().args
for cle, val in pairs(argsParent) do
if val then
args[cle] = mw.text.trim(val)
end
end
return p._icon(args)
end
return p