Module:曲目页面:修订间差异
JSON 流水线更新曲目页面模块 |
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 | ||
for _, s in ipairs(data.songs or {}) do | |||
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, '标题', | 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 {} | ||