মডিউল:বিষয়শ্রেণী পুনর্নির্দেশ মীমাংসা: সংশোধিত সংস্করণের মধ্যে পার্থক্য

বিষয়বস্তু বিয়োগ হয়েছে বিষয়বস্তু যোগ হয়েছে
 
(কোনও পার্থক্য নেই)

১৫:৫১, ৪ আগস্ট ২০২১ তারিখে সম্পাদিত সর্বশেষ সংস্করণ

মডিউল নথি[তৈরি করুন]
local p = {}

--Returns the target of {{Category redirect}}, if it exists, else returns the original cat.
--Used by catlinkfollowr(), and so indirectly by all nav_*().
function rtarget( cat )
	local catcontent = mw.title.new( cat or '', 'বিষয়শ্রেণী' ):getContent()
	if string.match( catcontent or '', '{{ *বিষয়শ্রেণী' ) then
		local regex = {
			--the following 11 pages (7 condensed) redirect to [[Template:Category redirect]] (as of 6/2019):
			{ '1', '{{ *বিষয়শ্রেণী *পুনর্নির্দেশ' }, --most likely match 1st
			{ '2', '{{ *[Cc]at *redirect' },         --444+240 transclusions
			{ '3', '{{ *[Cc]at *redir' },            --8+3
			{ '4', '{{ *[Cc]ategory *move' },        --6
			{ '5', '{{ *[Cc]at *red' },              --6
			{ '6', '{{ *[Cc]atr' },                  --4
			{ '7', '{{ *[Cc]at *move' },             --0
		}
		for k, v in pairs (regex) do
			local rtarget = mw.ustring.match( catcontent, v[2]..'%s*|%s*([^|}]+)' )
			if rtarget then
				rtarget = mw.ustring.gsub(rtarget, '^1%s*=%s*', '')
				rtarget = string.gsub(rtarget, '^বিষয়শ্রেণী:', '')
				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