« Module:Dièse couleur web » : différence entre les versions
Contenu supprimé Contenu ajouté
code style mediawiki |
échappement du "#" uniquement avec la fonction main(), invoquée par les modèles (à ce jour seulement {{Dièse couleur web}}, et c'est très bien comme cela), mais pas avec la fonction couleur(), appelée par les modules (à ce jour seulement Module:Infobox/Titre) |
||
Ligne 3 : | Ligne 3 : | ||
function p.couleur( value ) |
function p.couleur( value ) |
||
if value:sub( 1, 1 ) == '#' then |
if value:sub( 1, 1 ) == '#' then |
||
return |
return value -- déjà un code hexadécimal précédé du "#" |
||
elseif ( #value == 6 or #value == 3 or #value == 8 or #value == 4 ) and value:match( '^%x+$' ) then |
elseif ( #value == 6 or #value == 3 or #value == 8 or #value == 4 ) and value:match( '^%x+$' ) then |
||
return ' |
return '#' .. value -- code hexadécimal auquel on ajoute le "#" manquant |
||
else |
else |
||
return value |
return value -- nom de couleur HTML |
||
end |
end |
||
end |
end |
||
Ligne 13 : | Ligne 13 : | ||
function p.main( frame ) |
function p.main( frame ) |
||
local value = mw.text.trim( frame.args[ 1 ] ) |
local value = mw.text.trim( frame.args[ 1 ] ) |
||
local result = p.couleur( value ) |
|||
-- échappement de l'éventuel "#" en début de résultat, en raison de [[phab:T14974]] |
|||
if result:sub( 1, 1 ) == '#' then |
|||
result = '#' .. result:sub( 2 ) |
|||
end |
|||
return result |
|||
end |
end |
||
Version du 12 janvier 2022 à 09:48
[voir] [modifier] [historique] [purger]
Ce module Lua est utilisé par le modèle {{Dièse couleur web}}.
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 )
if value:sub( 1, 1 ) == '#' then
return value -- déjà un code hexadécimal précédé du "#"
elseif ( #value == 6 or #value == 3 or #value == 8 or #value == 4 ) and value:match( '^%x+$' ) then
return '#' .. value -- code hexadécimal auquel on ajoute le "#" manquant
else
return value -- nom de couleur HTML
end
end
function p.main( frame )
local value = mw.text.trim( frame.args[ 1 ] )
local result = p.couleur( value )
-- échappement de l'éventuel "#" en début de résultat, en raison de [[phab:T14974]]
if result:sub( 1, 1 ) == '#' then
result = '#' .. result:sub( 2 )
end
return result
end
return p