Skip to content

Instantly share code, notes, and snippets.

@outloudvi
Created December 7, 2021 11:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save outloudvi/dee5d7d61df77be5f1a13270b3ae3f3e to your computer and use it in GitHub Desktop.
Save outloudvi/dee5d7d61df77be5f1a13270b3ae3f3e to your computer and use it in GitHub Desktop.
const HOSHIMI = '星見プロダクション'
const LN = 'LizNoir'
const TY = 'TRINITYAiLE'
const MANA = '长濑麻奈'
const SUNNYP = 'サニーピース'
const TSUKI = '月のテンペスト'
const alb = [
{
ti: ['IDOLY PRIDE(歌曲)', 'IDOLY PRIDE'],
aa: '清竜人',
si: HOSHIMI,
},
{
ti: ['Shine Purity~光辉的纯度~', 'Shine Purity{{lj|〜輝きの純度〜}}'],
aa: '清竜人',
si: HOSHIMI,
},
{
// https://twitter.com/HdkzTanaka/status/1454006384953946114
ti: 'Precious',
ly: 'PA-NON',
mu: '田中秀和',
ar: '田中秀和',
si: MANA,
},
{
ti: 'réaliser',
aa: 'kz',
si: TY,
},
{
ti: 'The Last Chance',
aa: 'Q-MHz',
si: LN,
},
{ ti: 'The Last Chance (莉央&葵ver.)', aa: 'Q-MHz', si: 'AOI' },
{
ti: '月下儚美',
ly: '利根川貴之',
mu: '利根川貴之、坂和也',
ar: '坂和也 & Wicky.Recordings',
si: TSUKI,
},
{
ti: 'SUNNY PEACE HARMONY',
ly: 'acane_madder、北川勝利',
aa: '北川勝利',
si: SUNNYP,
},
{ ti: 'First Step', ly: 'PA-NON', mu: '田中秀和', ar: '田中秀和', si: MANA },
{ ti: '{{lj|星の海の記憶}}', aa: 'やしきん', si: MANA },
{ ti: 'Fight oh! MIRAI oh!', aa: 'Q-MHz', ar: 'Q-MHz、伊藤翼', si: HOSHIMI },
{
ti: '恋と花火',
ly: '利根川貴之',
mu: '利根川貴之、坂和也',
ar: '坂和也 & Wicky.Recordings',
si: TSUKI,
},
{
ti: 'サマー♡ホリデイ',
ly: '藤村鼓乃美、北川勝利',
aa: '北川勝利',
si: SUNNYP,
},
{ ti: 'Aile to Yell', aa: 'kz', si: TY },
{ ti: 'Shock out, Dance!!', aa: 'Q-MHz', si: LN },
{ ti: 'song for you', aa: 'さかいゆう', ly: 'PA-NON', si: MANA },
]
const lines = []
for (const [_idx, item] of alb.entries()) {
const idx = _idx + 1
// | title1 = '''[[MORE MORE JUMP!演唱歌曲#快乐合成器|{{lj|ハッピーシンセサイザ}}]]'''
// | music1 = EasyPop
// | lyrics1 = [[EasyPop]]
// | arranger1 = -
// | singer1 = 花里实乃理、桐谷遥、桃井爱莉、日野森雫
// | longnote1 = 設有2DMV和3DMV
if (!item.ti) console.warn(`No TI for #${idx}`)
switch (typeof item.ti) {
case 'string': {
lines.push(`|title${idx}= [[${item.ti}]]`)
break
}
case 'object': {
if (item.ti.length === 2) {
lines.push(`|title${idx}= [[${item.ti[0]}|${item.ti[1]}]]`)
break
}
}
default: {
console.warn(`Unrecognized TI for #${idx}`, item.ti)
}
}
let ly, mu, ar
if (item.aa) {
ly = mu = ar = item.aa
}
ly = item.ly || ly
mu = item.mu || ly
ar = item.ar || ly
if (ly) lines.push(`|lyrics${idx}= ${ly}`)
if (mu) lines.push(`|music${idx}= ${mu}`)
if (ar) lines.push(`|arranger${idx}= ${ar}`)
if (item.si) lines.push(`|singer${idx}= ${item.si}`)
}
console.log(lines.join('\n'))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment