模块:PageName

VIFF讨论 | 贡献2021年7月4日 (日) 14:24的版本

此模块的文档可以在模块:PageName/doc创建

local p = {}

function p.split(s)
    local parent, name
    parent, name = s:match("^(.+)/(.+)$")
    return parent, name
end

function p.rsplit(s)
    return s:match("^([^/]+)/(.+)$")
end

local type2name = {
['W'] = "世界观",
['X'] = "联动"
}

function p.type_name(s)
    return type2name[s]
end

function p.parse(s)
    local type_flag, full_name
    type_flag, full_name = s:match("^([XW])/(.+)$")
    if type_flag then
        local base, sub
        base, sub = p.rsplit(full_name)
        if base then
            return type_flag, base, sub
        else
            return type_flag, full_name, nil
        end
    else
        return nil, nil, s
    end
end

function p.getPageName()
    return mw.title.getCurrentTitle().text
end

return p