Module:曲师列表:修订间差异
JSON 流水线更新渲染模块 标签:手工回退 |
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 | 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 '') .. ']] || ' | ||