Indicacións de uso do módulo
{{#invoke:Páxinas|función|páxina|parámetros opcionais}}

Funcións

editar

As funcións son:

existe

Devolve o nome do artigo se existe. Por exemplo: {{#Invoke:Páxinas|existe|O padriño}} produce:

O padriño

mentres que: {{#Invoke:Páxinas|existe|O padriño 4}} produce:

existeCategoria

Devolve o nome completo da categoría se existe. Por exemplo: {{#Invoke:Páxinas|existeCategoria|Filmes dirixidos por Francis Ford Coppola}} produce:

Categoría:Filmes dirixidos por Francis Ford Coppola
nombrePagina

Devolve o nome da páxina. Por exemplo:

{{#Invoke:Páxinas|nombrePagina}} produce:

Páxinas
sePuedeCategorizar

Devolve se a páxina actual permite categorías automaticas. Por exemplo:

{{#Invoke:Páxinas|sePuedeCategorizar}} produce:

true
Esta documentación está transcluída desde Módulo:Páxinas/uso. Os editores poden probar cambios no mesmo en Módulo:Páxinas/probas.
Por favor, engade as categorías na subpáxina de documentación e os interwikis no Wikidata. Ver as subpáxinas deste módulo.

local paginas = {}

--[[*********************************************************************************
    * Nome: Módulo:Páxinas
    *
    * Descrición: 
    *
    * Data última revisión: 
    *if 
    * Estado: En uso. 
    * Nota: Adaptado de es.wiki
    *********************************************************************************`-- ]]

-- Módulos e funcións externas
local obtenerArgumentos = require('Módulo:Argumentos_es').obtenerArgumentos
local enTabla           = require('Módulo:Táboas').en

-- Constantes
-- Ver Módulo:Citas/Configuración		citation_config.uncategorized_namespaces.
-- Espazos de nomes para os cales non se categorizan automaticamente os seus artigos
paginas.espaciosNoCategorizables = { 'Usuario', 'Usuaria', 'Conversa', 'Usuario_conversa', 'Usuario_Conversa','Usuaria_Conversa', 'Usuaria_conversa', 'Wikipedia_conversa', 'Ficheiro_conversa', 
	'Modelo_conversa',	'Axuda_conversa', 'Categoría_conversa', 'Portal_Conversa', 'Libro_conversa', 'Draft', 'Draft_conversa', 'Education_Program_conversa', 
	'Módulo_conversa', 'MediaWiki_conversa', 'Wikipedia', 'Wikiproxecto', 'Wikiproxecto_conversa' }

function paginas.existe(frame)
	local articulo
	
	if not frame then
		return
	end
	
	if type(frame) == 'string' then
		articulo= frame
	else
		articulo= obtenerArgumentos(frame)[1]
	end
	
	if not articulo then 
		return
	end

	local a= mw.title.new(articulo)
	
	if a and a.exists then
		return a.fullText
	end
end

function paginas.existeCategoria(frame)
	local categoria
	
	if not frame then
		return
	end
	
	if type(frame) == 'string' then
		categoria = frame
	else
		categoria = obtenerArgumentos(frame)[1]
	end
	
	if not categoria then 
		return
	end

	local a= mw.title.makeTitle(14, categoria)
	
	if a and a.exists then
		return a.fullText
	end
end

function paginas.nombrePagina(opciones)
	nombrePagina = mw.title.getCurrentTitle().text 
	
	-- Eliminar o texto entre parénteses
	if opciones and opciones.desambiguar == 'sí' then
		nombrePagina = mw.ustring.gsub(nombrePagina,'%s%(.*%)','')
	end
      
	return nombrePagina
end

function paginas.sePuedeCategorizar()
	if enTabla(paginas.espaciosNoCategorizables, mw.title.getCurrentTitle().nsText) then
		return false
	else
		return true
	end
end

function paginas.obtenerSubpaginas(frame)
	local argumentos = obtenerArgumentos(frame)
	local nombrePagina = argumentos['página'] or argumentos['pagina'] or mw.title.getCurrentTitle().text
	local truncar = not (argumentos['truncar'] and argumentos['truncar'] == 'no')
	
	local parametroTruncar = (truncar and '|stripprefix=1') or ''
	
	local lista = frame:preprocess('{{Special:PrefixIndex/' .. nombrePagina .. parametroTruncar .. '}}')
	
	return lista
end

return paginas