Module:Correct title categories

Revision as of 16:18, 14 July 2024 by U9000 (talk | contribs) (Created page with "local p = {} function p.main(frame) return p._main(frame.args[1]) end function p._main(title) title = mw.text.unstripNoWiki(title) -- Decode HTML entities unless the title itself is demonstrating one if title:sub(1, 1) ~= "&" then title = mw.text.decode(title) end title = title:gsub("'","") -- Add a trailing "a" to distinguish empty from no fragment local titleObj = mw.title.new(title.."a") if not titleObj or title == "/." then if title:find("%[") or title:f...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Module used to populate categories for {{Correct title}}

Wikipedia logo This module uses material from the Wikipedia module Module:Correct title categories/doc, which is released under the Creative Commons Attribution-ShareAlike 3.0 Unported License (view authors).
Wikipedia logo This module uses material from the Wikipedia module Module:Correct title categories, which is released under the Creative Commons Attribution-ShareAlike 3.0 Unported License (view authors).

local p = {}
function p.main(frame)
	return p._main(frame.args[1])
end
function p._main(title)
	title = mw.text.unstripNoWiki(title)
	-- Decode HTML entities unless the title itself is demonstrating one
	if title:sub(1, 1) ~= "&" then
		title = mw.text.decode(title)
	end
	title = title:gsub("'","")
	-- Add a trailing "a" to distinguish empty from no fragment
	local titleObj = mw.title.new(title.."a")
	if not titleObj or title == "/." then
		if title:find("%[") or title:find("%]") or title:find("<") or title:find(">") or title:find("{") or title:find("}") then
			return "[[Category:Restricted titles (brackets)]]"
		elseif title:find("|") then
			return "[[Category:Restricted titles (vertical bar)]]"
		else
			return "[[Category:Restricted titles (other)]]"
		end
	elseif #titleObj.fragment > 0 then
		if #titleObj.text > 0 then
			return "[[Category:Restricted titles (non-leading number sign)]]"
		else
			return "[[Category:Restricted titles (leading number sign)]]"
		end
	elseif #titleObj.interwiki > 0 then
		return "[[Category:Restricted titles (interwiki prefix)]]"
	elseif not titleObj.isContentPage then
		return "[[Category:Restricted titles (namespace)]]"
	else
		return "[[Category:Pages using technically valid titles in correct title hatnotes]]"
	end
end
return p