« Module:Icône » : différence entre les versions
mAucun résumé des modifications |
mAucun résumé des modifications |
||
(3 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 20 : | Ligne 20 : | ||
local size = args[2] or DEFAULT_SIZE | local size = args[2] or DEFAULT_SIZE | ||
size = STANDARD_SIZE[size] or string.gsub(size, 'px', '') | size = STANDARD_SIZE[size] or string.gsub(size, '[px]', '') | ||
return tostring(mw.html.create('span') | return tostring(mw.html.create('span') | ||
:css('cursor', 'help') | :css('cursor', 'help') | ||
:attr('title', tooltip) | :attr('title', tooltip) | ||
:wikitext('[[Fichier:'..filename..'|x'..size..'px|link='..link..']]') | :wikitext('[[Fichier:'..filename..'|'..size..'x'..size..'px|link='..link..']]') | ||
:allDone()) | :allDone()) | ||
end | |||
--[[ | |||
Fonction utilisée dans la doc du modèle pour présenter | |||
les cônes disponibles aux contributeurs | |||
]] | |||
function p.doc() | |||
local tabDefinition = '{| class="va-table va-table-center-col2" style="float:left;margin-right:4px;width:250px;"\n!style="width:70%;"|mot-clé!!style="width:30%;"|icône\n' | |||
local doc = tabDefinition | |||
keywords = {} | |||
for k in pairs(icons) do | |||
table.insert(keywords, k) | |||
end | |||
table.sort(keywords) | |||
local split = math.ceil(#keywords / 3) | |||
local n = 0 | |||
for k, v in ipairs(keywords) do | |||
if n > split then | |||
doc = doc..'\n|}' | |||
doc = doc..'\n'..tabDefinition | |||
n = 0 | |||
end | |||
n = n + 1 | |||
local icon = icons[v] | |||
doc = doc..'|-\n|<code>'..v..'</code>||[[Fichier:'..icon.filename..'|20x20px|link=]]\n' | |||
end | |||
doc = doc..'|}' | |||
return doc | |||
end | end | ||
Version du 25 juin 2021 à 00:02
Ce module contient le paramétrage du modèle {{Icône}}.
local p = {}
local icons = require('Module:Icône/Données')
local DEFAULT_ICON_NAME = '_DEFAULT'
local DEFAULT_SIZE = 'normal'
local STANDARD_SIZE = {
normal = '14',
grand = '20',
big = '20'
}
function buildIcon(args)
local name = args[1] or DEFAULT_ICON_NAME
local link = args['lien'] or args['link'] or ''
local icon = icons[name:lower()] or icons[DEFAULT_ICON_NAME]
local filename = icon.filename
local tooltip = args['infobulle'] or args['tooltip'] or icon.tooltip
local size = args[2] or DEFAULT_SIZE
size = STANDARD_SIZE[size] or string.gsub(size, '[px]', '')
return tostring(mw.html.create('span')
:css('cursor', 'help')
:attr('title', tooltip)
:wikitext('[[Fichier:'..filename..'|'..size..'x'..size..'px|link='..link..']]')
:allDone())
end
--[[
Fonction utilisée dans la doc du modèle pour présenter
les cônes disponibles aux contributeurs
]]
function p.doc()
local tabDefinition = '{| class="va-table va-table-center-col2" style="float:left;margin-right:4px;width:250px;"\n!style="width:70%;"|mot-clé!!style="width:30%;"|icône\n'
local doc = tabDefinition
keywords = {}
for k in pairs(icons) do
table.insert(keywords, k)
end
table.sort(keywords)
local split = math.ceil(#keywords / 3)
local n = 0
for k, v in ipairs(keywords) do
if n > split then
doc = doc..'\n|}'
doc = doc..'\n'..tabDefinition
n = 0
end
n = n + 1
local icon = icons[v]
doc = doc..'|-\n|<code>'..v..'</code>||[[Fichier:'..icon.filename..'|20x20px|link=]]\n'
end
doc = doc..'|}'
return doc
end
function p.build(frame)
return buildIcon(require('Module:Outils').extractArgs(frame))
end
return p