« Module:Bandeau » : différence entre les versions

De Lagny-sur-Marne Wiki
Aller à la navigation Aller à la recherche
0x010D (discussion | contributions)
Aucun résumé des modifications
0x010D (discussion | contributions)
Aucun résumé des modifications
Ligne 31 : Ligne 31 :
structureHtmlFin('div')
structureHtmlFin('div')
end
end
structureHtml('p', 'test-bandeau-texte', nil, args.texte or erreur(p.erreurArgumentTitre))
structureHtml('p', 'test-bandeau-texte', nil, argument(args.texte) or erreur(p.erreurArgumentTitre))
structureHtmlFin('p')
structureHtmlFin('p')
structureHtmlFin('div')
structureHtmlFin('div')

Version du 15 février 2014 à 23:02

--Ce module implémente le modè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 « titre » manquant'

function p.bandeau(frame) args = frame:getParent().args tab = TableBuilder.new()

--Code HTML brut if args.raw then res = frame:preprocess('' .. p._bandeau() .. '') .. '\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(args.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 'Erreur : ' .. texte .. '' 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