You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
92 lines
2.6 KiB
92 lines
2.6 KiB
- const { effect,source,sub,typed_option } = theme.subtitle |
|
- let subContent = sub || new Array() |
|
|
|
script. |
|
window.typedJSFn = { |
|
init: (str) => { |
|
window.typed = new Typed('#subtitle', Object.assign({ |
|
strings: str, |
|
startDelay: 300, |
|
typeSpeed: 150, |
|
loop: true, |
|
backSpeed: 50, |
|
}, !{JSON.stringify(typed_option)})) |
|
}, |
|
run: (subtitleType) => { |
|
if (!{effect}) { |
|
if (typeof Typed === 'function') { |
|
subtitleType() |
|
} else { |
|
getScript('!{url_for(theme.asset.typed)}').then(subtitleType) |
|
} |
|
} else { |
|
subtitleType() |
|
} |
|
} |
|
} |
|
|
|
case source |
|
when 1 |
|
script. |
|
function subtitleType () { |
|
fetch('https://v1.hitokoto.cn') |
|
.then(response => response.json()) |
|
.then(data => { |
|
if (!{effect}) { |
|
const from = '出自 ' + data.from |
|
const sub = !{JSON.stringify(subContent)} |
|
sub.unshift(data.hitokoto, from) |
|
typedJSFn.init(sub) |
|
} else { |
|
document.getElementById('subtitle').textContent = data.hitokoto |
|
} |
|
}) |
|
} |
|
typedJSFn.run(subtitleType) |
|
|
|
when 2 |
|
script. |
|
function subtitleType () { |
|
getScript('https://yijuzhan.com/api/word.php?m=js').then(() => { |
|
const con = str[0] |
|
if (!{effect}) { |
|
const from = '出自 ' + str[1] |
|
const sub = !{JSON.stringify(subContent)} |
|
sub.unshift(con, from) |
|
typedJSFn.init(sub) |
|
} else { |
|
document.getElementById('subtitle').textContent = con |
|
} |
|
}) |
|
} |
|
typedJSFn.run(subtitleType) |
|
|
|
when 3 |
|
script. |
|
function subtitleType () { |
|
getScript('https://sdk.jinrishici.com/v2/browser/jinrishici.js').then(() => { |
|
jinrishici.load(result =>{ |
|
if (!{effect}) { |
|
const sub = !{JSON.stringify(subContent)} |
|
const content = result.data.content |
|
sub.unshift(content) |
|
typedJSFn.init(sub) |
|
} else { |
|
document.getElementById('subtitle').textContent = result.data.content |
|
} |
|
}) |
|
}) |
|
} |
|
typedJSFn.run(subtitleType) |
|
|
|
default |
|
- subContent = subContent.length ? subContent : new Array(config.subtitle) |
|
script. |
|
function subtitleType () { |
|
if (!{effect}) { |
|
typedJSFn.init(!{JSON.stringify(subContent)}) |
|
} else { |
|
document.getElementById("subtitle").textContent = !{JSON.stringify(subContent[0])} |
|
} |
|
} |
|
typedJSFn.run(subtitleType) |