Modulo:Content

Da Wikisource.

La documentazione per questo modulo può essere creata in Modulo:Content/man

local p={}
-- analogi di Indice sommario
-- riceve nome, titolo, from e delta
function p.build(frame)
	frame=frame:getParent()
	local base="Pagina:" .. mw.title.getCurrentTitle().rootText
	local nome=frame.args["nome"]
	local titolo=frame.args["titolo"]
	local from=frame.args["from"]
	local delta=frame.args["delta"]
	local pag=delta
	local testo=''
	local livello=0
	local data=""

-- costruzione di un attributo data-toc-data
-- i dati sono codificati analogamente a quanto fa urlencode(....|PATH) per evitare problemi nei casi di titoli opere
-- che contengono alcuni caratteri critici (es. apostrofi)
-- la funzione js che trasforma i dati codificati in un oggetto js è:
-- JSON.parse(decodeURIComponent(stringa contenuta nell'attributo data))
	data='data-toc-data="'
	data=data .. mw.uri.encode('{"name":"'.. nome ..'","title":"'.. titolo ..'","from":"'.. from ..'","delta":"'.. delta ..'"}') ..'"'
	for i in string.gfind(nome, "[/#]") do
		livello = livello + 1
	end
	      
	if tonumber(delta) ~= nil and tonumber(from) ~= nil then
		pag = from - delta
	else
		pag=delta
	end
    if nome ~= "" then
		-- linkNs0 = '[[' .. nome .. '#pagename' .. from .. '|' .. titolo .. ']]'
		linkNs0 = '[[' .. nome .. '|' .. titolo .. ']]'
	else
		linkNs0= titolo
	end
	linkPage = pag
	if tonumber(from) ~= nil then
		linkPage = '[[' .. base .. "/" .. from .. '|' .. pag .. ']]'
	end
      
	testo='<table class="toc-data tableItem indice-sommario" '..data..'>'
		.. '<tr><td class="indice-sommario-titolo"><div style="padding-left:' .. livello .. 'em"><div class="dotted"><span class="opaque">' .. linkNs0 ..'</span></div></div></td>'
		.. '<td class="indice-sommario-num">' .. linkPage .. '</td></tr></table>'
	return testo
end 

return p