Module:Enfocajon/Titro

De Vouiquipèdia, l’enciclopèdia abada.

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

local p = {}

local trim = require( 'Module:Outils' ).trim

local _moduleYesno
local function yesno( ... )
	if not _moduleYesno then
		_moduleYesno = require( 'Module:Yesno' )
	end
	return _moduleYesno( ... )
end

function p.templatestyles( pictogramo )
	pictogramo = trim( pictogramo )
	if not pictogramo then
		return ''
	end
	pictogramo = pictogramo
		:gsub( '^en-teta +', '' )
		:gsub( '^en-teta$', '' )
		:gsub( ' +en-teta$', '' )
		:gsub( ' +en-teta +', ' ' )
	if pictogramo ~= '' and pictogramo ~= 'defot' then
		if pictogramo:match( '%s' ) then
			return '[[Catègorie:Enfocajon avouéc un mouél de class]]'
		else
			return mw.getCurrentFrame():extensionTag(
				'templatestyles',
				'',
				{ src = 'Enfocajon/Pictogramo/' .. pictogramo .. '.css' }
			)
		end
	end
	return ''
end

function p.colors( background, color )
	local coleur = require( 'Module:Dièso color Vouèbe' ).coleur
	background = trim( background ) or '#E1E1E1'
	color = trim( color ) or 'black'

	return 'background-color:' .. coleur( background ) .. ';'
		.. 'color:' .. coleur( color ) .. ';'
end

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

	if lang ~= '' then
		local lengouaFunction = require( 'Module:Lengoua' ).lengoua
		texto = lengouaFunction( { lang, texto } )
	end
	if italic ~= '' and yesno( italic ) then
		classes = classes .. ' étalico'
	end
	local displayTitleEval = ''
	if setDisplayTitle ~= '' and yesno( setDisplayTitle ) then
		local setDisplayTitleFunction = require( 'Module:Formatâjo du titro' ).setDisplayTitle
		displayTitleEval = setDisplayTitleFunction( { args = { lang = lang, italic = italic, options = 'noreplace' } } )
	end

	return 'colspan="' .. colspan .. '" '
		.. 'class="en-teta ' .. classes .. '" '
		.. 'style="' .. p.colors( args[ 2 ], args[ 4 ] ) .. '" '
		.. ' | '
		.. texto
		.. p.templatestyles( args[ 3 ] )
		.. displayTitleEval
end

return p