From b3eca7e8f19fd6173826c6292b80c13b1bcf6e70 Mon Sep 17 00:00:00 2001 From: "1152958806@qq.com" <1152958806@qq.com> Date: Sun, 17 Sep 2023 22:34:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=AF=84=E8=AE=BA=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- settings.yaml | 7 +- templates/assets/js/comment/artalk.js | 54 +++++++++++++++ templates/assets/js/comment/waline.js | 29 +++++++++ templates/assets/zhheo/zhheoblog.css | 2 +- .../comment/newest-comments/Artalk.html | 65 +------------------ .../comment/newest-comments/Waline.html | 33 +--------- templates/post.html | 17 +++-- 7 files changed, 103 insertions(+), 104 deletions(-) create mode 100644 templates/assets/js/comment/artalk.js create mode 100644 templates/assets/js/comment/waline.js diff --git a/settings.yaml b/settings.yaml index c6de27c5..31bbf899 100644 --- a/settings.yaml +++ b/settings.yaml @@ -2292,6 +2292,7 @@ spec: - $formkit: group if: $get(twikooEnable).value name: twikoos + key: twikoos label: Twikoo评论配置 (文档:https://twikoo.js.org/) value: envId: @@ -2334,6 +2335,7 @@ spec: - $formkit: group if: $get(artalkEnable).value name: artalks + key: artalks label: Artalk评论配置 (文档:https://artalk.js.org/) value: siteName: "" @@ -2382,6 +2384,7 @@ spec: - $formkit: group if: $get(walineEnable).value name: walines + key: walines label: Waline评论配置 (文档:https://waline.js.org/) value: serverURL: "" @@ -2409,9 +2412,9 @@ spec: help: 主题的walines版本是最新版本(如果你使用的不是最新版本请自己引入css文件) - $formkit: group name: commentBarrageConfig - if: ($get(use).value == 'Artalk' && $get(twikooEnable).value) || + if: ($get(use).value == 'Artalk' && $get(artalkEnable).value) || ($get(use).value == 'Twikoo' && $get(twikooEnable).value) || - ($get(use).value == 'Waline' && $get(twikooEnable).value) + ($get(use).value == 'Waline' && $get(walineEnable).value) label: 留言弹幕配置 value: commentBarrageEnable: true diff --git a/templates/assets/js/comment/artalk.js b/templates/assets/js/comment/artalk.js new file mode 100644 index 00000000..e193ed01 --- /dev/null +++ b/templates/assets/js/comment/artalk.js @@ -0,0 +1,54 @@ +(() => { + if (!document.getElementById('post-comment')) return + const initArtalk = () => { + + window.artalkItem = new Artalk(Object.assign({ + el: '#artalk-wrap', + server: GLOBAL_CONFIG.source.artalk.artalkUrl, + site: GLOBAL_CONFIG.source.artalk.siteName, + pageKey: location.pathname, + darkMode: document.documentElement.getAttribute('data-theme') === 'dark', + countEl: '#ArtalkCount' + }, null)) + + if (GLOBAL_CONFIG.lightbox === 'null') return + window.artalkItem.use(ctx => { + ctx.on('list-loaded', () => { + ctx.getCommentList().forEach(comment => { + const $content = comment.getRender().$content + btf.loadLightbox($content.querySelectorAll('img:not([atk-emoticon])')) + }) + }) + }) + } + + const loadArtalk = async () => { + if (typeof window.artalkItem === 'object') initArtalk() + else { + await getCSS(GLOBAL_CONFIG.source.artalk.css) + await getScript(GLOBAL_CONFIG.source.artalk.js) + initArtalk() + } + } + + document.getElementById('darkmode') && document.getElementById('darkmode').addEventListener('click', () => { + setDarkMode() + }) + document.getElementById('menu-darkmode') && document.getElementById('menu-darkmode').addEventListener('click', () => { + setDarkMode() + }) + document.getElementById('darkmode_switchbutton') && document.getElementById('darkmode_switchbutton').addEventListener('click', () => { + setDarkMode() + }) + function setDarkMode() { + if (typeof window.artalkItem !== 'object') return + let isDark = document.documentElement.getAttribute('data-theme') === 'dark' + window.artalkItem.setDarkMode(!isDark) + } + if ('Artalk' === 'Artalk' || !false) { + if (false) btf.loadComment(document.getElementById('artalk-wrap'), loadArtalk) + else loadArtalk() + } else { + window.loadOtherComment = loadArtalk + } +})() \ No newline at end of file diff --git a/templates/assets/js/comment/waline.js b/templates/assets/js/comment/waline.js new file mode 100644 index 00000000..beb82c3c --- /dev/null +++ b/templates/assets/js/comment/waline.js @@ -0,0 +1,29 @@ +(() => { + if (!document.getElementById('post-comment')) return + function initWaline() { + const waline = Waline.init(Object.assign({ + el: '#waline-wrap', + serverURL: GLOBAL_CONFIG.source.waline.serverURL, + pageview: false, + dark: 'html[data-theme="dark"]', + path: window.location.pathname, + comment: false, + }, null)) + } + + const loadWaline = async () => { + if (typeof Waline === 'object') initWaline() + else { + await getCSS(GLOBAL_CONFIG.source.waline.css) + await getScript(GLOBAL_CONFIG.source.waline.js) + initWaline() + } + } + + if ('Waline' === 'Waline' || !false) { + if (false) btf.loadComment(document.getElementById('waline-wrap'), loadWaline) + else setTimeout(loadWaline, 0) + } else { + window.loadOtherComment = loadWaline + } +})() \ No newline at end of file diff --git a/templates/assets/zhheo/zhheoblog.css b/templates/assets/zhheo/zhheoblog.css index c0a09263..468afd5b 100644 --- a/templates/assets/zhheo/zhheoblog.css +++ b/templates/assets/zhheo/zhheoblog.css @@ -10772,7 +10772,7 @@ span.post-meta-position { opacity: 1; } -#twikoo-count { +#twikoo-count,#ArtalkCount { font-weight: 800; color: var(--heo-white); } diff --git a/templates/modules/comment/newest-comments/Artalk.html b/templates/modules/comment/newest-comments/Artalk.html index 256558f7..8b19d5fc 100644 --- a/templates/modules/comment/newest-comments/Artalk.html +++ b/templates/modules/comment/newest-comments/Artalk.html @@ -5,66 +5,7 @@ && #strings.equals(theme.config.comments.use, 'Artalk') && not #strings.isEmpty(theme.config.comments.artalks.server)}">