Modulo:Pdmix

El Vikifontaro

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

function pdtext( frame )
	local args = frame.args
	local rezulto = "''La teksto estas '''[[w:Publika havaĵo|publika havaĵo]]''' ('''public domain'''). Detaloj pri la licenco troviĝas ĉe "
	local aut={}
	local trad={}
	for k,v in pairs(args) do
		if (k == 1 or string.sub(k,1,1) == 'a') and (v ~= '' and v ~= nil) then
			table.insert (aut,1,v)
		end
		if (k == 2 or string.sub(k,1,1) == 't') and (v ~= '' and v ~= nil) then
			table.insert (trad,1,v)
		end
	end

	if (#aut + #trad) > 1 then
		rezulto = rezulto .. "la paĝoj "
	else
		rezulto = rezulto .. "la paĝo "		
	end
	
	if #aut > 1 then
		rezulto = rezulto .. "de la aŭtoroj:"
	elseif #aut == 1 then
		rezulto = rezulto .. "de la aŭtoro:"
	end
	
	for k,v in pairs(aut) do
		rezulto = rezulto .. " [[Aŭtoro:" .. v .. "|" .. v .. "]],"
	end
	
	if #aut > 0 then
	rezulto = string.sub( rezulto, 1, #rezulto-1 )
	end

	if #trad > 0 and #aut > 0 then
		rezulto = rezulto .. " kaj"
	else
		rezulto = rezulto .. " "
	end
	
	if #trad > 1 then
		rezulto = rezulto .. " de la tradukintoj:"
	elseif #trad == 1 then
		rezulto = rezulto .. " de la tradukinto:"
	end
	
	for k,v in pairs(trad) do
		rezulto = rezulto .. " [[Aŭtoro:" .. v .. "|" .. v .. "]],"
	end

	rezulto = string.sub( rezulto, 1, #rezulto-1 )
	rezulto = rezulto .. ".''"
	return rezulto
end

function pdkod ( pdkomunikat )
	local div_image = mw.html.create( 'div' )
	div_image
		:css( 'float', 'left' )
		:wikitext( '[[Image:PD-icon.svg|20px|alt=|link=]]' )
	local div_main = mw.html.create( 'div' )
	div_main
		:css( {['text-align']='center', ['font-size']='90%'} )
		:node(div_image)	
		:wikitext( pdkomunikat )
	local div_ramka = mw.html.create( 'div' )
	div_ramka
		:attr('id', 'Template_law')
		:addClass( 'toccolours' )
		:css( 'border-width', '1px 0 0 0' )
		:node(div_main)
	local kod = '<br>' .. tostring(div_ramka:allDone())
    return kod

end
local p = {}
function p.pdtext( frame )
    return pdkod( pdtext( frame:getParent() ) )
end
return p