jerryc127 / hexo-theme-butterfly

🦋 A Hexo Theme: Butterfly
https://butterfly.js.org
Apache License 2.0
7.1k stars 1.28k forks source link

[Bug]: 文章页面无法加载twikoo评论的数量 #1461

Closed Bro-B closed 7 months ago

Bro-B commented 7 months ago

使用的 Butterfly 版本? | What version of Butterfly are you use?

4.12.0

是否修改过主题文件? || Has the theme files been modified?

不是 (No)

使用的瀏覽器? || What browse are you using?

Chrome

使用的系統? || What operating system are you using?

Windows

依賴插件 | Package dependencies Information

hexo-site@0.0.0 D:\demo\MyProjects\Bro-B.github.io
+-- hexo@7.0.0 -> D:\demo\MyProjects\Bro-B.github.io\node_modules\.pnpm\hexo@7.0.0\node_modules\hexo
+-- hexo-deployer-git@4.0.0
+-- hexo-generator-archive@2.0.0 -> D:\demo\MyProjects\Bro-B.github.io\node_modules\.pnpm\hexo-generator-archive@2.0.0\node_modules\hexo-generator-archive   
+-- hexo-generator-category@2.0.0 -> D:\demo\MyProjects\Bro-B.github.io\node_modules\.pnpm\hexo-generator-category@2.0.0\node_modules\hexo-generator-category
+-- hexo-generator-index@3.0.0 -> D:\demo\MyProjects\Bro-B.github.io\node_modules\.pnpm\hexo-generator-index@3.0.0\node_modules\hexo-generator-index
+-- hexo-generator-searchdb@1.4.1
+-- hexo-generator-sitemap@3.0.1
+-- hexo-generator-tag@2.0.0 -> D:\demo\MyProjects\Bro-B.github.io\node_modules\.pnpm\hexo-generator-tag@2.0.0\node_modules\hexo-generator-tag
+-- hexo-renderer-ejs@2.0.0 -> D:\demo\MyProjects\Bro-B.github.io\node_modules\.pnpm\hexo-renderer-ejs@2.0.0\node_modules\hexo-renderer-ejs
+-- hexo-renderer-marked@6.0.0
+-- hexo-renderer-pug@3.0.0
+-- hexo-renderer-stylus@3.0.0
+-- hexo-server@3.0.0 -> D:\demo\MyProjects\Bro-B.github.io\node_modules\.pnpm\hexo-server@3.0.0\node_modules\hexo-server
+-- hexo-theme-butterfly@4.12.0
+-- hexo-theme-landscape@1.0.0
`-- hexo-wordcount@6.0.1

問題描述 | Describe the bug

twikoo对象没获取到: image

出現問題網站 | Website

cyanfish.site

dongyubin commented 7 months ago

我将themes\butterfly\layout\includes\third-party\comments\twikoo.pug改成4.9.0版本的,就可以了,下面是4.9.0版本的代码

- const { envId, region, option } = theme.twikoo
- const { use, lazyload, count } = theme.comments

script.
  (() => {
    const init = () => {
      twikoo.init(Object.assign({
        el: '#twikoo-wrap',
        envId: '!{envId}',
        region: '!{region}',
        onCommentLoaded: () => {
          btf.loadLightbox(document.querySelectorAll('#twikoo .tk-content img:not(.tk-owo-emotion)'))
        }
      }, !{JSON.stringify(option)}))
    }

    const getCount = () => {
      const countELement = document.getElementById('twikoo-count')
      if(!countELement) return
      twikoo.getCommentsCount({
        envId: '!{envId}',
        region: '!{region}',
        urls: [window.location.pathname],
        includeReply: false
      }).then(res => {
        countELement.textContent = res[0].count
      }).catch(err => {
        console.error(err)
      });
    }

    const runFn = () => {
      init()
      !{count ? 'GLOBAL_CONFIG_SITE.isPost && getCount()' : ''}
    }

    const loadTwikoo = () => {
      if (typeof twikoo === 'object') {
        setTimeout(runFn,0)
        return
      } 
      getScript('!{url_for(theme.asset.twikoo)}').then(runFn)
    }

    if ('!{use[0]}' === 'Twikoo' || !!{lazyload}) {
      if (!{lazyload}) btf.loadComment(document.getElementById('twikoo-wrap'), loadTwikoo)
      else loadTwikoo()
    } else {
      window.loadOtherComment = () => {
        loadTwikoo()
      }
    }
  })()
jerryc127 commented 7 months ago

https://github.com/jerryc127/hexo-theme-butterfly/commit/d9829167aa4d895b291b532aa18b326554a2b07c