Module:曲目页面:修订间差异

Admin​(留言 | 贡献)
JSON 流水线更新曲目页面模块
Admin​(留言 | 贡献)
JSON 流水线更新曲目页面模块
第40行: 第40行:
end
end


local function findSong(data, name)
local function findSong(data, name, specialOnly)
for _, s in ipairs(data.songs or {}) do
if not specialOnly then
if s['曲名'] == name then
for _, s in ipairs(data.songs or {}) do
return s, false
if s['曲名'] == name then
return s, false
end
end
end
end
end
第52行: 第54行:
end
end
return nil, false
return nil, false
end
local function langWrapName(song)
local lang = song['lang']
if lang == 'ja' then
return '{{lang|ja|' .. esc(song['曲名']) .. '}}'
elseif lang == 'zh-Hant' then
return '{{lang|zh-Hant|' .. esc(song['曲名']) .. '}}'
end
return esc(song['曲名'])
end
end


第73行: 第85行:
end
end


local song, isSpecial = findSong(data, name)
local specialOnly = arg(frame, '特殊', '') == '石墩子'
local song, isSpecial = findSong(data, name, specialOnly)
if not song then
if not song then
return '<span class="error">数据页中找不到曲目: ' .. esc(name)
return '<span class="error">数据页中找不到曲目: ' .. esc(name)
第79行: 第92行:
end
end


local title = arg(frame, '标题', song['曲名'])
local defaultTitle = isSpecial
and (langWrapName(song) .. '(石墩子模式)')
or song['曲名']
local title = arg(frame, '标题', defaultTitle)
local art = songArt(song, isSpecial)
local art = songArt(song, isSpecial)
local consts = song['定数'] or {}
local consts = song['定数'] or {}