Jump to content

Module:Correct title categories: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
No edit summary
Fix
Line 8: Line 8:
local titleObj = mw.title.new(title.."a")
local titleObj = mw.title.new(title.."a")
if not titleObj or title == "/." then
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 (illegal characters)]]"
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
elseif #titleObj.fragment > 0 then
if #titleObj.text > 0 then
if #titleObj.text > 0 then

Revision as of 04:20, 2 July 2024

local p = {}
function p.main(frame)
	return p._main(frame.args[1])
end
function p._main(title)
	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