更多操作
此模块的文档可以在模块:系列/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 = frame.args[2]
local item_count = 0
for _, voice_drama in ipairs(series) do
if type(voice_drama) == 'string' then
voice_drama = { name = voice_drama }
else
end
local hide_for = voice_drama['hide_for']
if hide_for ~= nil then
if type(hide_for) == 'string' then
hide_for = { hide_for }
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
local name = voice_drama['name']
if name_of_this_voice_drama ~= name then
item_count = item_count + 1
end
wikitext = wikitext .. '* [[' .. name .. ']]'
local note = voice_drama['note']
if note ~= nil then
wikitext = wikitext .. ' ー ' .. note
end
wikitext = wikitext .. '\n'
end
end
if item_count == 0 then return '' end
return wikitext
end
return p