Module:Bac à sable
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.
La documentation de ce module est générée par le modèle {{Documentation module}}.
Elle est incluse depuis sa sous-page de documentation. Veuillez placer les catégories sur cette page-là.
Les éditeurs peuvent travailler dans le bac à sable (créer).
Voir les statistiques d'appel depuis le wikicode sur l'outil wstat et les appels depuis d'autres modules.
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"
}
--[[ Fonction qui renvoie la couleur HEX associée au code d'un parti politique et permet si besoin de la personnaliser avec des propriétés CSS :
si le code couleur rentré commence par un tiret, renvoie la couleur seule ;
si non, renvoie l'attribut HTML style contenant les propriétés :
- background-color:#(couleur);
- width:(largeur); si le paramètre largeur est complété
- la valeur du paramètre style s'il est complété ]]
function p.couleurParti(frame)
-- Fonction pour mettre en forme les paramètres
local function mef(parametre)
if type(parametre) ~= 'string' then
parametre = ''
end
return parametre
end
-- Récupération des paramètres
local pframe = frame:getParent()
local args = pframe.args
local premierParametre = mef(args[1])
local largeur = mef(args.largeur)
local styleBonus = mef(args.style)
-- Vérification de la présence d'un tiret en première position
local tiret = false
if mw.ustring.sub(premierParametre, 1, 1) == '-' then
tiret = true
end
-- Fonction pour récupérer la couleur 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
-- Récupération de la couleur
local couleur = mef(obtenirCouleur(premierParametre))
-- Fonction générant l'attribut HTML style
local function style()
if largeur ~= '' then
largeur = ' width: ' .. largeur .. ';'
end
if styleBonus ~= '' then
styleBonus = ' ' .. styleBonus
end
return 'style="background-color: ' .. couleur .. ';' .. largeur .. styleBonus .. '"'
end
-- Résultat
if couleur == '' then
return ''
elseif tiret == true then
return mw.text.nowiki(couleur) -- Applique nowiki pour ne pas générer une liste numérotée
else
return style()
end
end
function p.test(frame)
local pframe = frame:getParent()
local args = pframe.args
local param = args.param
if param == nil or param == '' then
return nil
else
return 'not nil or empty'
end
end
return p