Module:RedirectData
From Thetacola Wiki
Revision as of 15:25, 5 March 2021 by en>The Earwig (Protected "Module:RedirectData": Highly visible template ([Edit=Require template editor access] (indefinite) [Move=Require template editor access] (indefinite)))
File:Full-protection-shackle.svg | This module is subject to page protection. It is a highly visible module in use by a very large number of pages, or is substituted very frequently. Because vandalism or mistakes would affect many pages, and even trivial editing might cause substantial load on the servers, it is protected from editing. |
Usage
This module can be used on redirect pages to display the namespace that the page redirects to. This should generally be wrapped by templates.
{{#invoke:RedirectData|getRedirectToNamespace}}
See also
- {{Automatic redirect categories}}, a template which uses this module
- {{R from shortcut}}, another template which uses this module
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