Módulu:Páxines

De Wikipedia

Usu[editar la fonte]

{{#invoke:Páxines|función|páxina|parámetros opcionales}}

Funciones[editar la fonte]

Les funciones son:

esiste

Devuelve'l nome del artículu si esiste. Por casu: {{#Invoke:Páxines|esiste|David Villa}} produz:

Error de Lua na llinia 25: attempt to call upvalue 'obtenerArgumentos' (a nil value).

mentanto que: {{#Invoke:Páxines|esiste|Tiburón 19}} produz:

Error de Lua na llinia 25: attempt to call upvalue 'obtenerArgumentos' (a nil value).


esisteCategoria

Devuelve'l nome completu de la categoría si esiste. Por casu: {{#Invoke:Páxines|esisteCategoria|Futbolistes d'Asturies}} produz:

Error de Lua na llinia 49: attempt to call upvalue 'obtenerArgumentos' (a nil value).
nomePaxina

Devuelve'l nome de la páxina. Por casu:

{{#Invoke:Páxines|nomePaxina}} produz:

Páxines
sePuedeCategorizar

Devuelve si la páxina actual permite categoríes automátiques. Por casu:

{{#Invoke:Páxines|sePuedeCategorizar}} produz:

true

local paxines = {}


-- Módulos y funciones esternos
local obtenerArgumentos = require('Módulu:Argumentos').obtenerArgumentos
local enTabla           = require('Módulu:Tables').en

-- Constantes
-- Ver Módulu:Cites/Configuración		citation_config.uncategorized_namespaces.
-- Espacios de nome para los que nun se categoricen automáticamente los artículos
paxines.espaciosNoCategorizables = { 'Usuariu', 'Usuaria', 'Alderique', 'Usuariu_alderique', 'Usuariu_Alderique','Usuaria_Alderique', 'Usuaria_alderique', 'Wikipedia_alderique', 'Archivu_alderique', 
	'Plantía_alderique',	'Ayuda_alderique', 'Categoría_alderique', 'Portal_Alderique', 'Book_talk', 'Draft', 'Draft_talk', 'Education_Program_talk', 
	'Módulu_alderique', 'MediaWiki_alderique', 'Wikipedia', 'Wikiproyeutu', 'Wikiproyeutu_alderique' }

function paxines.esiste(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 paxines.esisteCategoria(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 paxines.nomePaxina(opciones)
	nomePaxina = mw.title.getCurrentTitle().text 
	
	-- Eliminar el testu ente paréntesis
	if opciones and opciones.desambiguar == 'sí' then
		nomePaxina = mw.ustring.gsub(nomePaxina,'%s%(.*%)','')
	end
      
	return nomePaxina
end

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

function paxines.obtenerSubpaxines(frame)
	local argumentos = obtenerArgumentos(frame)
	local nomePaxina = argumentos['páxina'] or argumentos['paxina'] 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/' .. nomePaxina .. parametroTruncar .. '}}')
	
	return lista
end

return paxines