Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

Jump to content

Module:Template redirect regex

Permanently protected module
From Wikipedia, the free encyclopedia

local p = {}

--returns a table of regular expressions, sorted by descending popularity, for a parent template and all redirects to it as of a certain date, or nil
--regex for the 1st pipe and surrounding whitespace are purposefully omitted to give the calling modules more flexibility
function p.main( template )

	--expand the following table as-needed, following the same format
	local tCanonical_templates = {
		['Category redirect'] = { 
			--the following 11 pages (6 condensed) redirect to [[Template:Category redirect]], as of 2022/9:
			'{{%s*[Cc]ate?g?o?r?y?[ _]*[rR]edirect',	--parent+505+312+243+1 transclusions
			'{{%s*[Cc]atr',								--21
			'{{%s*[Cc]at[ _]*[rR]edir',					--5+3
			'{{%s*[Cc]at[ _]*[rR]ed',					--3+2
			'{{%s*[Cc]at[ _]*[mM]ove',					--1
			'{{%s*[Cc]ategory[ _]*[mM]ove',				--0
		},
		
		['Taxonbar'] = { 
			--the following 6 pages (3 condensed) redirect to [[Template:Taxonbar]], as of 2023/8:
			'{{%s*[Tt]axon?[ _-]?[bB]ar',				--parent+50+11+2+2 transclusions
			'{{%s*[Tt]axon[Ii]ds',						--45
			'{{%s*[Tt]axon[ _]*[iI]dentifiers',			--1
			--detect direct calls to [[Module:Taxonbar]]
			'{{ *#invoke *: *[Tt]axonbar',
		},
		
		['Short description'] = { 
			--the following 4 pages (2 condensed) redirect to [[Template:Short description]], as of 2024/8:
			'{{%s*[Ss]hort[ _]?[dD]escription',			--parent+125+6 transclusions
			'{{%s*[Ss]hort[ _]?[d]esc',					--10+8
		},
	}
	
	return tCanonical_templates[template] or nil
end

return p