Aller au contenu

Module:Dièse couleur web

Cette page fait l’objet d’une mesure de semi-protection étendue.
Une page de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 20 juin 2016 à 08:31 et modifiée en dernier par Od1n (discuter | contributions) (A protégé « Module:Dièse couleur web » : Modèle très utilisé ([Modifier=Autoriser uniquement les utilisateurs autoconfirmés] (infini) [Renommer=Autoriser uniquement les utilisateurs autoconfirmés] (infini))). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.

 Documentation[voir] [modifier] [historique] [purger]

Utilisation

Ce 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

  • main( 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 valant false 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

  • mw.text.trim – Enlève les espaces au début et à la fin d'une chaine de caractères.

Modèles appelant directement ce module

Modules lua utilisant ce module

Exemples

Appel depuis un modèle

Dans 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

Dans 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 ) .. ';'
local z = {}

function z.main(frame)

    local value = mw.text.trim(frame.args[1])

    if value:find('#') == 1 then
        return '#' .. value:sub(2)
    elseif mw.ustring.match(value, '^%x%x%x%x%x%x$') or mw.ustring.match(value, '^%x%x%x$') then
        return '#' .. value
    else
        return value
    end
end

return z