×
创建新页面
在此填写您的页面标题:
我们当前在Undertale社区维基上拥有187个页面。请在上方输入您的页面名称或点击以下任意标题来开始编写页面!



Undertale社区维基

模块:文件页信息框

欢迎来到Undertale社区维基(*`∀´*)ノ亻,如果想要参与条目创建或编辑,请先登录

可在模块:文件页信息框/doc创建此模块的帮助文档

local p = {}
local b = require("Module:Basic")

function p.main(frame)
    local args = frame.args
    local be_data_list = { "描述", "状态", "人物", "许可", "来源", "注释" }
    local be_have_template_list = { "状态", "人物", "许可" }
    local smwset_set_table = {}

    local html = mw.html.create()
    local tableElem = html:tag('table')
        :addClass('wikitable')
        :addClass('doc')

    for _, value in ipairs(args) do
        for _, s_value in ipairs(be_data_list) do
            if mw.ustring.find(value, "模板:" .. s_value) then
                args[s_value] = value
            end
        end
    end

    for _, row_data in ipairs(be_data_list) do
        local row = tableElem:tag('tr')
        row:tag('th'):wikitext(row_data)
        if b.is_include_value(row_data, be_have_template_list) then
            if mw.ustring.find(args[row_data], "模板:" .. row_data) then
                row:tag('td'):wikitext(args[row_data])
            else
                row:tag('td'):wikitext("{{" .. row_data .. "|" .. args[row_data] .. "}}")
            end
        else
            local temporary_list = b.str_split(args[row_data], "、")
            for _, value in ipairs(temporary_list) do
                table.insert(smwset_set_table, row_data .. '=' .. value)
            end
            row:tag('td'):wikitext(args[row_data])
        end
    end

    mw.smw.set(smwset_set_table)
    local result = frame:preprocess(tostring(html))
    return result
end

--
return p