Modulo che implementa le funzionalità del template {{Chiarimento}}.

Ha una sottopagina CSS: Modulo:Chiarimento/styles.css.


--[[
   Modulo che implementa le funzionalità del template {{Chiarimento}}.
   Impedisce conflitti col software Mediawiki per evitare errori HTML.
]]

local p = {}

function p.main(frame)
	local result = {}
	local style = {
		background = '#ffeaea',
		color = '#444444'
	}
	frame.args[2] = '&#91;<i>' .. frame.args[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(frame.args[1] or '', '\n%s*\n')
	for i, v in ipairs(lines) do
		-- procede alla prima sequenza e a quelle successive esistenti
		if #v > 0 or i == 1 then
			-- converte le andate a capo in uno spazio, come il software Mediawiki
			v = mw.ustring.gsub( v, '\n', ' ' )
			local span = mw.html.create('span')
			span
				:attr('title', frame.args[3])
				:css(style)
				:wikitext(v)
			table.insert(result, tostring(span) .. tostring(sup))
		end
	end
	return table.concat(result, '\n\n')
end

return p