Modulo:Valido in corsivo

Modulo utilizzato da vari template per citare le fonti, come {{Cita libro}}, {{Cita news}} etc.

Si può anche richiamare da un altro modulo. In questo caso ritorna "true" se riceve come primo argomento un testo che può essere scritto in corsivo, altrimenti "false".

Da un'idea di WOSlinker. Si veda anche su Wikipedia: w:Modulo:Valido in corsivo.


local p = {}

-- Funzione per l'utilizzo da altro modulo
function p._main(args)
	local text = args[1] or ''

	if mw.text.trim(text) == '' then return nil end

	local i = 1
	local j = mw.ustring.len(text)

	while (i <= j) do
		local charval = mw.ustring.codepoint(mw.ustring.sub(text, i))
		if charval >= 1280 and charval < 7680 then
			return false
		elseif charval >= 8960 then
			return false
		end
		i = i + 1
	end

	return true
end

-- Funzione per il template:Valido in corsivo
function p.main(frame)
	return p._main(frame.args) and 'sì' or ''
end

return p