模組:Sedirect-distinguish

文档图示 模块文档[创建]
local mHatnote = require('Module:Hatnote')
local mHatlist = require('Module:Hatnote list')
local mArguments --initialize lazily
local ifmobile = require('Module:If mobile')
local mTableTools = require('Module:TableTools')
local p = {}

function p.sedirectDistinguish (frame)
	mArguments = require('Module:Arguments')
	local args = mArguments.getArgs(frame)
	return p._sedirectDistinguish(args)
end

function p._sedirectDistinguish(args)
	if not args[1] then
		return mHatnote.makeWikitextError(
			'未指定重定向',
			'Template:Redirect-distinguish',
			args.category
		)
	end
	local redirectTitle = mw.title.new(args[1])
	if redirectTitle and redirectTitle.exists then
		if not redirectTitle.isRedirect then
			args[1] = args[1] .. '[[Category:顶注重定向需要审阅的条目]]'
		end
	elseif not string.match(args[1], 'REDIRECT%d+') and not args[1] == 'TERM' then
		args[1] = args[1] .. '[[Category:无效重定向]]'
	end
	if not args[2] then
		return mHatnote.makeWikitextError(
			'未指定要区分的页面',
			'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 image = '[[File:Confusion humor.svg|24px|link=|alt=]]'
	local mobview = ifmobile._main({nil, '  '})
	local text = string.format(
		'「\'\'\'-{zh;zh-hans;zh-hant;|%s}-\'\'\'」-{zh-hans:重定向;zh-hant:重新導向;}-至此。各位幽默感缺失的编者,您可能想寻找页面%s。',
		redirect,
		mHatlist.orList(args, true, true)
	)
	text = image .. mobview .. text
	return mHatnote._hatnote(text)
end

return p