Differenze tra le versioni di "Template:Poesia"

Da WikiPoesia.
Jump to navigation Jump to search
(Creata pagina con "require('Module:No globals') local getArgs = require('Module:Arguments').getArgs local p = {} local function agg(t, ...) local args = {...} for _, s in ipairs(args) d...")
 
(Pagina sostituita con '<includeonly>{{#invoke:Poesia|main}}</includeonly><noinclude>{{template complesso}} {{man}} Categoria:Template di formattazione </noinclude>')
Etichetta: Sostituito
Riga 1: Riga 1:
require('Module:No globals')
+
<includeonly>{{#invoke:Poesia|main}}</includeonly><noinclude>{{template complesso}}
local getArgs = require('Module:Arguments').getArgs
+
{{man}}
local p = {}
 
  
local function agg(t, ...)
+
[[Categoria:Template di formattazione]]
    local args = {...}
+
</noinclude>
    for _, s in ipairs(args) do
 
        table.insert(t, s)
 
    end
 
end
 
 
 
local function separa(ss)
 
local t = false
 
if (ss:find("*") and (ss:find("*") == 1)) then
 
ss = ss:sub(2)
 
t = true
 
end
 
local dd = { }
 
string.gsub(ss,"([^\/]+)", function(c) dd[#dd+1] = mw.text.trim(c) end)
 
for i=1,3 do
 
if (dd[i]) then
 
if (dd[i] == '-') then dd[i] = '' end
 
else
 
dd[i]= (i==1) and '' or false
 
end
 
end
 
 
 
return { t, dd[1], dd[2], dd[3] }
 
end
 
 
 
function p.main(frame)
 
local args = getArgs(frame, {
 
valueFunc = function (key, value)
 
if type(key) == "number" then
 
if value == nil then
 
return nil
 
else
 
value = mw.text.trim(value)
 
end
 
else
 
if value == '' then return nil end
 
            end
 
return value
 
end
 
})
 
local titolo = args['titolo']
 
local colore = args['colore'] or 'ccc'
 
local numera = args['numera'] and tonumber(args['numera']) or 5
 
local inizio = args['inizio'] and tonumber(args['inizio']) or 1
 
inizio = inizio-1
 
local ret = {}
 
local n = 1
 
local vv
 
 
 
if (args[1]) then
 
 
 
agg(ret,'<div style="font-size:95%;margin:10px 0;padding:0 5px;border:0;border-left:4px solid #',colore,'"><table cellpadding=0 cellspacing=0 style="padding:0">')
 
 
 
if (titolo) then
 
vv = separa(titolo)
 
agg(ret,'<tr><td></td><td><i>',vv[2],'</i></td>')
 
if (vv[3]) then
 
agg(ret,'<td>&emsp;</td><td><i>',vv[3],'</i></td>')
 
if (vv[4]) then
 
agg(ret,'<td>&emsp;</td><td><i>',vv[4],'</i></td>')
 
end
 
end
 
agg(ret,'</tr><tr><td style="line-height:8px">&nbsp;</td></tr>')
 
end
 
 
 
while (args[n]) do
 
vv = separa(args[n])
 
 
 
if (vv[1]) then -- nuova strofa
 
agg(ret,'<tr><td colspan=2 style="line-height:8px">&nbsp;</td></tr>')
 
end
 
agg(ret,'<tr><td',(n == 1) and ' style="width:30px"' or '')
 
 
 
if ((n+inizio) % numera == 0) then -- mostra numero
 
agg(ret,' align=right><span style="font-size:85%">',(n+inizio),'</span>&ensp;')
 
else agg(ret,'>') end
 
 
 
agg(ret,'</td><td>',vv[2],'</td>')
 
if (vv[3]) then
 
agg(ret,'<td>&emsp;</td><td>',vv[3],'</td>')
 
if (vv[4]) then
 
agg(ret,'<td>&emsp;</td><td>',vv[4],'</td>')
 
end
 
end
 
agg(ret,'</tr>')
 
n = n+1
 
end
 
agg(ret,'</table></div>')
 
 
return table.concat(ret)
 
else
 
return '<span style="color:#800">Errore nel template Poesia</span>'
 
end
 
end
 
 
 
return p
 

Versione delle 21:13, 23 apr 2019