Ir al contenido
Menú principal
Menú principal
mover a la barra lateral
ocultar
Navegación
Página principal
Cambios recientes
Página aleatoria
Ayuda sobre MediaWiki
Wiki TVenserio
Buscar
Buscar
Crear una cuenta
Acceder
Herramientas personales
Modo oscuro
Crear una cuenta
Acceder
Páginas para editores desconectados
más información
Contribuciones
Discusión
Edición de «
Módulo:Redirección
»
Módulo
Discusión
English
Leer
Editar código
Ver historial
Herramientas
Herramientas
mover a la barra lateral
ocultar
Acciones
Leer
Editar código
Ver historial
General
Lo que enlaza aquí
Cambios relacionados
Páginas especiales
Información de la página
Advertencia:
no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si
inicias sesión
o
creas una cuenta
, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.
Comprobación antispam. ¡
No
rellenes esto!
-- Funciones para determinar si una página es una redirección, y en su caso resolverla. -- Adaptado de [[en:Module:Redirect]] -- (https://en.wikipedia.org/w/index.php?title=Module:Redirect&oldid=773537701). local p = {} -- *** Funciones para uso desde código wiki *** -- Determina si una página es una redirección. Si lo es, devuelve 'sí' (sin -- las comillas). Si no lo es (o no existe, etc.), devuelve una cadena vacía. function p.isRedirect(frame) if p.luaIsRedirect(frame.args[1]) then return 'sí' else return '' end end -- Determina si una página es una redirección a otra concreta (o a una sección de esta). -- Si lo es, devuelve 'sí' (sin las comillas). Si no lo es (o no existe, etc.), devuelve -- una cadena vacía. function p.isRedirectTo(frame) local targetTitle = p.luaGetTitle(frame.args[2]) if not targetTitle then return '' end if p.luaGetRedirectTarget(frame.args[1], targetTitle.fragment) == targetTitle.fullText then return 'sí' else return '' end end -- Determina si una página es una redirección a la página actual (o a alguna sección -- de esta). Si lo es, devuelve 'sí' (sin las comillas). Si no lo es (o no existe, -- etc.), devuelve una cadena vacía. function p.isRedirectHere(frame) local here = mw.title.getCurrentTitle().prefixedText if p.luaGetRedirectTarget(frame.args[1], false) == here then return 'sí' else return '' end end -- Determina si una página es una redirección. Si lo es, devuelve su destino. -- Si no lo es (o no existe, etc.), devuelve una cadena vacía. function p.getRedirectTarget(frame) local target = p.luaGetRedirectTarget(frame.args[1], true) if target then return target else return '' end end -- Determina si una página es una redirección. Si lo es, devuelve su destino. -- Si no lo es (o no existe, etc.), devuelve el propio título, en forma canónica. -- Si no es un título válido, devuelve una cadena vacía. function p.solveRedirects(frame) local pageTitle = p.luaGetTitle(frame.args[1]) if not pageTitle then return '' end return p.luaGetRedirectTarget(pageTitle.fullText, true) or pageTitle.fullText end -- *** Funciones para uso desde Lua *** -- Obtiene el destino de una redirección. Si la página especificada no es una -- redirección, devuelve nil. -- Obtiene el objeto del título. Ambos nombres de las páginas y objetos de título se permiten -- como entrada. function p.luaGetRedirectTarget(page, fulltext) local titleObj if type(page) == 'string' or type(page) == 'number' then titleObj = p.luaGetTitle(page) elseif type(page) == 'table' and type(page.getContent) == 'function' then titleObj = page else error(string.format( "Argumento no válido #1 para 'luaGetRedirectTarget'" .. " (Esperado string - texto , numbre - número o objeto de título y el tipo dado es %s)", type(page) ), 2) end if not titleObj or not titleObj.isRedirect then return nil end local target = titleObj.redirectTarget if target then if fulltext then return target.fullText else return target.prefixedText end else return nil end end -- Determina si una página es una redirección. function p.luaIsRedirect(page) local titleObj = p.luaGetTitle(page) if not titleObj then return false end if titleObj.isRedirect then return true else return false end end -- Obtiene un objeto mw.title, utilizando pcall para evitar generar errores de script si -- están por encima del límite de recuento porque la función es costosa (entre otras causas posibles). function p.luaGetTitle(...) local success, titleObj = pcall(mw.title.new, ...) if success then return titleObj else return nil end end -- *** Funciones para compatibilidad con [[en:Module:Redirect]] *** -- Equivalente a getTarget de https://en.wikipedia.org/w/index.php?title=Module:Redirect&oldid=773537701. function p.getTarget(page, fulltext) return p.luaGetRedirectTarget(page, fulltext) end -- Obtiene el nombre de la páginas a la que redirije la redirección directo del wikitexto -- o nil si no es una redirección function p.getTargetFromText(text) return mw.ustring.match( text, "^%s*#[Rr][Ee][Dd][Ii][Rr][Ee][Cc][Tt]%s*:?%s*%[%[([^%[%]|]-)%]%]" ) or mw.ustring.match( text, "^%s*#[Rr][Ee][Dd][Ii][Rr][Ee][Cc][Tt]%s*:?%s*%[%[([^%[%]|]-)|[^%[%]]-%]%]" ) or mw.ustring.match( text, "^%s*#[Rr][Ee][Dd][Ii][Rr][Ee][Cc][Cc][Ii][OoÓó][Nn]%s*:?%s*%[%[([^%[%]|]-)%]%]" ) or mw.ustring.match( text, "^%s*#[Rr][Ee][Dd][Ii][Rr][Ee][Cc][Cc][Ii][OoÓó][Nn]%s*:?%s*%[%[([^%[%]|]-)|[^%[%]]-%]%]" ) end --Teniendo en cuenta un solo nombre de la página determina que página se redirige a y devuelve el -- nombre de la página de destino, o el nombre de la página pasa cuando no una redirección. El pasado -- nombre de la página se puede dar como texto sin formato o como vínculo. -- -- Devuelve nombre de la página como texto sin formato, o cuando se da el parámetro de soporte, como un -- vínculo. Devuelve un mensaje de error cuando la página no existe o la redirección -- de destino no se puede determinar por alguna razón. -- -- Equivalente a luaMain de https://en.wikipedia.org/w/index.php?title=Module:Redirect&oldid=773537701. function p.luaMain(rname, bracket, fulltext) if type(rname) ~= "string" or not rname:find("%S") then return nil end bracket = bracket and "[[%s]]" or "%s" rname = rname:match("%[%[(.+)%]%]") or rname local target = p.luaGetRedirectTarget(rname, fulltext) local ret = target or rname ret = p.luaGetTitle(ret) if ret then if fulltext then ret = ret.fullText else ret = ret.prefixedText end return bracket:format(ret) else return nil end end -- Proporciona acceso a luaMain desde el código wiki. -- Equivalente a main de https://en.wikipedia.org/w/index.php?title=Module:Redirect&oldid=773537701. function p.main(frame) return p.luaMain(frame.args[1], frame.args.bracket, frame.args.fulltext) or '' end return p
Resumen:
Ten en cuenta que todas las contribuciones a Wiki TVenserio pueden ser editadas, modificadas o eliminadas por otros colaboradores. Si no deseas que las modifiquen sin limitaciones, no las publiques aquí.
Al mismo tiempo, asumimos que eres el autor de lo que escribiste, o lo copiaste de una fuente en el dominio público o con licencia libre (véase
Wiki TVenserio:Derechos de autor
para más detalles).
¡No uses textos con copyright sin permiso!
Cancelar
Ayuda de edición
(se abre en una ventana nueva)
Plantilla usada en esta página:
Módulo:Redirección/doc
(
editar
)
Activar o desactivar el límite de anchura del contenido