Module:Couleur
Ce module est destiné à stocker des fonctions utiles sur le traitement des couleurs.
La fonction p.nuance permet d'obtenir un code de couleur en hexadécimal lorsqu'un nom de couleur reconnu est rentré en argument. Dans le cas où l'argument rentré ne constitue pas un nom de couleur reconnu, la fonction le renvoie à l'identique. Par exemple, si l'on rentre un code de couleur en hexadécimal, ce code sera renvoyé sans modification.
Modules externes et autres éléments dont ce module a besoin pour fonctionner
modifierModule:Couleur/Data
– Tableau contenant la correspondance entre le nom des couleurs et le code hexadécimal correspondant.
Exemples
modifier{{#invoke:Couleur|nuance|ocre}} nous donne : c4a000
{{#invoke:Couleur|nuance|a27ed3}} nous donne : a27ed3
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 = {}
function p.nuance(frame)
local nuancier = mw.loadData('Module:Couleur/Data')
local param =frame.args[1]
local code = nuancier[string.lower(param)]
if code == nil then
return param
else
return code
end
end
-- fonction destiné à affiché l'ensemble des couleurs de 'Module:Couleur/Data'
-- destiné à la documentation de ce sous-module, pour aider à choisir une couleur.
function p.nuancier( frame )
local list = mw.loadData('Module:Couleur/Data')
local sortList = {}
for name, _ in pairs( list ) do
table.insert( sortList, name )
end
table.sort( sortList )
local colorNode = function( name, color )
local node = mw.html.create( 'li' )
node:cssText( 'display:inline-block; margin-left:.2em; width:7em; height:5em; vertical-align:top;' )
:tag( 'div' )
:cssText( 'border:1px solid grey; margin:.2em; padding:.2em;' )
:css( 'background-color', '#' .. color )
:wikitext( '\194\160' )
:done()
:wikitext( name )
:done()
return node
end
local root = mw.html.create( 'div' )
root:addClass( 'mw-collapsible' )
:cssText( 'margin:2em; border:1px solid grey; background-color:white; padding:0.2em 1em;' )
:tag( 'h2' )
:cssText( 'border:0; margin:.5em;' )
:wikitext( 'Nuancier' )
:done()
local ul = root:tag( 'ul' )
ul :addClass( 'mw-collapsible-content' )
:cssText( 'margin:0; text-align:center; font-size:90%; line-height:1.25em;' )
for i, name in ipairs( sortList ) do
ul :node( colorNode( name, list[ name ] ) )
end
return tostring( root )
end
return p