Module used to populate categories for {{Correct title}}
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
return "[[Category:Restricted titles (illegal characters)]]"
elseif #titleObj.fragment > 0 then
if #titleObj.text > 0 then
return "[[Category:Restricted titles (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