Modul:Infobox/Titre

Ji Wîkîpediya, ensîklopediya azad.
Belgekirina modulê[biafirîne]
local p = { }

local trim = require( 'Module:Outils' ).trim
local yesno = require( 'Module:Yesno/fr' )

function p.templatestyles( pictogramme )
	pictogramme = trim( pictogramme )
	if not pictogramme then
		return ''
	end
	pictogramme = trim( pictogramme
		:gsub( '^entete ', '' )
		:gsub( '^entete$', '' )
		:gsub( ' entete$', '' )
		:gsub( ' entete ', ' ' )
	)
	if pictogramme and pictogramme ~= 'defaut' then
		if pictogramme:match( '%s' ) then
			return '[[Catégorie:Infobox avec plusieurs class]]'
		else
			return mw.getCurrentFrame():extensionTag( 
				'templatestyles',
				'',
				{ src = 'Infobox/Pictogramme/' .. mw.text.trim( pictogramme ) .. '.css' }
			)
		end
	end
	return ''
end

function p.couleurs( background, color )
	local couleur = require( 'Module:Dièse couleur web' ).couleur
	background = trim( background ) or '#E1E1E1'
	color = trim( color ) or 'black'
	
	return 'background-color:' .. couleur( background ) .. ';'
		.. 'color:' .. couleur( color ) .. ';'
end

function p.V2( frame )
	local args =  frame.getParent and frame:getParent().args or frame
	local colspan = trim( args[5] ) or '2'
	local texte = trim( args[1] ) or mw.title.getCurrentTitle().text
	local classes = trim( args[3] ) or 'defaut'
	local lang = args['lang'] or ''
	local italic = args['italic'] or ''
	local setDisplayTitle = args['setdisplaytitle']

	if lang ~= '' then
		local langueFunction = require( 'Module:Langue' ).langue
		texte = langueFunction( { lang, texte } )
	end
	if yesno(italic) then
		classes = classes .. ' italique'
	end
	local displayTitleEval = ''
	if yesno(setDisplayTitle) then
		local setDisplayTitleFunction = require( 'Module:Formatage du titre' ).setDisplayTitle
		displayTitleEval = setDisplayTitleFunction( { args = { lang = lang, italic = italic, options = 'noreplace' } } )
	end

	return 'colspan="' .. colspan .. '" '
		.. 'class="entete ' .. classes .. '" '
		.. 'style="' .. p.couleurs( args[2], args[4] ) .. '" '
		.. ' | '
		.. texte
		.. p.templatestyles( args[3] )
		.. displayTitleEval
end

return p