Module:Lángi
La documentation pour ce module peut être créée à Module:Lángi/doc
local p = {}
function p.nuance(frame)
local nuancier = mw.loadData('Module:Lángi/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:Lángi/Data'
-- destiné à la documentation de ce sous-module, pour aider à choisir une couleur.
function p.nuancier( frame )
local list = mw.loadData('Module:Lángi/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