Vai al contenuto

Modulo:Copertina Autori

Wikibooks, manuali e libri di testo liberi.

Modulo Lua che gestisce il nome degli autori, come compaiono usando {{Copertina}}.


local getArgs = require('Modulo:Arguments').getArgs

local function titleExists(pagina)
	local title = mw.title.new(pagina)
	return title and title.exists
end

local p = {}

function p.copertina(frame)
local autori = {}
local args = getArgs(frame)
local lista = args.autore

for i, j in pairs(mw.text.split(lista, ',')) do
	local UserPage = 'user:'..mw.text.trim(j)
	
	if titleExists(UserPage) then -- Controlla che esista la pagina utente dell'autore
		table.insert(autori, string.format('[[User:'..mw.text.trim(j)..'|'..mw.text.trim(j)..']]', mw.text.trim(j))) -- Se esiste
	else
		table.insert(autori, string.format(mw.text.trim(j), mw.text.trim(j))) -- se non esiste
	end
	
	if i > 1 then -- Stabilisce se è specificato un solo autore e imposta il singolare di conseguenza
		DidascaliaAutori = 'Autori'
	else
		DidascaliaAutori = 'Autore'
	end
		
end

return '\'\'\''..DidascaliaAutori..'\'\'\': '..mw.text.listToText( autori, ', ', ' e ' )
end
return p