Module:Bandeau : Différence entre versions
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