模块:分类重定向

来自萌娘共享
Xzonn讨论 | 贡献2020年9月18日 (五) 16:39的版本 (创建页面,内容为“local module = {} local getArgs = require('Module:Arguments').getArgs function _main(args) -- 检查是否是模板空间 local page = mw.title.getCurren…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

此模块的文档可以在模块:分类重定向/doc创建

local module = {}
 
local getArgs = require('Module:Arguments').getArgs
 
function _main(args)
    -- 检查是否是模板空间
    local page = mw.title.getCurrentTitle()
    if page.namespace ~= 14 then
        return "[[Category:错误的已重定向分类|-非属分类]]"
    else
        local output = ""
        local args1Target = mw.title.new(args[1], 'Category')
        -- 检查是否清空
        if mw.site.stats.pagesInCategory(page.text, "all") > 0 then
            output = output .. "[[Category:尚未清空的已重定向分类]]"
        end
        -- 检查是否与自身相同
        if page.text == args[1] then
            output = output .. "[[Category:错误的已重定向分类|*同名称]]"
        end
        -- 检查是否存在
        if not args1Target.exists then
            output = output .. "[[Category:错误的已重定向分类|!不存在]]"
        else
            output = output .. "[[Category:已重定向的分类|" .. (args[2] or page.text) .. "]]"
        end
        -- 检查是否使用原生重定向
        local redirectTarget = page.redirectTarget
        if not redirectTarget then
            output = output .. "[[Category:错误的已重定向分类|R重定向错误]]"
        else
            if redirectTarget.fullText ~= args1Target.fullText then
                output = output .. "[[Category:错误的已重定向分类|R重定向错误]]"
            end
        end
        return output
    end
end

function module.main(frame)
    local args = getArgs(frame)
    return _main(args)
end
 
return module