Saltu al enhavo

Modulo:Style

El Vikifontaro

Dokumentado por ĉi tiu modulo povas esti kreata ĉe Modulo:Style/dokumentado

local sopcioj = {
	etm = 'font-variant:small-caps;',
	center = 'margin-left:auto;margin-right:auto;',
	table = 'display:table;',
	c = 'text-align:center;',
	lc = 'text-transform:lowercase;',
	uc = 'text-transform:uppercase;',
	cap = 'text-transform:capitalize;',
	sm = 'font-size:smaller;',
	int = 'letter-spacing:0.15em;',
	u = 'text-decoration:underline;',
}

local sparam = {
	g = 'font-size:%s;',
	font = 'font-family:%s;',
	kol = 'color:%s;',
	h = 'line-height:%s;',
	spa = 'letter-spacing:%s;',
	width = 'width:%s;',
	maxwidth = 'max-width:%s;',
	align = 'text-align:%s;',
	last = 'text-align-last:%s;-moz-text-align-last:%s;',
	antau = 'margin-top:%s;',
	post = 'margin-bottom:%s;',
	maldekstra = 'margin-left:%s;',
	dekstra = 'margin-right:%s;',
	tab = 'text-indent:%s;',
	mar = 'margin-left:%s;text-indent:-%s;',
	style = '%s;',
}

function sformat( frame )
	local args = frame.args
	local rezulto = ""
	for k,v in pairs(args) do
		if type( k ) == "number" and k > 1 and sopcioj[v] ~= nil then
			rezulto = rezulto .. sopcioj[v]
		elseif type( k ) == "string" and sparam[k] ~= nil and v ~= nil  then
			rezulto = rezulto .. string.format(sparam[k], v, v, v)
		end
	end
	return rezulto
end

local p = {}
function p.styl( frame )
    return  sformat( frame:getParent() )
end
return p