在Hexo-Next8主题下配置Twikoo评论

前情提要

本博客是Hexo + Github搭建的,之前本来使用的是Butterfly主题,但是因为对于滚动条和分级标题格式的不喜欢,又换回经典的Next主题,同时这次终于把Twikoo也迁移过来了,本文主要讲述Next主题下Twikoo评论的配置问题。

部署Twikoo

可参考官方文档,包含云函数部署前端部署

云函数部署

参考一键部署

前端部署

目前在Next 8才能使用,在Hexo 项目根目录下执行

1
2
3
4
# For NexT version >= 8.0.0 && < 8.4.0
npm install hexo-next-twikoo@1.0.0
# For NexT version >= 8.4.0
npm install hexo-next-twikoo@1.0.3

然后在Hexo的Next主题配置文件添加

1
2
3
4
5
twikoo:
enable: true
visitor: true
envId: xxxxxxxxxxxxxxx # 腾讯云环境填 envId;Vercel 环境填地址(https://xxx.vercel.app)
# region: ap-guangzhou # 环境地域,默认为 ap-shanghai,腾讯云环境填 ap-shanghai 或 ap-guangzhou;Vercel 环境不填

常见问题

Next 8主题报错

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
INFO  Start processing
FATAL {
err: Error: ENOENT: no such file or directory, open 'E:\***\Blog\hexo\node_modules\highlight.js/styles/stackoverflow-dark.css'
at Object.openSync (fs.js:458:3)
at Object.readFileSync (fs.js:360:35)
at highlightTheme (E:\***\Blog\hexo\themes\hexo-theme-next-8.10.1\scripts\events\lib\utils.js:19:22)
at module.exports (E:\***\Blog\hexo\themes\hexo-theme-next-8.10.1\scripts\events\lib\highlight.js:20:13)
at Hexo.<anonymous> (E:\***\Blog\hexo\themes\hexo-theme-next-8.10.1\scripts\events\index.js:13:29)
at Hexo.tryCatcher (E:\***\Blog\hexo\node_modules\bluebird\js\release\util.js:16:23)
at Hexo.<anonymous> (E:\***\Blog\hexo\node_modules\bluebird\js\release\method.js:15:34)
at E:\***\Blog\hexo\node_modules\hexo\lib\extend\filter.js:67:52
at tryCatcher (E:\***\Blog\hexo\node_modules\bluebird\js\release\util.js:16:23)
at Object.gotValue (E:\***\Blog\hexo\node_modules\bluebird\js\release\reduce.js:166:18)
at Object.gotAccum (E:\***\Blog\hexo\node_modules\bluebird\js\release\reduce.js:155:25)
at Object.tryCatcher (E:\***\Blog\hexo\node_modules\bluebird\js\release\util.js:16:23)
at Promise._settlePromiseFromHandler (E:\***\Blog\hexo\node_modules\bluebird\js\release\promise.js:547:31)
at Promise._settlePromise (E:\***\Blog\hexo\node_modules\bluebird\js\release\promise.js:604:18)
at Promise._settlePromiseCtx (E:\***\Blog\hexo\node_modules\bluebird\js\release\promise.js:641:10)
at _drainQueueStep (E:\***\Blog\hexo\node_modules\bluebird\js\release\async.js:97:12)
at _drainQueue (E:\***\Blog\hexo\node_modules\bluebird\js\release\async.js:86:9)
at Async._drainQueues (E:\***\Blog\hexo\node_modules\bluebird\js\release\async.js:102:5)
at Immediate.Async.drainQueues [as _onImmediate] (E:\***\Blog\hexo\node_modules\bluebird\js\release\async.js:15:14)
at processImmediate (internal/timers.js:456:21) {
errno: -4058,
syscall: 'open',
code: 'ENOENT',
path: 'E:\\***\\Blog\\hexo\\node_modules\\highlight.js/styles/stackoverflow-dark.css'
}
} Something's wrong. Maybe you can find the solution here: %s https://hexo.io/docs/troubleshooting.html

需下载代码高亮插件 highlight.js

1
npm install highlight.js

如何获得管理面板的私钥文件

  • 进入环境-登录授权,点击“自定义登录”右边的“私钥下载”,下载私钥文件(注意:下载新的私钥,旧的私钥一小时后就会失效)
  • 用文本编辑器打开私钥文件,复制全部内容
  • 点击评论窗口的“小齿轮”图标,粘贴私钥文件内容,并设置管理员密码

如何修改、重置管理员密码

请前往云开发控制台编辑配置,删除 config.ADMIN_PASS 配置项,修改 config.CREDENTIALS 配置项,换成新的私钥,然后前往 Twikoo 管理面板重新设置密码。

如何修改头像

请前往 https://cn.gravatar.com通过邮箱注册并设定头像,评论时,请留下相同的邮箱。

访客还可以通过输入数字 QQ 邮箱地址,使用 QQ 头像发表评论。

相关文档