Module:Correct title categories: Difference between revisions
Appearance
Content deleted Content added
That did not do what I wanted |
Fix |
||
Line 6: | Line 6: | ||
title = mw.text.unstripNoWiki(title) |
title = mw.text.unstripNoWiki(title) |
||
-- Decode HTML entities unless the title itself is demonstrating one |
-- Decode HTML entities unless the title itself is demonstrating one |
||
if title:sub(1, 1) ~= "&" then |
|||
local decoded = mw.text.decode(title) |
|||
title = mw.text.decode(title) |
|||
title = decoded |
|||
end |
end |
||
title = title:gsub("'","") |
title = title:gsub("'","") |
Latest revision as of 04:36, 2 July 2024
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 = 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