Aller au contenu

Module:Bac à sable

Une page de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 7 octobre 2024 à 22:19 et modifiée en dernier par Ménestor (discuter | contributions). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.

 Documentation[voir] [modifier] [historique] [purger]


Utilisation

Cette page est destinée à vous aider à vous familiariser avec le système de création et modification de modules de Wikipédia.

Il est possible de tester le résultat de votre module dans la page Modèle:Bac à sable (placez-y le code {{#invoke:Bac à sable|nom_fonction|arg1|arg2|…}}).

Vous pouvez consulter le Manuel de référence complet en français sur www.mediawiki.org, Projet:Scribunto/Guide, aide:module, ou discuter avec les autres membres du projet Scribunto.

local p = {}

-- Table des codes couleur
-- ["(code couleur)"] = "#(couleur)"
local codesTable = {
		["Ind."] = "#C0C0C0",
		["Ishin2015"] = "#B8CE43",
		["Kaishintō"] = "#0C7E97",
		["Komeito1998"] = "#F55881",
		["PCJ"] = "#CC222C",
		["PDC"] = "#004097",
		["PDJ"] = "#E60000",
		["PDP 2018"] = "#FFD700",
		["PE"] = "#18643A",
		["PL-1998"] = "#000099",
		["PLD"] = "#41A12E",
		["RW"] = "#E3007F",
		["TF"] = "#18643A"
	}

function p.couleurParti(frame)
	-- Récupération des paramètres
	local pframe = frame:getParent()
	local args = pframe.args
	-- Définition des variables
	local code = args[1]
	local largeur = args.largeur
	local styleBonus = args.style
	local tiret = false

	-- Fonction pour récupérer la couleur HEX dans la table des codes
	local function obtenirCouleur(code)
		if tiret == true then
			code = mw.ustring.sub(code, 2) -- Retrait du tiret pour la recherche dans la table des codes
		end
		return codesTable[code]
	end

	-- Fonction générant l'attribut HTML style
	local function style()
		local couleur = obtenirCouleur(code)
		if largeur ~= nil and largeur ~= '' then
			largeur = ' width: ' .. largeur .. ';'
		else
			largeur = ''
		end
		if styleBonus ~= nil and styleBonus ~= '' then
			styleBonus = ' ' .. styleBonus
		else
			styleBonus = ''
		end
		return 'style="background-color: ' .. couleur .. ';' .. largeur .. styleBonus .. '"'
	end
	
	if code == nil or '' then
		return nil
	elseif mw.ustring.sub(code, 1, 1) == '-' then
		tiret = true
		return mw.text.nowiki(obtenirCouleur(code))
	else
		return style()
	end
end

return p