Módulo:Referências múltiplas

Documentação do módulo[ver] [editar] [histórico] [purgar]


Ver também editar

local p = {}
local getArgs = require('Módulo:Arguments').getArgs

function p.main( frame )
	references = ""
	
	local args = getArgs(frame)
	local firstArg = getFirstArg(args)

	for i, refName in ipairs(frame:getParent().args) do
		local ref = frame:extensionTag( 'ref', '', { name = refName } )
		
		if i == 1 then
			if firstArg ~= nil then
				references = references .. ref .. "<sup>:" .. args[firstArg] .. "</sup>"
			end
		else
			local page = (args["p"..i] or args["page"..i])
			
			if page ~= nil then 
				references = references .. ref .. "<sup>:" .. page .. "</sup>" 
			else
				references = references .. ref
			end
		end
	end
	
	return references
end

function getFirstArg( args ) 
	local possibleFirstArgs = {"p", "pp", "p1", "page", "pages", "pagina", "paginas", "página", "páginas"}
	
	for i, arg in ipairs(possibleFirstArgs) do
		if args[arg] ~= nil then
			return arg
		end
	end

	return nil
end

return p