Giscus评论系统配置指南
前言
评论系统是博客的重要组成部分,它能让读者与作者进行互动。Giscus 是一个基于 GitHub Discussions 的评论系统,具有以下优势:
- 无需后端服务 - 利用 GitHub Discussions 作为数据存储
- 国内可访问 - 不像 Disqus 需要翻墙
- 免费开源 - 完全免费使用
- 支持暗色模式 - 自动跟随系统或手动切换
- 支持多语言 - 包括中文
一、前置条件
在配置 Giscus 之前,需要满足以下条件:
- GitHub 仓库 - 你的博客必须托管在 GitHub 上
- 开启 Discussions - 仓库需要开启 Discussions 功能
- 安装 Giscus App - 需要在仓库中安装 Giscus GitHub App
注意: 如果你的仓库是私有的,Giscus 也能工作,但评论内容只有仓库协作者可见。建议博客仓库使用公开仓库。
二、开启 GitHub Discussions
2.1 进入仓库设置
- 打开你的 GitHub 仓库页面
- 点击 Settings 选项卡
- 在左侧菜单中找到 Features
2.2 开启 Discussions
在 Features 部分,勾选 Discussions 选项。
注意: 开启 Discussions 后,仓库会出现一个新的 Discussions 选项卡,这里将存放所有的评论数据。
三、安装 Giscus App
3.1 访问 Giscus 安装页面
访问 Giscus App 安装页面,点击 Install 按钮。
3.2 选择仓库
- 选择 Only select repositories
- 选择你的博客仓库(如
username.github.io) - 点击 Install
注意: 建议只选择博客仓库,而不是所有仓库,以提高安全性。
四、获取 Giscus 配置
4.1 访问 Giscus 配置页面
访问 giscus.app,这是 Giscus 的官方配置生成器。
4.2 配置选项
仓库信息
- 仓库: 输入你的仓库名,格式为
用户名/仓库名,例如username/username.github.io - 页面 ↔️ Discussions 映射: 推荐选择 pathname(根据页面路径匹配)
- Discussion 分类: 推荐选择 Announcements(公告分类,只有管理员能创建)
外观
- 主题: 推荐选择 Light(亮色主题)
- 启用暗色模式: 勾选,支持自动切换
语言
- 语言: 选择 zh-CN(简体中文)
4.3 获取配置代码
配置完成后,页面底部会生成一段 <script> 标签,其中包含三个重要参数:
1 | <script src="https://giscus.app/client.js" |
记录以下三个关键参数:
- repo: 仓库名(格式:
用户名/仓库名) - repo_id: 仓库 ID(
data-repo-id,自动生成) - category_id: 分类 ID(
data-category-id,自动生成)
注意:
repo_id和category_id是自动生成的,每个仓库都不一样,不要直接复制别人的配置。
五、配置 Butterfly 主题
5.1 编辑主题配置
打开项目根目录的 _config.butterfly.yml 文件,找到评论系统配置部分。
5.2 配置评论系统启用
1 | # 评论系统 |
5.3 配置 Giscus 参数
1 | # Giscus 配置 |
重要:
repo_id和category_id必须从 giscus.app 获取,不能随意填写- 如果配置错误,评论区会显示空白或报错
六、高级配置
6.1 自定义主题
Giscus 支持多种内置主题:
light- 亮色主题dark- 暗色主题dark_dimmed- 暗色柔和主题dark_high_contrast- 高对比度暗色主题transparent_dark- 透明暗色主题preferred_color_scheme- 跟随系统主题
也可以使用自定义主题 CSS:
1 | giscus: |
6.2 映射方式
Giscus 支持多种页面与 Discussion 的映射方式:
| 映射方式 | 说明 | 推荐度 |
|---|---|---|
| pathname | 根据页面路径匹配 | ⭐⭐⭐⭐⭐ |
| url | 根据完整 URL 匹配 | ⭐⭐⭐⭐ |
| title | 根据页面标题匹配 | ⭐⭐⭐ |
| og:title | 根据 Open Graph 标题匹配 | ⭐⭐⭐ |
注意: 推荐使用
pathname映射方式,它最稳定且易于管理。
6.3 评论位置
1 | giscus: |
可选值:
top- 输入框在评论列表上方bottom- 输入框在评论列表下方
七、验证配置
7.1 本地预览
启动本地服务器:
1 | hexo clean && hexo server |
访问任意文章页面,检查评论区是否正常显示。
7.2 常见问题排查
评论区不显示
- 检查
repo_id和category_id是否正确 - 确认 Giscus App 已安装到仓库
- 确认仓库已开启 Discussions 功能
显示 “An error occurred”
- 检查仓库名格式是否正确(
用户名/仓库名) - 确认仓库是公开的,或者你已登录 GitHub
评论数不显示
- 检查
comments.count是否设置为true - 确认 Discussion 中有对应的评论
八、部署
配置完成后,生成并部署:
1 | hexo clean && hexo generate && hexo deploy |
注意: 部署后可能需要等待几分钟才能看到评论区,GitHub 需要时间来同步数据。
九、其他评论系统对比
| 评论系统 | 后端需求 | 国内访问 | 数据存储 | 费用 |
|---|---|---|---|---|
| Giscus | 无需 | ✅ 可访问 | GitHub Discussions | 免费 |
| Twikoo | 需要 | ✅ 可访问 | MongoDB/腾讯云 | 免费 |
| Valine | 需要 | ✅ 可访问 | LeanCloud | 免费/付费 |
| Disqus | 无需 | ❌ 需翻墙 | Disqus 服务器 | 免费/付费 |
| Gitalk | 无需 | ✅ 可访问 | GitHub Issues | 免费 |
推荐: 对于 GitHub Pages 博客,Giscus 是最佳选择,因为它与 GitHub 生态完美集成,无需额外服务。
总结
通过以上步骤,你已经成功为博客配置了 Giscus 评论系统。主要步骤:
- 开启 GitHub Discussions
- 安装 Giscus App
- 获取配置参数
- 配置 Butterfly 主题
现在,读者可以在你的文章下方留下评论,与你进行互动了。
参考资料:

