缺氧 wiki 编辑团队提示:注册账号并登录后体验更佳,且可通过参数设置定制优化您的浏览体验!

该站点为镜像站点,如果你想帮助这个由玩家志愿编辑的 wiki 站点,请前往原站点参与编辑,
同时欢迎加入编辑讨论群 851803695 与其他编辑者一起参与建设!

全站通知:

模块:子页面导航

来自缺氧WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索

用于信息框模板添加预览所有子页面的导航框。



-- Module: [module_name]
local p = {}
local fstr = mw.ustring.format -- shortcut for formattig a string
local getArgs = require('Module:Dev/Arguments').getArgs

function p.subpagename(pagename)
    local tmp = mw.text.split(pagename, "/", true)
    return tmp[#tmp]
end
-- test by: = p._main({"教程", sep="  •  "})
function p._main(args)
    local base = args[1]
    local dplArgs = {
        category = args.category,
        include = paramInclude,
        format = ",<br>%TITLE%,",
        includesubpages = "true",
        skipthispage = "no",
        titlematch = base .. "/%"
    }
    local dplResult = mw.getCurrentFrame():callParserFunction('#dpl:', dplArgs)
    local pages = mw.text.split(dplResult, '<br>', true)
    local out = {}
    for i = 2, #pages do
        table.insert(out, fstr("[[%s|%s]]", pages[i], p.subpagename(pages[i])))
    end
    local sep = fstr("<wbr>%s<wbr>", args.sep)
    return fstr(
               '<span style="word-break: keep-all;">%s</span>',
               table.concat(out, sep))
end

function p.main(frame) return p._main(getArgs(frame)) end

return p