Toggle menu
14
236
69
27.2K
Kenshi Wiki
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.
Revision as of 23:30, 15 February 2025 by Prd (talk | contribs) (Created page with "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'...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Implements {{redirect-distinguish}}.

See also


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
Contents