跳至內容

「Module:ConvertLink」:修訂間差異

移除 273 位元組 、​ 2024年7月23日 (星期二)
预更新ComplexArtistsList.json (CALv2)
無編輯摘要
(预更新ComplexArtistsList.json (CALv2))
行 17: 行 17:
-- 返回:带链接的曲师名称
-- 返回:带链接的曲师名称
-- 若预期返回多个链接,实际返回一个链接;或曲师使用了马甲未能正确识别,请在 Template:ComplexArtistsList.json 添加新规则
-- 若预期返回多个链接,实际返回一个链接;或曲师使用了马甲未能正确识别,请在 Template:ComplexArtistsList.json 添加新规则
-- 添加示例:
  --  "LaurvsCK": [  ## 曲目的曲师,空格替换为空(' ' -> '':"Laur vs CK" -> "LaurvsCK")
  --    {
  --      "link": "Laur",  ## 第一位曲师的链接,建议使用曲师列表中对应<span id="xx" />位置的名称
  --      "display": "Laur" ## 第一位曲师的显示名称,复制进来即可
  --    },
  --    {
  --      "link": false,  # link为false,表示这组字符串不需要链接或不在曲师列表中
  --      "display": " vs " # 不需要链接的字符串,空格也要包括
  --    },
  --    {
  --      "link": "CK(しーけー)", ## 下一位曲师的链接,找到<span id="CK(しーけー)" />填入
  --      "display": "CK" ## 下一位曲师的显示名称,复制进来即可,此时值与link的值不同
  --    }
  --  ]
-- 注意事项:json转义符,如曲师名称有 " 需要写成 \"(点名Gram(DJ Genki))
-- 注意事项:json转义符,如曲师名称有 " 需要写成 \"(点名Gram(DJ Genki))
if artistName then artistName=tostring(artistName) else return end
if artistName then artistName=tostring(artistName) else return end
local cal = mw.loadJsonData 'Template:ComplexArtistsList.json'
local CAL = mw.loadJsonData 'Template:ComplexArtistsList.json'
local CALv2 = mw.loadJsonData 'User:Economy666/ComplexArtistsList.json'
local function formatJapaneseText(text)
local function formatJapaneseText(text)
if not text then return text end
if not text then return text end
行 44: 行 30:
end
end
local artist = ''
local artist = ''
local artist_list = cal[artistName] or cal[string.gsub(artistName, ' ' , '')]
local artist_list = CALv2[artistName]
if artist_list then
if artist_list then
for _, data in ipairs(artist_list) do
if artist_list.__FullData__ then
local display_ja = formatJapaneseText(data.display)
for _, data in ipairs(artist_list.__FullData__) do
if data.link then
local display_ja = formatJapaneseText(data.display)
   artist = artist .. (display_ja and link('曲师列表#' .. data.link, display_ja) or '')
if data.link then
   else
   artist = artist .. (display_ja and link('曲师列表#' .. data.link, display_ja) or '')
   artist = artist .. (display_ja or '')
   else
   artist = artist .. (display_ja or '')
end
end
else
artist = artistName
for theLink, display in pairs(artist_list) do
if type(display)=='string' then
local display_ja = formatJapaneseText(display)
artist = string.gsub(artist, display, display_ja and link('曲师列表#' .. theLink, display_ja) or '')
elseif type(display)=='table' then
for _,d in pairs(display) do
local d_ja = formatJapaneseText(d)
artist = string.gsub(artist, d, d_ja and link('曲师列表#' .. theLink, d_ja) or '')
end
end
end
end
end
end
956

次編輯