打开/关闭菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

模块:系列

来自Cookie☆Wiki
MetroCrt留言 | 贡献2019年5月14日 (二) 17:58的版本 (允许对特定的条目隐藏某些条目)

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

local p = {}

local series_table = mw.loadData('Module:系列/data')

--! 生成声剧系列的列表
--! @param 1 系列名
function p.generate_list()
    local frame = mw.getCurrentFrame()
    local series_name = frame.args[1]
    if series_name == nil then
        return ''
    end
    series = series_table[series_name]
    if series == nil then
        return ''
    end

    local wikitext = ''
    local name_of_this_voice_drama = nil
    for _, voice_drama in ipairs(series) do
        if type(voice_drama) == 'table' then
            local hide_for = voice_drama['hide_for']
            if hide_for ~= nil then
                if type(hide_for) == 'string' then
                    hide_for = { hide_for }
                end

                if name_of_this_voice_drama == nil then
                    name_of_this_voice_drama = frame.args[2] or frame:getParent():getTitle()
                end

                for _, vd_h in ipairs(hide_for) do
                    if name_of_this_voice_drama == vd_h then
                        hide_for = true
                        break
                    end
                end
                if hide_for ~= true then
                    hide_for = false
                end

            end
            if not hide_for then
                 wikitext = wikitext .. '* [[' .. voice_drama['name'] .. ']] ー ' .. voice_drama['note'] .. '\n'
            end
        else
            wikitext = wikitext .. '* [[' .. voice_drama .. ']]\n'
        end
    end

    return wikitext
end

return p