Permanently protected module
From Wikipedia, the free encyclopedia


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  = args1

	

	if (cat == '') or (cat == nil) then

		return ''

	end

	return p.rtarget( cat )

end



return p
Permanently protected module
From Wikipedia, the free encyclopedia


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  = args1

	

	if (cat == '') or (cat == nil) then

		return ''

	end

	return p.rtarget( cat )

end



return p

Videos

Youtube | Vimeo | Bing

Websites

Google | Yahoo | Bing

Encyclopedia

Google | Yahoo | Bing

Facebook