Module:Dièse couleur web/Bac à sable
[voir] [modifier] [historique] [purger]
Utilisation
modifierCe module Lua est utilisé par le modèle {{Dièse couleur web}}. Il fournit une fonction permettant d'ajouter un éventuel # à un code hexadécimal pour en faire un code hexadécimal de couleur.
Fonctions exportables
modifiermain( frame )
– Prend en argument un frame de la forme { couleur, couleur_défaut }. Retourne couleur si couleur est non vide et #couleur si couleur est un code hexadécimal ; si couleur est vide, retourne la même chose pour couleur_défaut.couleur( value, echappe )
–value
est un code hexadécimal ou un nom de couleur,echappe
est un booléen valantfalse
par défaut. Retourne value si value est non vide et #value si value est un code hexadécimal. Si echappe vaut true, le # est échappé.
Modules externes et autres éléments dont ce module a besoin pour fonctionner
modifiermw.text.trim
– Enlève les espaces au début et à la fin d'une chaine de caractères.
Modèles appelant directement ce module
modifier- Modèle:Dièse couleur web (utilise
main
)
Modules lua utilisant ce module
modifier- Module:Infobox/Titre (utilise
couleur
)
Exemples
modifierAppel depuis un modèle
modifierDans Modèle:Dièse couleur web, ce module est appelé par le code :
{{#invoke:Dièse couleur web|main|1={{{1}}}|2={{{2|}}}}}
Appel depuis un module
modifierDans Module:Infobox/Titre, ce module est appelé par le code :
local couleur = require( 'Module:Dièse couleur web' ).couleur
return 'background-color:' .. couleur( background ) .. ';'
.. 'color:' .. couleur( color ) .. ';'
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 (modifier).
Voir les statistiques d'appel depuis le wikicode sur l'outil wstat et les appels depuis d'autres modules.
local p = {}
function p.couleur( value, echappe )
if echappe == nil then
echappe = false
end
if value:sub( 1, 1 ) == '#' then
-- déjà un code hexadécimal précédé du "#"
if echappe then
return '#' .. value:sub( 2 )
else
return value
end
elseif ( #value == 6 or #value == 3 or #value == 8 or #value == 4 ) and value:match( '^%x+$' ) then
-- code hexadécimal auquel on ajoute le "#" manquant
if echappe then
return '#' .. value
else
return '#' .. value
end
else
-- nom de couleur HTML
return value
end
end
function p.main( frame )
local args = frame.args
local value = mw.text.trim( args[ 1 ] or '' )
if value == '' then
value = mw.text.trim( args[ 2 ] or '' )
end
-- paramètre "echappe" à true,
-- pour échappement de l'éventuel "#" en début de résultat, en raison de [[phab:T14974]]
return p.couleur( value, true )
end
return p