Modulo:Chiarimento: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
nuovo modulo
 
miglioro il riconoscimento e la gestione degli elenchi, da un'idea di Utente:Horcrux
 
(6 versioni intermedie di uno stesso utente non sono mostrate)
Riga 7:
 
function p.main(frame)
local resultret = {}
local styleargs = {frame:getParent().args
local styles = 'Modulo:Chiarimento/styles.css'
background = '#ffeaea',
 
color = '#444444'
}
frame.args[2] = '&#91;<i>' .. (frame.args[2] or '{{{2}}}') .. '</i>&#93;'
local sup = mw.html.create('sup')
sup
:addClass('noprint')
:tag('span')
:attr('title', frame.args[3])
:css('color', 'red')
:wikitext(frame.args[2])
-- individua le sequenze di testo separate da una riga vuota
local lines = mw.text.split(framemw.text.trim(args[1] or ''), '\n%s*\n')
for ik, v in ipairs(lines) do
-- individua le sottosequenze separate da un'andata a capo
-- procede alla prima sequenza e a quelle successive esistenti
local sublines = mw.text.split(v, '\n')
if #v > 0 or i == 1 then
for i, line in ipairs(sublines) do
-- converte le andate a capo in uno spazio, come il software Mediawiki
local prefix = ''
v = mw.ustring.gsub( v, '\n', ' ' )
local firstline = k == 1 and i == 1
-- cerca e preserva i caratteri *, :, # a inizio sottosequenza con le
-- dovute precauzioni alla prima sequenza assoluta per [[phab:T14974]]
if not firstline or mw.ustring.match(sublines[2] or '', '^[%*:%#]') then
prefix = mw.ustring.match(line, '^[%*:%#]+') or ''
if firstline and prefix ~= '' then
prefix = '\n' .. prefix
end
v line = mw.ustring.gsub( vline, '\n^[%*:%#]+', ' ' )
end
local span = mw.html.create('span')
span
:attraddClass('titlechiarimento', frame.args[3])
:cssattr(style'title', args[3])
:wikitext(vline)
table.insert(result,sublines[i] tostring(span)= prefix .. tostring(sup)span)
end
return table.insert(ret, table.concat(resultsublines, '\n\n'))
end
 
return table.concat(result, '\n\n')
-- genera il testo in apice tra parentesi quadre
frame.args[2] = '&#91;<i>' .. (frame.args[2] or '{{{2}}}') .. '</i>&#93;'
local sup = mw.html.create('sup')
sup
:addClass('noprint chiarimento-apice')
:attr('title', frame.args[3])
:wikitext(frame.args[2])
 
return frame:extensionTag{
name = 'templatestyles',
args = {src = styles}
} .. table.concat(ret, '\n\n') .. tostring(sup)
end