Modulo:Pg
La documentazione per questo modulo può essere creata in Modulo:Pg/man
local p = {}
local indici= {}
-- abbreviazioni per opere multi-indice con indici analitici finali
indici["ul1"]="Bartoli - Dell'uomo di lettere I.djvu"
indici["ul2"]="Bartoli - Dell'uomo di lettere II.djvu"
indici["v1"]="Vasari - Le vite de’ piu eccellenti pittori, scultori, et architettori, 1-2, 1568.djvu"
indici["v2"]="Vasari - Le vite de’ piu eccellenti pittori, scultori, et architettori, 3-1, 1568.djvu"
indici["v3"]="Vasari - Le vite de' piu eccellenti pittori, scultori, et architettori, 3-2, 1568.djvu"
indici["bI"]="Sonetti romaneschi I.djvu"
indici["bII"]="Sonetti romaneschi II.djvu"
indici["bIII"]="Sonetti romaneschi III.djvu"
indici["bIV"]="Sonetti romaneschi IV.djvu"
indici["bV"]="Sonetti romaneschi V.djvu"
indici["bVI"]="Sonetti romaneschi VI.djvu"
indici["dec1"]="Boccaccio - Decameron I.djvu"
indici["dec2"]="Boccaccio - Decameron II.djvu"
indici["polo1"]="Polo - Il milione, Pagani, Firenze 1827, I.djvu"
indici["polo2"]="Polo - Il milione, Pagani, Firenze 1827, II.djvu"
indici["gio1"]="Gioberti - Del rinnovamento civile d'Italia, vol. 1, 1911 - BEIC 1832099.djvu"
indici["gio2"]="Gioberti - Del rinnovamento civile d'Italia, vol. 2, 1911 - BEIC 1832860.djvu"
indici["gio3"]="Gioberti - Del rinnovamento civile d'Italia, vol. 3, 1912 - BEIC 1833665.djvu"
indici["ban1"]="Bandello - Novelle, Laterza 1910, I.djvu"
indici["ban2"]="Bandello - Novelle, Laterza 1910, II.djvu"
indici["ban3"]="Bandello - Novelle, Laterza 1911, III.djvu"
indici["ban4"]="Bandello - Novelle, Laterza 1911, IV.djvu"
indici["ban5"]="Bandello - Novelle, Laterza 1912, V.djvu"
indici["goz1"]="Gozzi - Memorie Inutili, vol 1, 1910 - BEIC 1837632.djvu"
indici["goz2"]="Gozzi - Memorie Inutili, vol 2, 1910 - BEIC 1838429.djvu"
indici["ml12"]="Le mille e una notti, 1852, I-II.djvu"
indici["ml34"]="Le mille ed una notti, 1852, III-IV.djvu"
indici["ml56"]="Le mille ed una notti, 1852, V-VI.djvu"
indici["ml78"]="Le mille ed una notti, 1852, VII-VIII.djvu"
indici["si1"]="Balbo, Cesare – Della storia d'Italia dalle origini fino ai nostri giorni, Vol. I, 1913 – BEIC 1740806.djvu"
indici["si2"]="Balbo, Cesare – Storia d'Italia dalle origini fino ai nostri giorni, Vol. II, 1914 – BEIC 1741401.djvu"
indici["cc1"]="Cristoforo Colombo- storia della sua vita e dei suoi viaggi - Volume I (1857).djvu"
indici["cc2"]="Cristoforo Colombo- storia della sua vita e dei suoi viaggi - Volume II (1857).djvu"
indici["t1"] = "Tiraboschi - Storia della letteratura italiana, Tomo I, Classici italiani, 1822, I.djvu"
indici["t2"] = "Tiraboschi - Storia della letteratura italiana, Tomo II, Classici italiani, 1823, II.djvu"
indici["t3"] = "Tiraboschi - Storia della letteratura italiana, Tomo III, Classici italiani, 1823, III.djvu"
indici["t4"] = "Tiraboschi - Storia della letteratura italiana, Tomo IV, Classici italiani, 1823, IV.djvu"
indici["t5"] = "Tiraboschi - Storia della letteratura italiana, Tomo V, parte 1, Classici Italiani, 1823, V.djvu"
indici["t6"] = "Tiraboschi - Storia della letteratura italiana, Tomo V, parte 2, Classici italiani, 1823, VI.djvu"
indici["t7"] = "Tiraboschi - Storia della letteratura italiana, Tomo VI, parte 1, Classici italiani, 1824, VII.djvu"
indici["t8"] = "Tiraboschi - Storia della letteratura italiana, Tomo VI, parte 2, Classici italiani, 1824, VIII.djvu"
indici["t9"] = "Tiraboschi - Storia della letteratura italiana, Tomo VI, parte 3, Classici italiani, 1824, IX.djvu"
indici["t10"] = "Tiraboschi - Storia della letteratura italiana, Tomo VII, parte 1, Classici italiani, 1824, X.djvu"
indici["t11"] = "Tiraboschi - Storia della letteratura italiana, Tomo VII, parte 2, Classici italiani, 1824, XI.djvu"
indici["t12"] = "Tiraboschi - Storia della letteratura italiana, Tomo VII, parte 3, Classici italiani, 1824, XII.djvu"
indici["t13"] = "Tiraboschi - Storia della letteratura italiana, Tomo VII, parte 4, Classici italiani, 1824, XIII.djvu"
indici["t14"] = "Tiraboschi - Storia della letteratura italiana, Tomo VIII, parte 1, Classici italiani, 1824, XIV.djvu"
indici["t15"] = "Tiraboschi - Storia della letteratura italiana, Tomo VIII, parte 2, Classici italiani, 1824, XV.djvu"
indici["t16"] = "Tiraboschi - Storia della letteratura italiana, Tomo IX, Indici, Classici italiani, 1826, XVI.djvu"
indici["gui1"] = "Guicciardini, Francesco – Storia d'Italia, Vol. I, 1929 – BEIC 1845433.djvu"
indici["gui2"] = "Guicciardini, Francesco – Storia d'Italia, Vol. II, 1929 – BEIC 1846262.djvu"
indici["gui3"] = "Guicciardini, Francesco – Storia d'Italia, Vol. III, 1929 – BEIC 1846967.djvu"
indici["gui4"] = "Guicciardini, Francesco – Storia d'Italia, Vol. IV, 1929 – BEIC 1847812.djvu"
indici["gui5"] = "Guicciardini, Francesco – Storia d'Italia, Vol. V, 1929 – BEIC 1848561.djvu"
indici["gui8"] = "Guicciardini, Francesco – Scritti politici e ricordi, 1933 – BEIC 1844634.djvu"
indici["gui9"] = "Guicciardini, Francesco – Scritti autobiografici e rari, 1936 – BEIC 1843787.djvu"
indici["n1"] = "I Nibelunghi, Hoepli, 1889, I.djvu"
indici["n2"] = "I Nibelunghi, Hoepli, 1889, II.djvu"
indici["alf1"] = "Alfieri, Vittorio – Tragedie, Vol. I, 1946 – BEIC 1727075.djvu"
indici["alf2"] = "Alfieri, Vittorio – Tragedie, Vol. II, 1946 – BEIC 1727862.djvu"
indici["alf3"] = "Alfieri, Vittorio – Tragedie, Vol. III, 1947 – BEIC 1728689.djvu"
indici["sar1"] = "Sarpi, Paolo – Istoria del Concilio tridentino, Vol. I, 1935 – BEIC 1916022.djvu"
indici["sar2"] = "Sarpi, Paolo – Istoria del Concilio tridentino, Vol. II, 1935 – BEIC 1916917.djvu"
indici["sar3"] = "Sarpi, Paolo – Istoria del Concilio tridentino, Vol. III, 1935 – BEIC 1917972.djvu"
indici["mar1"] = "Doni, Anton Francesco – I marmi, Vol. I, 1928 – BEIC 1814190.djvu"
indici["mar2"] = "Doni, Anton Francesco – I marmi, Vol. II, 1928 – BEIC 1814755.djvu"
indici["di1"] = "Diario del principe Agostino Chigi Albani I.djvu"
indici["di2"] = "Diario del principe Agostino Chigi Albani II.djvu"
indici["fr1"] = "La fine di un regno, parte I, 1909.djvu"
indici["fr2"] = "La fine di un regno, parte II, 1909.djvu"
indici["fr3"] = "La fine di un regno, parte III, 1909.djvu"
indici["to1"] = "Toaldo - Completa raccolta di opuscoli osservazioni e notizie diverse contenute nei giornali astro-meteorologici, Vol 1 - 1802.djvu"
indici["to2"] = "Toaldo - Completa raccolta di opuscoli osservazioni e notizie diverse contenute nei giornali astro-meteorologici, Vol 2 - 1802.djvu"
indici["to3"] = "Toaldo - Completa raccolta di opuscoli osservazioni e notizie diverse contenute nei giornali astro-meteorologici, Vol 3 - 1802.djvu"
indici["to4"] = "Toaldo - Completa raccolta di opuscoli osservazioni e notizie diverse contenute nei giornali astro-meteorologici, Vol 4 - 1803.djvu"
indici["set1"] = "Settembrini, Luigi – Ricordanze della mia vita, Vol. I, 1934 – BEIC 1926061.djvu"
indici["set2"] = "Settembrini, Luigi – Ricordanze della mia vita, Vol. II, 1934 – BEIC 1926650.djvu"
indici["srn1"] = "Storia del reame di Napoli dal 1734 sino al 1825 I.pdf"
indici["srn2"] = "Storia del reame di Napoli dal 1734 sino al 1825 II.pdf"
indici["cron1"] = "Salimbene de Adam – Cronica, Vol. I, 1942 – BEIC 1910163.djvu"
indici["du1"]="Vico, Giambattista – Il diritto universale, Vol. I, 1936 – BEIC 1960672.djvu"
indici["du2"]="Vico, Giambattista – Il diritto universale, Vol. II, 1936 – BEIC 1961223.djvu"
indici["du3"]="Vico, Giambattista – Il diritto universale, Vol. III, 1936 – BEIC 1961890.djvu"
indici["sof1"]="Tragedie di Sofocle (Romagnoli) I.djvu"
indici["sof2"]="Tragedie di Sofocle (Romagnoli) II.djvu"
indici["sof3"]="Tragedie di Sofocle (Romagnoli) III.djvu"
indici["pr1"]="Calani - Il Parlamento del Regno d'Italia.pdf"
indici["pr2"]="Calani - Il Parlamento del Regno d'Italia, vol 2.pdf"
indici["pr3"]="Calani - Il Parlamento del Regno d'Italia, vol 3.pdf"
indici["of1"]="Odi di Pindaro (Romagnoli) I.djvu"
indici["of2"]="Odi di Pindaro (Romagnoli) II.djvu"
indici["eu1"]="Tragedie di Euripide (Romagnoli) I.djvu"
indici["eu2"]="Tragedie di Euripide (Romagnoli) II.djvu"
indici["eu3"]="Tragedie di Euripide (Romagnoli) III.djvu"
indici["eu4"]="Tragedie di Euripide (Romagnoli) IV.djvu"
indici["eu5"]="Tragedie di Euripide (Romagnoli) V.djvu"
indici["eu6"]="Tragedie di Euripide (Romagnoli) VI.djvu"
indici["api1"]="Storia degli antichi popoli italiani - Vol. I.djvu"
indici["api2"]="Storia degli antichi popoli italiani - Vol. II.djvu"
indici["api3"]="Storia degli antichi popoli italiani - Vol. III.djvu"
indici["ps1"]="Parlamento subalpino - Atti parlamentari, 1853-54, Documenti I.pdf"
indici["ps2"]="Parlamento subalpino - Atti parlamentari, 1853-54, Documenti II.pdf"
indici["ps3"]="Parlamento subalpino - Atti parlamentari, 1853-54, Documenti.pdf"
indici["dss11"]="De Sanctis, Francesco – Storia della letteratura italiana, Vol. I, 1912 – BEIC 1806199.djvu"
indici["dss12"]="De Sanctis, Francesco – Storia della letteratura italiana, Vol. II, 1912 – BEIC 1807957.djvu"
indici["ariomin1"]="Ariosto-Op.minori.1-(1857).djvu"
indici["ariomin2"]="Ariosto-Op.minori.2-(1857).djvu"
indici["sdI"]="Gibbon - Storia della decadenza e rovina dell'Impero romano I.djvu"
indici["sdII"]="Gibbon - Storia della decadenza e rovina dell'Impero romano II.djvu"
indici["sdIII"]="Gibbon - Storia della decadenza e rovina dell'Impero romano III.djvu"
indici["sdIV"]="Gibbon - Storia della decadenza e rovina dell'Impero romano IV.djvu"
indici["sdV"]="Gibbon - Storia della decadenza e rovina dell'Impero romano V.djvu"
indici["sdVI"]="Gibbon - Storia della decadenza e rovina dell'Impero romano VI.djvu"
indici["sdVII"]="Gibbon - Storia della decadenza e rovina dell'Impero romano VII.djvu"
indici["sdVIII"]="Gibbon - Storia della decadenza e rovina dell'Impero romano VIII.djvu"
indici["sdIX"]="Gibbon - Storia della decadenza e rovina dell'Impero romano IX.djvu"
indici["sdX"]="Gibbon - Storia della decadenza e rovina dell'Impero romano X.djvu"
indici["sdXI"]="Gibbon - Storia della decadenza e rovina dell'Impero romano XI.djvu"
indici["sdXII"]="Gibbon - Storia della decadenza e rovina dell'Impero romano XII.djvu"
indici["sdXIII"]="Gibbon - Storia della decadenza e rovina dell'Impero romano XIII.djvu"
indici["oi1"]="Boiardo - Orlando innamorato I.djvu"
indici["oi2"]="Boiardo - Orlando innamorato II.djvu"
indici["oi3"]="Boiardo - Orlando innamorato III.djvu"
indici["dul1"]="Bartoli - Dell'uomo di lettere I.djvu"
indici["dul2"]="Bartoli - Dell'uomo di lettere II.djvu"
-- in nsPagina riceve un numero di pagina del libro e restituisce il link alla pagina djvu che contiene la pagina
function p.b2dt(frame)
local base = mw.title.getCurrentTitle()
local rootText=base.rootText
local parent = frame:getParent()
local paginaLibro=parent.args[1]
local ancora=nil
local pos=string.find(paginaLibro,"#")
if pos~=nil then
ancora=string.sub(paginaLibro,pos+1)
paginaLibro=string.sub(paginaLibro,1,pos-1)
end
-- un eventuale terzo parametro di Pg indica una fonte dati alternativa
if parent.args[3] and parent.args[3]~="" then
-- if parent.args[3]=="polo1" then
-- rootText="Polo - Il milione, Pagani, Firenze 1827, I.djvu"
-- end
-- if parent.args[3]=="polo2" then
-- rootText="Polo - Il milione, Pagani, Firenze 1827, II.djvu"
-- end
if indici[parent.args[3]]==nil then
rootText=parent.args[3]
else
rootText=indici[parent.args[3]]
end
end
local paginaDati="Module:Dati/"..rootText
local ok,pagine = pcall(mw.loadData,paginaDati)
local pageDisplay = paginaLibro
if string.find(pageDisplay,"%.") then
pageDisplay=string.sub(pageDisplay,1,string.find(pageDisplay,"%.")-1)
end
if parent.args[2] and parent.args[2] ~="" then
pageDisplay=parent.args[2]
end
if ok then
local pageDjvu = pagine.b2d[paginaLibro]
if pageDjvu then
if ancora==nil then
return '[[Pagina:'..rootText..'/'..pageDjvu..'|'..pageDisplay..']]'
else
return '[[Pagina:'..rootText..'/'..pageDjvu.."#"..ancora..'|'..pageDisplay..']]'
end
end
end
return parent.args[1].."??"..'<!-- errore Pg -->[[Categoria:Pagine con errori in Pg]]'
end
-- in ns0 riceve un numero di pagina del libro e restituisce il link al capitolo che contiene la pagina
function p.b2ns0(frame)
local titolo=mw.title.getCurrentTitle()
local parent = frame:getParent()
local paginaDati=""
local testo=""
local paginaLibro=parent.args[1]
local ancora=nil
local pos=string.find(paginaLibro,"#")
if pos~=nil then
ancora=string.sub(paginaLibro,pos+1)
paginaLibro=string.sub(paginaLibro,1,pos-1)
end
if parent.args[3] and parent.args[3]~="" then
-- if parent.args[3]=="polo1" then
-- paginaDati="Module:Dati/Polo - Il milione, Pagani, Firenze 1827, I.djvu"
-- end
-- if parent.args[3]=="polo2" then
-- paginaDati="Module:Dati/Polo - Il milione, Pagani, Firenze 1827, II.djvu"
-- end
if indici[parent.args[3]]==nil then
paginaDati="Module:Dati/"..parent.args[3]
else
paginaDati="Module:Dati/"..indici[parent.args[3]]
end
else
testo=titolo:getContent()
if testo then
paginaDati="Module:Dati/".. (string.match(testo,'index="([^"]-)"') or '')
else
return paginaLibro
end
end
local ok,pagine = pcall(mw.loadData,paginaDati)
local pageDisplay = paginaLibro
if string.find(pageDisplay,"%.") then
pageDisplay=string.sub(pageDisplay,1,string.find(pageDisplay,"%.")-1)
end
if parent.args[2] and parent.args[2] ~= "" then
pageDisplay=parent.args[2]
end
if ok then
paginaDjvu=pagine.b2d[paginaLibro]
for i,v in pairs(pagine.cap) do
if not v.from or not v.to or not paginaDjvu then
return pageDisplay..'??'..'<!-- errore Pg -->[[Categoria:Pagine con errori in Pg]]'
else
if paginaDjvu >= v.from and paginaDjvu <=v.to then
if ancora==nil then
return '[['..v.nome.."#pagename"..paginaDjvu..'|'..pageDisplay..']]'
else
return '[['..v.nome.."#"..ancora..'|'..pageDisplay..']]'
end
end
end
end
end
return paginaLibro
end
-- in ns0 restituisce l'indice di eventuali sottocapitoli del capitolo
function p.indice(frame)
local titolo=mw.title.getCurrentTitle()
local testo=titolo:getContent()
local paginaDati="Module:Dati/"..string.match(testo,'index="([^"]-)"')
if paginaDati==nil then
paginaDati="Module:Dati/"..string.match(testo,"URL della versione cartacea a fronte%s*=%s*Indice:([^%c]+)%c-")
end
local pagine=mw.loadData(paginaDati)
local testo="== INDICE ==\n"
local y=0
for i,v in pairs(pagine.cap) do
sottocapitolo=string.match(v.nome,titolo.text.."/(.+)")
if sottocapitolo ~= nil then
sottocapitolo,y=string.gsub(sottocapitolo,"/","/")
testo=testo..string.rep("*",y+1).." ''[["..v.nome.."|"..v.titolo.."]]''\n"
end
end
if testo=="== INDICE ==\n" then
testo=""
end
return testo
end
-- in nsPagina riceve una stringa-ancora e restituisce il link alla pagina djvu che contiene l'ancora
-- test in corso su Dizionario mitologico ad uso di giovinetti
function p.l1(frame)
local base = mw.title.getCurrentTitle()
local paginaDati="Module:Dati/"..base.rootText
local parent = frame:getParent()
local ok,pagine = pcall(mw.loadData,paginaDati)
local pageDisplay = parent.args[1]
local pageShow=pageDisplay
if parent.args[2] then
pageShow=parent.args[2]
end
if ok then
if pagine.p2d[parent.args[1]]==nil then
return parent.args[1]
else
return '[[Pagina:'..base.rootText..'/'..pagine.p2d[parent.args[1]]..'#'..pageDisplay..'|'..pageShow..']]'
end
end
return parent.args[1]
end
-- in ns0 costruisce il link sulla base dell'iniziale dell'ancora
-- test in corso su Dizionario mitologico ad uso di giovinetti
function p.l2(frame)
local titolo=mw.title.getCurrentTitle()
local testo=titolo:getContent()
local paginaDati="Module:Dati/"..string.match(testo,'index="([^"]-)"')
local ok,pagine = pcall(mw.loadData,paginaDati)
local parent = frame:getParent()
local pageDisplay = parent.args[1]
local pageShow=pageDisplay
if parent.args[2] then
pageShow=parent.args[2]
end
if ok then
local iniziale=mw.ustring.sub(parent.args[1],1,1)
if iniziale=="J" then iniziale="I" end
return '[['..'Dizionario mitologico ad uso di giovanetti/Mitologia/'..iniziale..'#'..pageDisplay..'|'..pageShow..']]'
end
return parent.args[1]
end
-- in nsPagina riceve una stringa-ancora e restituisce il link alla pagina djvu che contiene l'ancora
-- test in corso su Dizionario mitologico ad uso di giovinetti
function p.l3(frame)
local base = mw.title.getCurrentTitle()
local paginaDati="Module:Dati/"..base.rootText
local parent = frame:getParent()
local ok,pagine = pcall(mw.loadData,paginaDati)
local pageDisplay = parent.args[1]
if ok then
if pagine.p2d[parent.args[1]]==nil then
return parent.args[1]
else
return 'Pagina:'..base.rootText..'/'..pagine.p2d[parent.args[1]]..'#'..pageDisplay
end
end
return parent.args[1]
end
-- in ns0 costruisce il link sulla base dell'iniziale dell'ancora
-- test in corso su Dizionario mitologico ad uso di giovinetti
function p.l4(frame)
local titolo=mw.title.getCurrentTitle()
local testo=titolo:getContent()
local paginaDati="Module:Dati/"..string.match(testo,'index="([^"]-)"')
local ok,pagine = pcall(mw.loadData,paginaDati)
local parent = frame:getParent()
local pageDisplay = parent.args[1]
if ok then
if mw.ustring.sub(pageDisplay,1,4)=="nota" then
return 'Dizionario mitologico ad uso di giovanetti/Note'..'#'..pageDisplay
else
local iniziale=mw.ustring.sub(pageDisplay,1,1)
if iniziale=="J" then iniziale="I" end
return 'Dizionario mitologico ad uso di giovanetti/Mitologia/'..iniziale..'#'..pageDisplay
end
end
return parent.args[1]
end
return p