local RTL = {}
local yesno = require('Module:Yesno')
local mError = require('Module:Error')
local mNS = require('Module:Namespace')
RTL.namespaceTemplate = {
[0] = mNS._ispseudo() and '捷徑重定向' or nil,-- PNS
[1] = mNS._ispseudo() and '捷徑重定向' or nil,-- PNS
[10] = '模板重定向',--Template
[14] = '分類捷徑重定向'--Category
}
function main (args, frame)
local templatelist = {}
local i = 1
local ns = mw.title.getCurrentTitle().namespace
local nstemplate = 0
while true do
id = args[i]
if (id ~= nil) then
if id ~= '' then
if string.gsub(args[i], '重定向', '') .. '重定向' == RTL.namespaceTemplate[ns] then
nstemplate = 1
end
table.insert(templatelist, '{{' .. string.gsub(args[i], '重定向', '') .. '重定向' .. (args['arg' .. i .. '_arg'] or '') .. '}}' )
end
i = i + 1
else
break
end
end
if ((RTL.namespaceTemplate[ns] ~= nil) and (ns ~= 14) and (nstemplate == 0)) then
table.insert(templatelist, '{{' .. RTL.namespaceTemplate[ns] .. '}}' )
elseif ((RTL.namespaceTemplate[ns] ~= nil) and ((ns == 14) and ((args['重定向到'] ~= nil) or (args['重新導向到'] ~= nil) or (args['RTC'] ~= nil))) and (nstemplate == 0)) then
table.insert(templatelist, '{{' .. RTL.namespaceTemplate[ns] .. '|' .. (args['重定向到'] or args['重新導向到'] or args['RTC']) .. '}}' )
end
if mw.isSubsting() then
return frame:preprocess('{{Redirect_category_shell|\n' .. mw.text.listToText(templatelist,'\n','\n') .. '\n}}')
else
return frame:preprocess(require('Module:Redirect_category_shell')._main(mw.text.listToText(templatelist,'\n','\n'), '<small>适当时会自动检测、描述与分类[[Wikipedia:保護方針|保护级别]]及-{zh-hans:名字空间;zh-hant:命名空間;}-使用模板。</small>'))
end
end
function RTL.main(frame)
local args = {}
for k, v in pairs( frame:getParent().args ) do
args[k] = v
end
return main(args, frame)
end
function RTL.RTLarg(frame)
local arg = ''
for k, v in pairs( frame:getParent().args ) do
arg = arg .. '|' .. k .. '=' .. mw.text.trim(v)
end
return arg
end
return RTL