Module:RedirectData: Difference between revisions
m (Protected "Module:RedirectData": Highly visible template ([Edit=Require template editor access] (indefinite) [Move=Require template editor access] (indefinite))) |
m (1 revision imported) |
(No difference)
|
Latest revision as of 21:51, 29 January 2024
Documentation for this module may be created at Module:RedirectData/doc
local p = {} function p.getRedirectToNamespace(frame) titleObject = mw.title.getCurrentTitle() -- check if this is a redirect if titleObject.redirectTarget then targetNamespace = titleObject.redirectTarget.nsText return targetNamespace end return "Notaredirect" end function p.getTalkPage(frame) -- this is code written to check for the criteria to apply {{R to talk page}} - essentially, whether the redirect is outside of, and going into, a talk namespace titleObject = mw.title.getCurrentTitle() -- check if this is a redirect if titleObject.redirectTarget then if not titleObject.isTalkPage then -- the current page is NOT a talk page if titleObject.redirectTarget.isTalkPage then -- the target page IS a talk page return "Yes" end end return "No" end return "Notaredirect" end function p.getSubpageStatus(frame) titleObject = mw.title.getCurrentTitle() if titleObject.redirectTarget then -- check if this is a redirect pageIsSubpage = titleObject.isSubpage targetIsSubpage = titleObject.redirectTarget.isSubpage if (pageIsSubpage or targetIsSubpage) then if (pageIsSubpage and targetIsSubpage) then return "Both" -- both are subpages, return three elseif pageIsSubpage then return "Onlypage" -- just the page is a subpage, target isn't, return one else return "Onlytarget" -- just the target is a subpage, the page isn't, return two end else -- neither page nor target is a subpage, return zero return "Neither" end end return "Notaredirect" end function p.toDisambig(frame) -- this checks if the page title contains (disambiguation), as well as if it's a talkpage titleObject = mw.title.getCurrentTitle() if titleObject.redirectTarget then -- check if this is a redirect if string.match(titleObject.text, "(disambiguation)") then -- title contains (disambiguation) if titleObject.isTalkPage then -- this is a talk page ({{R from unnecessary disambiguation}}) return "Talk" else -- this is not a talkpage ({{R to disambiguation page}}) return "Article" end else -- title does not contain "(disambiguation)" return "No" end end return "Notaredirect" end return p