« Module:Dièse couleur web » : différence entre les versions
Contenu supprimé Contenu ajouté
convention : nommage "p" du module exporté |
j'aime bien comme ça, un peu plus lisible je trouve |
||
(14 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
local p = {} |
local p = {} |
||
function p.couleur(value) |
function p.couleur( value, echappe ) |
||
if |
if echappe == nil then |
||
echappe = false |
|||
end |
|||
elseif mw.ustring.match(value, '^%x%x%x%x%x%x$') or mw.ustring.match(value, '^%x%x%x$') then |
|||
if value:sub( 1, 1 ) == '#' then |
|||
-- déjà un code hexadécimal précédé du "#" |
|||
if echappe then |
|||
return '#' .. value:sub( 2 ) |
|||
else |
|||
⚫ | |||
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 |
else |
||
-- nom de couleur HTML |
|||
return value |
return value |
||
end |
end |
||
end |
end |
||
function p.main(frame) |
function p.main( frame ) |
||
local |
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 |
end |
||
Dernière version du 10 décembre 2023 à 10:29
[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, 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