博客评论系统折腾记录:Twikoo 暂缓,Giscus 先顶上

博客评论系统折腾记录:Twikoo 暂缓,Giscus 先顶上
阿晖博客评论系统折腾记录:Twikoo 暂缓,Giscus 先顶上
最近给博客折腾评论系统,原本想一步到位上 Twikoo,让访客不用 GitHub 账号也能评论,体验更接近普通留言板。结果真上手才发现:技术链路倒是不难,真正卡我的居然是 备案和 HTTPS 😅
所以这篇就简单记录一下这次折腾过程:前半段快速说说 Twikoo 为什么先搁置,后半段重点写我最后临时启用 Giscus 的操作流程。等备案处理好以后,随时可以再切回 Twikoo。🚀
一、Twikoo 为什么先放一放?🧩
Twikoo 本身是很适合博客评论的,尤其是国内访客场景:
- 访客可以填昵称、邮箱、网址直接评论,不强制 GitHub 登录 👍
- 支持评论管理后台
- 支持最新评论
- 和 Anzhiyu 主题的评论弹幕、最新评论模块更搭
- 私有部署也可以直接 Docker 跑起来
我这边其实已经把 Twikoo 后端跑起来了:
1 | docker run -d \ |
服务器本地测试也正常:
1 | curl http://127.0.0.1:18080 |
返回类似这样:
1 | {"code":100,"message":"Twikoo 云函数运行正常...","version":"1.7.11"} |
但问题出在域名这一步。我的评论子域名打算用:
1 | comments.therealman.top |
因为服务器是国内机器,域名没有完成备案/接入备案,申请 HTTPS 证书时会被拦住。浏览器里的博客是 HTTPS,评论接口也必须是 HTTPS,否则会被浏览器拦截。于是 Twikoo 只能先暂时搁置。🥲
简单说就是:
Twikoo 技术上能跑,但国内服务器 + 未备案域名,会卡在 HTTPS 和访问这一层。
等后面备案搞定,只要 https://comments.therealman.top 能正常访问,就可以随时切回 Twikoo。这个坑先记着,后面再填。🛠️
二、临时方案:先用 Giscus 顶上 💬
Twikoo 暂时没法上线,那评论总不能继续空着吧?所以我先用了 Giscus。
Giscus 的思路很简单:
把博客评论存到 GitHub Discussions 里。
它的优点是:
- 不需要自己维护数据库
- 不需要服务器后端
- 和 GitHub 仓库天然绑定
- 配置好以后加载很稳
- 适合静态博客临时快速上线评论功能 ✨
缺点也很明显:
- 评论者需要 GitHub 账号
- 严格来说不是“谁都能评论”
- 最新评论、弹幕这类 Twikoo 功能就先用不了
对我来说,它现在就是一个很合适的临时方案:先让评论区活起来,后面备案完成再切回 Twikoo。😎
三、Giscus 的准备工作 🧱
1. 准备一个评论仓库
我单独建了一个 GitHub 仓库来放评论:
1 | ikunkunkunkunkunkun/ssman-comments |
这个仓库要注意几点:
- 仓库必须是 Public
- 要开启 Discussions
- 要有一个讨论分类,比如
General - 要安装 Giscus App
这样 Giscus 才能把每篇文章对应到 GitHub Discussion。
2. 开启 GitHub Discussions
进入评论仓库:
1 | Settings -> Features -> Discussions |
勾选 Discussions。
然后去 Discussions 页面确认有分类,比如:
1 | General |
我这里用的就是 General。📌
3. 安装 Giscus App
打开 Giscus App 页面:
1 | https://github.com/apps/giscus |
点击安装,然后选择刚才那个评论仓库。
这里一定要确认授权到了正确仓库。如果没装好,Giscus 会报:
1 | giscus is not installed on this repository |
我一开始就卡在这里过,后来重新授权仓库以后才正常。😂
四、在 giscus.app 生成配置 ⚙️
打开:
1 | https://giscus.app/zh-CN |
然后按自己的博客情况填写。
我这里主要是这样:
1 | 仓库:ikunkunkunkunkunkun/ssman-comments |
配置完成后,页面会生成一段脚本,里面最关键的是这些值:
1 | data-repo |
我的最终配置里用到的是:
1 | repo: ikunkunkunkunkunkun/ssman-comments |
这些值别手打猜,最好从 giscus.app 生成结果里复制。稳一点。👌
五、Hexo + Anzhiyu 里怎么配 🐟
我的博客用的是 Hexo + Anzhiyu 主题,评论配置主要改 _config.anzhiyu.yml。
核心配置类似这样:
1 | comments: |
因为 Giscus 不支持 Anzhiyu 的 Twikoo 最新评论和弹幕,所以这两个我也先关掉:
1 | newest_comments: |
不关的话,侧边栏可能一直 loading,或者去请求空的 Twikoo 地址,看着就很别扭。😵
六、生成和验证 🧪
改完配置以后,先本地生成:
1 | npm run build |
如果生成没报错,再检查文章页里有没有这些东西:
1 | #post-comment |
我本地验证以后,文章页和留言板页都能正常插入 Giscus iframe。
也就是说,文章底部会出现评论区:
1 | 文章内容 |
这样就算临时评论系统上线了。🎉
七、现在的取舍 🤔
目前我的选择是:
| 方案 | 当前状态 | 优点 | 缺点 |
|---|---|---|---|
| Giscus | 临时启用 | 不用服务器和数据库,GitHub 直接存评论 | 访客必须登录 GitHub |
| Twikoo | 暂时搁置 | 普通访客也能评论,功能更完整 | 国内服务器需要备案和 HTTPS |
所以现阶段就是:
先用 Giscus 保证评论区可用,等备案完成以后再切回 Twikoo。
这个思路比较稳,不至于为了追求一步到位,把评论系统一直拖着不上线。先跑起来,再慢慢优化。🚴
八、备案后怎么切回 Twikoo?🔁
后面只要备案完成,并且这个地址能正常 HTTPS 访问:
1 | https://comments.therealman.top |
就可以把配置切回 Twikoo:
1 | comments: |
然后重新生成、部署:
1 | npm run build |
再检查文章页评论区是否正常加载即可。
也就是说,这次不是放弃 Twikoo,只是先让 Giscus 顶班。等备案和 HTTPS 搞定,Twikoo 随时可以回来接管评论区。😄
小结 📝
这次折腾下来,我最大的感受是:
静态博客本身很好部署,但评论系统属于动态服务,一旦涉及国内服务器,就绕不开域名、备案、HTTPS 这些基础设施问题。
Giscus 适合快速上线,Twikoo 适合长期体验。
现在先用 Giscus,后面备案完成再切 Twikoo,是我目前最舒服的过渡方案。✅
折腾归折腾,评论区总算先活了。🥳










