next-theme / hexo-next-giscus

Giscus comment system for NexT
MIT License
24 stars 3 forks source link

v1.1.0 TypeError: Cannot read property 'replace' of undefined #8

Closed Longhao-Chen closed 11 months ago

Longhao-Chen commented 1 year ago

更新到1.1.0版本后,使用hexo g编译,出现如下报错:

Template render error: (/tmp/blog/themes/next/layout/tag.njk)
  Template render error: (/tmp/blog/themes/next/layout/tag.njk) [Line 35, Column 21]
  Template render error: (/tmp/blog/themes/next/layout/tag.njk) [Line 36, Column 25]
  Template render error: (/tmp/blog/themes/next/layout/tag.njk) [Line 49, Column 17]
  Template render error: (/tmp/blog/themes/next/layout/tag.njk)
  Template render error: (/tmp/blog/themes/next/layout/_partials/head/head-unique.njk) [Line 19, Column 12]
  Template render error: (/tmp/blog/themes/next/layout/tag.njk) [Line 4, Column 22]
  Template render error: (/tmp/blog/themes/next/layout/tag.njk)
  Template render error: (/tmp/blog/themes/next/layout/_partials/header/index.njk) [Line 6, Column 15]
  Template render error: (/tmp/blog/themes/next/layout/tag.njk) [Line 6, Column 3]
  Template render error: (/tmp/blog/themes/next/layout/tag.njk)
  Template render error: (/tmp/blog/themes/next/layout/_partials/header/sub-menu.njk) [Line 2, Column 29]
  Template render error: (/tmp/blog/themes/next/layout/tag.njk)
  Template render error: (/tmp/blog/themes/next/layout/_partials/header/sub-menu.njk)
  Template render error: (/tmp/blog/themes/next/layout/tag.njk) [Line 22, Column 29]
  Template render error: (/tmp/blog/themes/next/layout/tag.njk)
  Template render error: (/tmp/blog/themes/next/layout/_partials/pagination.njk)
  Template render error: (/tmp/blog/themes/next/layout/tag.njk)
  Template render error: (/tmp/blog/themes/next/layout/_partials/comments.njk)
  Template render error: (/tmp/blog/themes/next/layout/tag.njk)
  Template render error: (/tmp/blog/themes/next/layout/_partials/languages.njk)
  Template render error: (/tmp/blog/themes/next/layout/tag.njk)
  Template render error: (/tmp/blog/themes/next/layout/_third-party/math/index.njk) [Line 18, Column 14]
  Template render error: (/tmp/blog/themes/next/layout/tag.njk)
  Template render error: (/tmp/blog/themes/next/layout/_third-party/quicklink.njk)
  Template render error: (/tmp/blog/themes/next/layout/inject/bodyEnd/giscus.njk)
  TypeError: Cannot read property 'replace' of undefined
    at Object._prettifyError (/tmp/blog/node_modules/nunjucks/src/lib.js:36:11)
    at /tmp/blog/node_modules/nunjucks/src/environment.js:563:19
    at Template.root [as rootRenderFunc] (eval at _compile (/tmp/blog/node_modules/nunjucks/src/environment.js:633:18), <anonymous>:49:3)
    at Template.render (/tmp/blog/node_modules/nunjucks/src/environment.js:552:10)
    at /tmp/blog/node_modules/hexo/lib/plugins/renderer/nunjucks.js:67:37
    at _View._compiled (/tmp/blog/node_modules/hexo/lib/theme/view.js:136:50)
    at _View.render (/tmp/blog/node_modules/hexo/lib/theme/view.js:39:17)
    at /tmp/blog/node_modules/hexo/lib/hexo/index.js:64:21
    at tryCatcher (/tmp/blog/node_modules/bluebird/js/release/util.js:16:23)
    at /tmp/blog/node_modules/bluebird/js/release/method.js:15:34
    at RouteStream._read (/tmp/blog/node_modules/hexo/lib/hexo/router.js:47:5)
    at RouteStream.Readable.read (_stream_readable.js:469:10)
    at resume_ (_stream_readable.js:983:12)
    at processTicksAndRejections (internal/process/task_queues.js:84:21)

环境信息:

$ npm list
Longhao.Chen's blog@0.0.0 /tmp/blog
├── hexo-deployer-git@3.0.0
├── hexo-generator-archive@1.0.0
├── hexo-generator-category@1.0.0
├── hexo-generator-index@2.0.0
├── hexo-generator-searchdb@1.4.1
├── hexo-generator-sitemap@3.0.1
├── hexo-generator-tag@1.0.0
├── hexo-next-giscus@1.1.0 (git+ssh://git@github.com/next-theme/hexo-next-giscus.git#e887d77d92e96dc721305a709c24400bdc044383)
├── hexo-renderer-ejs@2.0.0
├── hexo-renderer-marked@5.0.0
├── hexo-renderer-stylus@2.1.0
├── hexo-server@3.0.0
├── hexo-word-counter@0.0.3
└── hexo@6.3.0

Next版本:v8.14.1

经过实验,如果把giscus.njk中的内容清空,就不会报错,只要里面有任何内容,就会出现上诉错误。

HCY-ASLEEP commented 1 year ago

not work too...

aixiu commented 1 year ago

我也遇到相同的问题,暂时不更新插件,使用,1.0.3版本完美。

arix00 commented 1 year ago

一样的问题,原因在于 giscus.njk的第一行

{{ next_data('giscus', theme.giscus) }}

theme.giscus只读 _config.next.ymlgiscus配置,如果写在_config.yml导致theme.giscus为空就报错。 暂时可以把配置部分移到_config.next.yml解决问题。

改成config.giscus 应该两个位置都可以

stevenjoezhang commented 11 months ago

Fixed in https://github.com/next-theme/hexo-next-giscus/commit/f760608c78b4296dda100b55af796e7f470edee2 不好意思,之前没 watch 这个仓库,最近才看到通知

stevenjoezhang commented 11 months ago

1.2.0 版本已发布

tisonkun commented 11 months ago

牛的!让我来升级测试一波 >_<