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

Admin​(留言 | 贡献)
链接文本改为「本曲实际使用的署名」(原署名);文本已体现原串时不再重复加名义备注
Admin​(留言 | 贡献)
输出加 __NOCONTENTCONVERT__/__NOTITLECONVERT__:署名与曲名保持 UTF-8 原字,不做繁简变体转换(无需给名字加包裹,无 DOM 开销)
 
(未显示同一用户的2个中间版本)
第63行: 第63行:
local function linkedCredits(raw, lk, page, known)
local function linkedCredits(raw, lk, page, known)
if not raw or raw == '' then return '' end
if not raw or raw == '' then return '' end
local linked = parse.linkify(raw, lk, { page = page, known = known })
if linked then return linked end
local parts = parse.attribute(lk, raw) or parse.parts(raw)
local parts = parse.attribute(lk, raw) or parse.parts(raw)
local out = {}
local out = {}
第73行: 第75行:
end
end
end
end
-- 本曲实际使用的名义(真·马甲/组合标签/带注释 才提示)
-- 回退分支:
local note = ''
--  ① 解析出多个主名义(标签式合作名义,如 rank.x / Kevin.B / ↑=192.333KB/s)
if parse.creditNote(raw, lk) and parse.norm(raw) ~= parse.norm(table.concat((function()
--    → 「合作名义<br>主名义A链接 / 主名义B链接」
local t = {}
--  ② 单个主名义 → 直接显示(原名与主名义不同时补「(名义:X)」)
for _, pt in ipairs(parts) do t[#t + 1] = (pt.rawPart or pt.base) end
local joined = table.concat(out, ' / ')
return t
if #parts > 1 then
end)(), ' / ')) then
return esc(raw) .. '<br>' .. joined
note = ' <span style="font-size:85%;color:#666">(名义:' .. esc(raw) .. ')</span>'
end
end
return table.concat(out, ' / ') .. note
if parse.creditNote(raw, lk) and parse.norm(raw) ~= parse.norm(parts[1].rawPart or parts[1].base) then
return joined .. ' <span style="font-size:85%;color:#666">(名义:' .. esc(raw) .. ')</span>'
end
return joined
end
end


第240行: 第244行:


-- 展开 {{曲目信息框}} 等模板
-- 展开 {{曲目信息框}} 等模板
return frame:preprocess(table.concat(out, '\n'))
return frame:preprocess('__NOCONTENTCONVERT__\n__NOTITLECONVERT__\n' .. table.concat(out, '\n'))
end
end


return p
return p