Modulo:Testo
Prova
- Le Georgiche di Virgilio , Publio Virgilio Marone, traduzione di Clemente Bondi, Venezia, Adolfo Cesare, 1801
- I promessi sposi , Alessandro Manzoni, Milano, Tip. Guglielmini e Redaelli, 1840
- I promessi sposi
- Meis iuvan cour ais conturblo , Caspar Decurtins, Erlangen, F. Junge, 1908
Per esempi in ns0 (link a sottopagine) vedi Alchünas Rimas Romaunschas
local p = {}
local c = require('Modulo:Common')
-- logica:
-- leggere la pagina indicata nel parametro 1
-- risalire alla pagina Indice, se c'è, e leggerla
-- estrarre i dati significativi da entrambe
function p.testo(frame)
local result="prova"
local title=mw.title.getCurrentTitle()
frame=frame:getParent()
-- carico i parametri di testo
--local args=frame_1.args
local args=frame.args
if string.sub(args[1],1,1)=="/" then
args[1]=title.text..args[1]
end
if args[2]==nil then
args[2]=mw.text.split(args[1],"/")
args[2]=args[2][#args[2]]
end
local dataNs0={}
local dataIndex={}
-- catturo titolo e testo della pagina puntata da testo
dataNs0.title=mw.title.new(args[1])
dataNs0.text=dataNs0.title:getContent()
dataNs0.index=string.match(dataNs0.text,'index="(.-)"')
dataNs0.SAL=string.match(dataNs0.text,"avz=(%d+)")
dataNs0.codeSAL=" [[File:xxx%.svg|9px]]"
dataNs0.codeSAL=string.gsub(dataNs0.codeSAL,"xxx",dataNs0.SAL)
dataNs0.linkEpub='[[File:EPUB silk icon.svg|12px|link='..'https://tools.wmflabs.org/wsexport/tool/book.php?lang=it&format=epub&page='..mw.uri.encode(args[1], "WIKI" )..']] '
-- se esiste riferimento a Indice
if dataNs0.index ~=nil then
-- catturo titolo e testo della pagina collegata ed estraggo i dati bbliografici
dataIndex.indexLink='<span class="ws-noexport">[[File:Crystal_Clear_app_kdict.png|14px|link=Index:'..dataNs0.index..']]</span> '
dataIndex.title=mw.title.new("Index:"..dataNs0.index)
dataIndex.text=dataIndex.title:getContent()
dataIndex.autore=string.match(dataIndex.text,"Autore=(.-)\n|")
dataIndex.editore=string.match(dataIndex.text,"Editore=(.-)\n|")
dataIndex.anno=string.match(dataIndex.text,"Anno=(.-)\n|")
dataIndex.luogo=string.match(dataIndex.text,"Città=(.-)\n|")
dataIndex.traduttore=string.match(dataIndex.text,"Traduttore=(.-)\n|")
dataIndex.annoTraduzione=string.match(dataIndex.text,"Città=(.-)\n|")
else
args.tipo="tradizionale"
end
if args.tipo==nil then args.tipo="" end
result="''[["..args[1].."|"..args[2].."]]'' "..dataNs0.codeSAL
-- se non + in ns0 oppure è Pagina principale
if title.namespace~=0 or title.text=="Pagina principale" then
if args.tipo~="tradizionale" then
result=result..", [[Autore:"..dataIndex.autore.."|"..dataIndex.autore.."]]"
if dataIndex.traduttore~=nil and dataIndex.traduttore~="" then
result=result..", traduzione di [[Autore:"..dataIndex.traduttore.."|"..dataIndex.traduttore.."]]"
end
result=result..", "..dataIndex.luogo..", "..dataIndex.editore..", "..dataIndex.anno
end
end
if (title.namespace~=0 or title.text=="Pagina principale") and dataIndex.indexLink ~= nil then
result= dataIndex.indexLink..result
end
if (title.namespace~=0 or title.text=="Pagina principale") then
result= dataNs0.linkEpub..result
end
return result
end
function p.categorieTestoAnno(frame)
str = frame.args[1]
if not str then
return ''
else
str = mw.text.trim(str)
end
if str == 'Antichità' then
return "[[:Categoria:Testi dell'Antichità|Antichità]]"
else
date = str:gsub(" %- ", "/"):gsub("%-", "/")
cat = ''
for data in date:gmatch("[^/]+") do
data = mw.text.trim(data)
if cat ~= '' then
cat = cat .. '-'
end
cat = cat .. "[[:Categoria:Testi del " .. data .. "|" .. data .. "]]"
end
return cat
end
end
function p.linkTesto(frame)
link = frame.args[1]
label = frame.args[2]
anchor = frame.args[3]
if not label or label == '' then
label = c.stripTitolo2(link)
end
if anchor then
anchor = '#'..anchor
end
return "''[["..link..anchor..'|'..label.."]]''"
end
function p.linkAutore(frame)
autori = frame.args[1]
link = ''
for autore in autori:gmatch("[^/]+") do
if link ~= '' then
link = link ..', '
end
link = link .. '[[Autore:' .. autore .. '|' .. autore:gsub(" %(.*%)", "") .. ']]'
end
return link
end
return p