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 parametre1 = 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(parametre1, 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(parametre1))
-- 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 'style="background-color: ' .. couleur .. '; width: ' .. largeur .. ';"'
else
return 'bgcolor="' .. couleur .. '"'
end
end
function p.obtCouleurTest(code)
if mw.ustring.sub(code, 1, 1) == '-' then
code = mw.ustring.sub(code, 2) -- Retrait du tiret pour la recherche dans la table des codes
end
return listeCodes[code]
end
local function statut(parametre)
if type(parametre) == 'string' then
if parametre == '' then
return "'''empty " .. type(parametre) .. "'''"
else
return "'''full " .. type(parametre) .. "'''"
end
else
return "'''" .. type(parametre) .. "'''"
end
end
function p.test(frame)
local pframe = frame:getParent()
local args = pframe.args
local parametre1 = args[1]
local contenu = args.contenu
return 'parametre1 = ' .. statut(parametre1) .. ' / ' .. 'contenu = ' .. statut(contenu)
end
return p