Module:Resolve category redirect
Jump to navigation
Jump to search
Documentation for this module may be created at Module:Resolve category redirect/doc
local p = {} --Returns the target of {{Category redirect}}, if it exists, else returns the original cat. function p.rtarget( cat ) if (mw.ustring.match( cat, '[{}!|]') ~= nil ) then return cat end local catcontent = mw.title.new( cat or '', 'Category' ):getContent() if string.match( catcontent or '', '{{ *[Cc]at' ) then local getRegex = require('Module:Template redirect regex').main local tregex = getRegex('Category redirect') for _, v in pairs (tregex) 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]ategory:', '') 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 p.rtarget( cat ) end return p