Módulo:Resolve category redirect
Aspeto
Este módulo não apresenta nenhuma documentação. Por favor, documente-o caso o saiba usar ou tenha conhecimentos para tal. |
local p = {}
--Returns the target of {{Category redirect}}, if it exists, else returns the original cat.
function rtarget( cat )
local catcontent = mw.title.new( cat or '', 'Categoria' ):getContent()
if string.match( catcontent or '', '{{ *[Cc]at' ) then
local regex = {
--the following 11 pages (6 condensed) redirect to [[Template:Category redirect]], in descending order, as of 9/2022:
'{{ *[Cc]ate?g?o?r?y?[ _]*[rR]edirect', --505+312+243+1 transclusions
'{{ *[Cc]atr', --21
'{{ *[Cc]at[ _]*[rR]edir', --5+3
'{{ *[Cc]at[ _]*[rR]ed', --3+2
'{{ *[Cc]at[ _]*[mM]ove', --1
'{{ *[Cc]ategory[ _]*[mM]ove', --0
}
for _, v in pairs (regex) do
local rtarget = mw.ustring.match( catcontent, v..'%s*|%s*([^|}]+)' )
if rtarget then
rtarget = mw.ustring.gsub(rtarget, '^1%s*=%s*', '')
rtarget = string.gsub(rtarget, '^[Cc]ategoria:', '')
return rtarget
end
end
end
return cat
end
function p.main( frame )
local args = frame:getParent().args
local cat = args[1]
if (cat == '') or (cat == nil) then
return ''
end
return rtarget( cat )
end
return p