Module:信息框导航

来自植物大战僵尸百科
跳转到导航 跳转到搜索
{{🛈}}模組文檔[查看] [編輯] [歷史] [清除缓存]此文档嵌入自Module:信息框导航/文档

本模組用於{{信息框导航}},用法見其模板文檔。

模組內容

charanav

本模組的返回值。

charanav.main(frame)
從框架對象frame接收參數並傳遞至charanav._main,返回其結果。
charanav._main(args)
接收參數表args並返回角色導航結果。
local charanav = {}

local getArgs = require('Dev:Arguments').getArgs
local transfer = mw.loadData('Module:信息框导航/转换')

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

function charanav._main(args)
    local title = mw.title.getCurrentTitle()
    local namespace = title.nsText -- 本頁面命名空間

    local container = mw.html.create('div'):addClass('pi-charanav')

    for i = 1, 10, 1 do
        if not args[i..'-1'] then
            break
        end
        if not args[i..'-2'] then
            error('未填写参数' .. i..'-2')
        end
        args[i..'-2'] = tostring(args[i..'-2'])
        local itemns = transfer[1][args[i..'-2']] or args[i..'-2'] -- 頁面命名空間
        if (namespace ~= itemns) then
            args[i..'-2'] = transfer[2][args[i..'-2']] or args[i..'-2'] -- 遊戲名稱
            args[i..'-3'] = args[i..'-3'] or (args[i..'-1'] .. (transfer[3][args[i..'-2']] or '') .. '.png') -- 圖片名稱
            args[i..'-4'] = args[i..'-4'] or (itemns .. ':' .. args[i..'-1']) -- 頁面名稱
            if not mw.title.new(args[i..'-4']).exists then
                args[i..'-4'] = args[i..'-5'] or args[i..'-4']
            end
            local comment = args[i..'-2'] .. '中的' .. args[i..'-1']
            container:tag('div'):addClass('pi-charanav-link')
                :wikitext('[[File:' .. args[i..'-3'] .. '|52px|' .. comment .. '|link=' .. args[i..'-4'] .. ']]')
                :tag('span'):addClass('pi-charanav-comment mobile-hidden')
                    :wikitext(comment)
        end
    end

    return container
end

return charanav