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 listeCodes = mw.loadData('Module:Infobox Parti politique japonais/couleurs/data')
-- Fonction principale
function p.couleurParti(frame)
-- Fonction pour convertir un paramètre absent ou non rempli en chaîne vide
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)
-- 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 listeCodes[code]
end
-- Récupération de la couleur
local couleur = mef(obtenirCouleur(premierParametre))
-- Résultat
if couleur == '' then
return nil
elseif tiret == true then
return mw.text.nowiki(couleur) -- Applique nowiki pour ne pas générer une liste numérotée
elseif largeur == '' then
return 'bgcolor="' .. couleur .. '"'
else
return 'style="background-color: ' .. couleur .. '; width: ' .. largeur .. ';"'
end
end
return p