Basculer le menu
Changer de menu des préférences
Basculer le menu personnel
Non connecté(e)
Votre adresse IP sera visible au public si vous faites des modifications.
Version datée du 11 février 2014 à 22:32 par Modèle>Hlm Z.

La documentation pour ce module peut être créée à Module:Bandeau/doc

--Ce module implémente le modèle {{Bandeau}}.
 
local p = {}

p.classStructureBoite = 'bandeau-simple plainlinks'
p.styleStructureBoite = 'width:80%; margin:0 auto 1em; padding:0.5em; background:#f9f9f9; border-color:#aaa;'
p.styleStructureImage = 'display:table-cell; vertical-align:middle; width:50px;'
p.styleStructureTexte = 'display:table-cell; vertical-align:middle;'

local TableBuilder = require('Module:TableBuilder')

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

	structureHtml('div', args.class or p.classStructureBoite, p.styleStructureBoite)
	structureHtml('div', nil, p.styleStructureImage, args.image)
	structureHtmlFin('div')
	structureHtml('p', nil, p.styleStructureTexte, args.texte)
	structureHtmlFin('p')
	structureHtmlFin('div')

    --Code HTML brut
    if args.raw then
    	res = frame:preprocess('<nowiki>' .. tab.concat() .. '</nowiki>') .. '\n:Éxecution : ' .. os.clock() .. 's'
        return res
	else
		return tab.concat()
	end
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