Module:Icône

De Les Archives de Vault-Tec
Révision datée du 12 juin 2021 à 23:33 par Kharmitch (discussion | contributions) (Création du module Icône qui remplacera le contenu du modèle Icône)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

La documentation pour ce module peut être créée à Module:Icône/doc

local p = {}

local icons = require('Module:Icône/Données')

local DEFAULT_ICON_NAME = '_DEFAULT'
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 'normal'
	size = STANDARD_SIZE[size] or string.gsub(size, 'px', '')
	
	return tostring(mw.html.create('span')
		:css('cursor', 'help')
		:attr('title', tooltip)
		:wikitext('[[Fichier:'..filename..'|x'..size..'px|link='..link..']]')
		:allDone())
end

function p.build(frame)
	return buildIcon(require('Module:Outils').extractArgs(frame))
end

return p