mirror of
https://github.com/jerryc127/hexo-theme-butterfly.git
synced 2026-04-16 17:40:55 +08:00
breaking change:
1. 部分配置更改 feat: 1. 移除 messenger 聊天插件 2. 更新 fackbook 版本號 3. 增加 香港繁體、日文和韓語 4. 使用的新的複製api 代替舊的 5. 增加 umami 分析 6. 增加 umami 獲取訪問量/訪客數 7. snackbar 增加透明度 8. 文章頁下, nav fixed 下 顯示文章標題 improvement: 1. 代碼優化 2. 修改部分用語 3. 回復之前的相對時間邏輯 4. timeline tag 樣式優化 5. 優化 seo 6. 優化 artalk 的最新評論 fix: 1. tag-hide toggle 圓角問題 2. lazyload 為 false 時,artalk 無法正常加載評論的 bug 3. 修復 gallery 出現抖動的 bug
This commit is contained in:
16
layout/includes/third-party/math/index.pug
vendored
16
layout/includes/third-party/math/index.pug
vendored
@@ -1,19 +1,11 @@
|
||||
case theme.math.use
|
||||
when 'mathjax'
|
||||
if theme.math.per_page
|
||||
if is_post() || is_page()
|
||||
include ./mathjax.pug
|
||||
else
|
||||
if page.mathjax
|
||||
include ./mathjax.pug
|
||||
if (theme.math.per_page && (is_post() || is_page())) || page.mathjax
|
||||
include ./mathjax.pug
|
||||
|
||||
when 'katex'
|
||||
if theme.math.per_page
|
||||
if is_post() || is_page()
|
||||
include ./katex.pug
|
||||
else
|
||||
if page.katex
|
||||
include ./katex.pug
|
||||
if (theme.math.per_page && (is_post() || is_page())) || page.katex
|
||||
include ./katex.pug
|
||||
|
||||
if theme.mermaid.enable
|
||||
include ./mermaid.pug
|
||||
10
layout/includes/third-party/math/katex.pug
vendored
10
layout/includes/third-party/math/katex.pug
vendored
@@ -1,15 +1,15 @@
|
||||
script.
|
||||
(async () => {
|
||||
const showKatex = () => {
|
||||
const mathElements = document.querySelectorAll('#article-container .katex')
|
||||
mathElements.length && mathElements.forEach((el) => {
|
||||
el.classList.add('katex-show')
|
||||
})
|
||||
document.querySelectorAll('#article-container .katex').forEach(el => el.classList.add('katex-show'))
|
||||
}
|
||||
|
||||
if (!window.katex_js_css) {
|
||||
window.katex_js_css = true
|
||||
await btf.getCSS('!{url_for(theme.asset.katex)}')
|
||||
if (!{theme.math.katex.copy_tex}) await btf.getScript('!{url_for(theme.asset.katex_copytex)}')
|
||||
if (!{theme.math.katex.copy_tex}) {
|
||||
await btf.getScript('!{url_for(theme.asset.katex_copytex)}')
|
||||
}
|
||||
}
|
||||
|
||||
showKatex()
|
||||
|
||||
14
layout/includes/third-party/math/mermaid.pug
vendored
14
layout/includes/third-party/math/mermaid.pug
vendored
@@ -1,13 +1,13 @@
|
||||
script.
|
||||
(() => {
|
||||
const runMermaid = (ele) => {
|
||||
const runMermaid = ele => {
|
||||
window.loadMermaid = true
|
||||
const theme = document.documentElement.getAttribute('data-theme') === 'dark' ? '!{theme.mermaid.theme.dark}' : '!{theme.mermaid.theme.light}'
|
||||
|
||||
Array.from(ele).forEach((item, index) => {
|
||||
ele.forEach((item, index) => {
|
||||
const mermaidSrc = item.firstElementChild
|
||||
const mermaidThemeConfig = '%%{init:{ \'theme\':\'' + theme + '\'}}%%\n'
|
||||
const mermaidID = 'mermaid-' + index
|
||||
const mermaidThemeConfig = `%%{init:{ 'theme':'${theme}'}}%%\n`
|
||||
const mermaidID = `mermaid-${index}`
|
||||
const mermaidDefinition = mermaidThemeConfig + mermaidSrc.textContent
|
||||
|
||||
const renderFn = mermaid.render(mermaidID, mermaidDefinition)
|
||||
@@ -16,14 +16,14 @@ script.
|
||||
}
|
||||
|
||||
// mermaid v9 and v10 compatibility
|
||||
typeof renderFn === 'string' ? renderMermaid(renderFn) : renderFn.then(({svg}) => renderMermaid(svg))
|
||||
typeof renderFn === 'string' ? renderMermaid(renderFn) : renderFn.then(({ svg }) => renderMermaid(svg))
|
||||
})
|
||||
}
|
||||
|
||||
const codeToMermaid = () => {
|
||||
const codeMermaidEle = document.querySelectorAll('pre > code.mermaid')
|
||||
if (codeMermaidEle.length === 0) return
|
||||
|
||||
|
||||
codeMermaidEle.forEach(ele => {
|
||||
const preEle = document.createElement('pre')
|
||||
preEle.className = 'mermaid-src'
|
||||
@@ -45,7 +45,7 @@ script.
|
||||
btf.addGlobalFn('themeChange', runMermaidFn, 'mermaid')
|
||||
window.loadMermaid ? runMermaidFn() : btf.getScript('!{url_for(theme.asset.mermaid)}').then(runMermaidFn)
|
||||
}
|
||||
|
||||
|
||||
btf.addGlobalFn('encrypt', loadMermaid, 'mermaid')
|
||||
window.pjax ? loadMermaid() : document.addEventListener('DOMContentLoaded', loadMermaid)
|
||||
})()
|
||||
Reference in New Issue
Block a user