Module:曲师列表:修订间差异

Admin​(留言 | 贡献)
JSON 流水线更新渲染模块
标签:手工回退
Admin​(留言 | 贡献)
JSON 流水线更新渲染模块
第21行: 第21行:
local function esc(s)
local function esc(s)
return (tostring(s or ''):gsub('|', '|'))
return (tostring(s or ''):gsub('|', '|'))
end
-- 链接目标: # 是 MediaWiki 的锚点分隔符, 标题里一律换成全角 #
-- 优先用「链接名」字段; 没有就回退到曲名并自动替换 (与 模块:曲目列表 保持一致)
local function pageName(song, suffix)
local n = song['链接名'] or song['曲名']
if suffix then
n = n .. '(' .. suffix .. ')'
end
return (n:gsub('#', '#'))
end
end


第178行: 第188行:
end
end
table.insert(out, '|-')
table.insert(out, '|-')
table.insert(out, '| [[' .. '曲目:' .. esc(s['曲名']) .. '|' .. langWrap(s) .. ']] || '
table.insert(out, '| [[' .. '曲目:' .. esc(pageName(s)) .. '|' .. langWrap(s) .. ']] || '
.. esc(s['时长'] or '') .. ' || ' .. esc(s['BPM'] or '') .. ' || '
.. esc(s['时长'] or '') .. ' || ' .. esc(s['BPM'] or '') .. ' || '
.. '[[' .. '曲包列表#' .. esc(s['曲包'] or '') .. '|' .. esc(s['曲包'] or '') .. ']] || '
.. '[[' .. '曲包列表#' .. esc(s['曲包'] or '') .. '|' .. esc(s['曲包'] or '') .. ']] || '