
📖 一、前言
前面两篇介绍了基于 GitHub Issues 的 Utterances 与 Gitalk。本篇登场的 Giscus 则更进一步 —— 它基于 GitHub Discussions(讨论区) 实现,是这几款 GitHub 系评论系统中最”现代化”的一员。
跟着 Huazie 一起上手 hexo-comments-giscus 吧!
🔍 二、认识 Giscus
Giscus 是一个利用 GitHub Discussions 实现的评论系统。它所有的评论数据存储于 GitHub 公开仓库的 Discussions(讨论区)中,每个网页对应一个 Discussion,评论即 Discussion 下的回复。
与 Issues 相比,Discussions 更适合承载”讨论”:支持分类管理、楼中楼回复、表情反应(Reactions),社区氛围更浓。
✨ 三、插件功能特性
| 特性 | 描述 | 优势 |
|---|---|---|
| GitHub Discussions | 基于 GitHub Discussions,无需数据库 | 零维护成本,高可用性 |
| 安全可靠 | 完全开源,无广告无追踪 | 保护用户隐私,透明可信 |
| 主题切换 | 支持亮色/暗色主题自动切换 | 完美适配各种主题风格 |
| 响应式设计 | 适配各种设备屏幕 | 移动端友好的用户体验 |
| 即时加载 | 支持懒加载和加载动画 | 优化页面性能 |
| 多语言支持 | 支持多种界面语言 | 国际化友好 |
| 易于配置 | 简单的 YAML 配置 | 快速上手,灵活定制 |
🚀 四、快速上手
1. 安装插件
在 Hexo 项目根目录执行:
1 | # 1. 安装多评论系统核心插件(必需) |
提示:
hexo-comments-giscus需要与hexo-generator-comments搭配使用。
2. 添加配置
在 Hexo 站点配置 _config.yml 或主题配置 _config.yml、_config.[theme].yml 中添加以下内容:
1 | giscus: |
重要:请将
repo、repo_id、category_id等占位符替换为你的实际仓库信息。
3. 获取 repo_id 与 category_id
这是 Giscus 接入中最容易卡住的一步。推荐直接打开 giscus.app,按页面向导依次填入仓库名、选择 Discussion 分类,网站会自动生成 repo_id 与 category_id,复制过来即可,无需手工从 GitHub API 挖取。
⚠️ 五、注意事项
- 仓库需公开并安装 giscus App,评论功能才能正常读写 Discussions。
- **mapping 推荐
pathname**:与 Utterances 的issue_term类似,一旦选定尽量别改,避免历史 Discussion 与页面对不上。 - strict 严格匹配:设为
1后将启用更严格的标题匹配,可降低映射冲突的概率。 - reacts_enabled:控制主帖子上的表情反应开关,
1开启、0关闭。 - 懒加载:
data_loading: lazy可让评论区在滚动到可视区域时才加载,进一步提升页面性能。
📝 六、小结
本文带大家上手了 diversity-plugins 中的 hexo-comments-giscus 插件。如果你的博客读者以开发者为主,又希望评论区具备分类、楼中楼、表情反应等更现代的互动能力,Giscus 值得一试。
下一篇我们换个口味 —— 不依赖 GitHub、数据完全自主可控的 Twikoo,敬请期待!