mirror of
https://github.com/jerryc127/hexo-theme-butterfly.git
synced 2025-09-15 12:58:48 +08:00
feat: 設置了隨系統而切換淺色和深色模式後,評論和 mermaind 也會跟隨切換顏色 feat: artalk 最新評論,從 artalk 配置讀取頭像 CDN 和默認頭像 fix: 修復代碼塊在未展開時,點擊複製按鈕,無法複製的 bug improvement: 代碼和性能優化 improvement: artalk 獲取評論數,由 LoadCountWidget 改為 loadCountWidget
30 lines
1.2 KiB
Plaintext
30 lines
1.2 KiB
Plaintext
script.
|
|
(() => {
|
|
const $mermaidWrap = document.querySelectorAll('#article-container .mermaid-wrap')
|
|
if ($mermaidWrap.length) {
|
|
window.runMermaid = () => {
|
|
window.loadMermaid = true
|
|
const theme = document.documentElement.getAttribute('data-theme') === 'dark' ? '!{theme.mermaid.theme.dark}' : '!{theme.mermaid.theme.light}'
|
|
|
|
Array.from($mermaidWrap).forEach((item, index) => {
|
|
const mermaidSrc = item.firstElementChild
|
|
const mermaidThemeConfig = '%%{init:{ \'theme\':\'' + theme + '\'}}%%\n'
|
|
const mermaidID = 'mermaid-' + index
|
|
const mermaidDefinition = mermaidThemeConfig + mermaidSrc.textContent
|
|
mermaid.mermaidAPI.render(mermaidID, mermaidDefinition, (svgCode) => {
|
|
mermaidSrc.insertAdjacentHTML('afterend', svgCode)
|
|
})
|
|
})
|
|
}
|
|
|
|
const loadMermaid = () => {
|
|
window.loadMermaid ? runMermaid() : getScript('!{url_for(theme.asset.mermaid)}').then(runMermaid)
|
|
}
|
|
|
|
btf.addModeChange('mermaid', () => {
|
|
window.runMermaid()
|
|
})
|
|
|
|
window.pjax ? loadMermaid() : document.addEventListener('DOMContentLoaded', loadMermaid)
|
|
}
|
|
})() |