Modulo:Content
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