« Module:Bandeau » : différence entre les versions
Aller à la navigation
Aller à la recherche
Modèle>Hlm Z. Aucun résumé des modifications |
Modèle>Hlm Z. Aucun résumé des modifications |
||
| Ligne 37 : | Ligne 37 : | ||
return tab.concat() | return tab.concat() | ||
end | end | ||
function p.ebauche(frame) | |||
args = frame:getParent().args | |||
tab = TableBuilder.new() | |||
--Construction HTML du bandeau | |||
structureHtml('div', 'test-bandeau-article test-bandeau-niveau-information plainlinks') | |||
if argument('image') then | |||
structureHtml('div', 'test-bandeau-image', nil, args.image) | |||
structureHtmlFin('div') | |||
end | |||
structureHtml('p', 'test-bandeau-texte', nil, argument('texte') or erreur(p.erreurArgumentTitre)) | |||
structureHtmlFin('p') | |||
structureHtmlFin('div') | |||
return tab.concat() | |||
end | |||
function argument(parametre) | function argument(parametre) | ||
Version du 15 février 2014 à 23:19
La documentation pour ce module peut être créée à Module:Bandeau/doc
--Ce module implémente le modèle {{Bandeau}}.
local p = {}
local TableBuilder = require('Module:TableBuilder')
p.classStructureBoite = 'bandeau-simple plainlinks'
p.styleStructureBoite = 'background:#f9f9f9;'
p.styleStructureImage = 'display:table-cell; vertical-align:middle; width:50px;'
p.styleStructureTexte = 'display:table-cell; vertical-align:middle;'
p.erreurArgumentTitre = 'Paramètre « texte » manquant'
function p.bandeau(frame)
args = frame:getParent().args
tab = TableBuilder.new()
--Code HTML brut
if args.raw then
res = frame:preprocess('<nowiki>' .. p._bandeau() .. '</nowiki>') .. '\n:Éxecution : ' .. os.clock() .. 's'
return res
else
return p._bandeau()
end
end
function p._bandeau()
--Construction HTML du bandeau
structureHtml('div', argument('class') or p.classStructureBoite)
if argument('image') then
structureHtml('div', 'test-bandeau-image', nil, args.image)
structureHtmlFin('div')
end
structureHtml('p', 'test-bandeau-texte', nil, argument('texte') or erreur(p.erreurArgumentTitre))
structureHtmlFin('p')
structureHtmlFin('div')
return tab.concat()
end
function p.ebauche(frame)
args = frame:getParent().args
tab = TableBuilder.new()
--Construction HTML du bandeau
structureHtml('div', 'test-bandeau-article test-bandeau-niveau-information plainlinks')
if argument('image') then
structureHtml('div', 'test-bandeau-image', nil, args.image)
structureHtmlFin('div')
end
structureHtml('p', 'test-bandeau-texte', nil, argument('texte') or erreur(p.erreurArgumentTitre))
structureHtmlFin('p')
structureHtmlFin('div')
return tab.concat()
end
function argument(parametre)
--Test de paramètre vide interprété par Lua
if args[parametre] == '' then return nil end
return args[parametre]
end
function erreur(texte)
return '<span class="error">Erreur : ' .. texte .. '</span>'
end
function structureHtml(balise, class, style, contenu)
tab.insert('<')
.insert(balise)
if class then
tab.insert(' class="')
.insert(class)
.insert('"')
end
if style then
tab.insert(' style="')
.insert(style)
.insert('"')
end
tab.insert('>')
.insert(contenu)
end
function structureHtmlFin(balise)
tab.minsert('</', balise, '>')
end
return p