Module:Icône de titre

Révision datée du 28 août 2021 à 15:20 par fr>Od1n (le trim n'est nécessaire que pour les paramètres non nommés (d'autant plus qu'il n'y en a pas dans ce module))
(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 de titre/doc

local p = {}

function p.main(frame)
	local args = {}
	local argsParent = frame:getParent().args

	--Paramètres vides interprétés par Lua
	for cle, val in pairs(argsParent) do
		if type(cle) == number then
			val = mw.text.trim(val)
		end
		if val ~= '' then
			args[cle] = val
		end
	end

	return p._main(args)
end

function p._main(args)
	local res = mw.html.create()
	local iconeTitre = mw.html.create()
	local frame = mw.getCurrentFrame()
	local fichierWiki = '[[Fichier:%s|%spx|link=%s|%s|%s|alt=%s]]'
	local argsId = args.id
	local nowiki = frame:extensionTag{name = 'nowiki'}

	iconeTitre
 		:wikitext(mw.ustring.format(fichierWiki,
			args.image or 'Fairytale bookmark.png',
			args.taille or 20,
			args.lien or 'Modèle:Icône de titre',
			args['paramètre'] or '',
			args.texte or 'Exemple de texte',
			args.texte or 'Exemple de texte'))

	if not args.id then
		local nsPage = mw.title.getCurrentTitle().namespace
		if nsPage == 2 or nsPage == 3 then
			argsId = args.image or 'Fairytale bookmark.png'
		end
	end

	res:wikitext(frame:extensionTag('indicator', tostring(iconeTitre), {name = argsId}))

	if not args.id then
		res:wikitext('[[Catégorie:Page utilisant une icône de titre sans identifiant]]')
	end

	return nowiki .. tostring(res)
end

return p