Module:Redirect-distinguish: Difference between revisions
Jump to navigation
Jump to search
m 1 revision imported |
en>Elli Undid revision 1066390800 by Faster than Thunder (talk) yeah, no, this is inappropriate |
||
Line 20: | Line 20: | ||
end | end | ||
local redirectTitle = mw.title.new(args[1]) | local redirectTitle = mw.title.new(args[1]) | ||
if redirectTitle | local currentTitle = currentTitle or mw.title.getCurrentTitle() | ||
if | |||
args[1] = args[1] .. '[[Category:Articles with redirect hatnotes needing review]]' | string.match(args[1], 'REDIRECT%d+') or | ||
args[1] == 'TERM' or | |||
currentTitle.namespace ~= 0 | |||
then | |||
--do nothing | |||
elseif not redirectTitle or not redirectTitle.exists then | |||
args[1] = args[1] .. '[[Category:Missing redirects]]' | |||
elseif not redirectTitle.isRedirect then | |||
if string.find(redirectTitle:getContent(), '#invoke:RfD') then | |||
args[1] = args[1] .. | |||
'[[Category:Articles with redirect hatnotes impacted by RfD]]' | |||
else | |||
args[1] = args[1] .. | |||
'[[Category:Articles with redirect hatnotes needing review]]' | |||
end | end | ||
end | end | ||
if not args[2] then | if not args[2] then | ||
Line 38: | Line 49: | ||
local redirect = table.remove(args, 1) | local redirect = table.remove(args, 1) | ||
local text = string.format( | local text = string.format( | ||
'"%s" redirects here. | '"%s" redirects here. Not to be confused with %s.', | ||
redirect, | redirect, | ||
mHatlist.orList(args, true) | mHatlist.orList(args, true) |
Revision as of 05:49, 18 January 2022
Documentation for this module may be created at Module:Redirect-distinguish/doc
local mHatnote = require('Module:Hatnote')
local mHatlist = require('Module:Hatnote list')
local mArguments --initialize lazily
local mTableTools = require('Module:TableTools')
local p = {}
function p.redirectDistinguish (frame)
mArguments = require('Module:Arguments')
local args = mArguments.getArgs(frame)
return p._redirectDistinguish(args)
end
function p._redirectDistinguish(args)
if not args[1] then
return mHatnote.makeWikitextError(
'no redirect supplied',
'Template:Redirect-distinguish',
args.category
)
end
local redirectTitle = mw.title.new(args[1])
local currentTitle = currentTitle or mw.title.getCurrentTitle()
if
string.match(args[1], 'REDIRECT%d+') or
args[1] == 'TERM' or
currentTitle.namespace ~= 0
then
--do nothing
elseif not redirectTitle or not redirectTitle.exists then
args[1] = args[1] .. '[[Category:Missing redirects]]'
elseif not redirectTitle.isRedirect then
if string.find(redirectTitle:getContent(), '#invoke:RfD') then
args[1] = args[1] ..
'[[Category:Articles with redirect hatnotes impacted by RfD]]'
else
args[1] = args[1] ..
'[[Category:Articles with redirect hatnotes needing review]]'
end
end
if not args[2] then
return mHatnote.makeWikitextError(
'no page to be distinguished supplied',
'Template:Redirect-distinguish',
args.category
)
end
args = mTableTools.compressSparseArray(args)
--Assignment by removal here makes for convenient concatenation later
local redirect = table.remove(args, 1)
local text = string.format(
'"%s" redirects here. Not to be confused with %s.',
redirect,
mHatlist.orList(args, true)
)
return mHatnote._hatnote(text)
end
return p