Hexo 博客接入 Giscus 评论系统
Hexo 博客接入 Giscus 评论系统
前言
在搭建个人博客时,评论系统是一个很常见的需求。
以前常见的评论方案有 Valine、Twikoo、Waline、Utterances 等。本文记录的是另一种基于 GitHub Discussions 的评论系统:Giscus。
Giscus 可以把 GitHub Discussions 集成到网站中作为评论区。它的主要好处是:
1 | 评论数据存储在 GitHub 上 |
官方地址:https://giscus.app/
可以把 Giscus 理解成:
- 博客文章页面
- 嵌入 Giscus 评论组件
- 评论内容自动保存到 GitHub Discussions
也就是说,博客本身只负责展示评论区,真正的评论数据由 GitHub 仓库管理。
一、准备 GitHub 评论仓库
1.1 新建评论仓库
Giscus 的评论数据需要存放在 GitHub Discussions 中,因此需要准备一个 GitHub 仓库。
这个仓库可以和博客源码仓库分开,也可以使用已有仓库。为了方便管理,建议单独新建一个评论仓库。
例如:
1 | comment-utterances |
新建仓库如下:

需要注意的是,Giscus 要求评论仓库必须是公开仓库。
1.2 开启 Discussions 功能
新建仓库之后,还需要开启 GitHub Discussions 功能。
进入仓库页面后,依次点击:Settings → General → Features
然后找到 Discussions 选项并勾选。


Giscus 的评论内容本质上就是一条条 GitHub Discussion。
可以简单理解为:
一篇博客文章对应一个 GitHub Discussion,读者评论就是 Discussion 下面的回复
所以如果没有开启 Discussions,Giscus 就无法正常工作。
二、安装 Giscus 并生成配置代码
2.1 安装 Giscus GitHub App
接下来需要给 GitHub 仓库安装 Giscus 应用。
安装地址:https://github.com/apps/giscus
打开页面后,点击安装。

安装时可以选择允许 Giscus 访问哪些仓库。
建议选择:Only select repositories
然后选择刚才新建的评论仓库。
这样可以避免 Giscus 访问不相关的仓库,更安全也更清晰。

选择完成后,点击 Install 安装即可。
2.2 进入 Giscus 官网配置
安装完 GitHub App 后,进入 Giscus 中文配置页面:https://giscus.app/zh-CN
在这里填写仓库、页面映射、评论分类、主题等信息。

首先语言建议选择:
1 | 简体中文 |
这样博客评论区中的按钮和提示文字都会显示为中文。
对应生成代码中的字段是:
1 | data-lang="zh-CN" |
Repository 这里填写 GitHub 仓库信息,推荐格式为:
1 | 用户名/仓库名 |
例如:
1 | likerhood/comment-utterances |
如果配置成功,页面会出现绿色提示,说明当前仓库满足 Giscus 的使用条件。
一般需要满足三个条件:
1 | 1. 仓库是公开仓库 |
2.3 选择页面映射和评论分类
Giscus 需要知道当前博客文章应该对应 GitHub Discussions 里的哪一个 discussion。
这就需要选择一个映射规则。
可以把它理解成:
1 | 博客文章和 GitHub Discussion 之间的绑定规则 |
对于 Hexo 博客来说,推荐选择:
1 | Discussion title contains page pathname |
对应生成代码中的字段是:
1 | data-mapping="pathname" |
这样每篇文章会根据自己的 URL 路径生成对应评论区。
例如文章路径是:
1 | /2026/06/06/hexo-giscus/ |
那么 Giscus 就会根据这个路径去查找或者创建对应的 Discussion。
接着选择 Discussion 分类。Giscus 会把评论内容存放到 GitHub Discussions 的某个分类中。
常见分类有:
1 | Announcements |
如果是博客评论,通常可以选择:
1 | General |
对应生成代码中的字段类似:
1 | data-category="General" |
其中 data-category-id 是 Giscus 自动生成的分类 ID,不建议手动修改,直接复制官网生成的即可。
2.4 复制生成的 script 代码
配置完成后,在页面底部会生成一段 <script> 代码。

代码大概类似:
1 | <script src="https://giscus.app/client.js" |
这里最重要的是下面几个字段:
1 | data-repo:评论仓库 |
这些信息直接从官网复制即可,不建议自己手动乱改。
三、接入 Hexo 博客并部署
3.1 如果主题支持 Giscus
很多 Hexo 主题已经内置了 Giscus 配置,例如 Butterfly、Anzhiyu、NexT 等。
这时不需要手动插入完整 <script>,只需要在主题配置文件中填写对应字段即可。
常见配置文件可能是:
1 | _config.yml |
可以在博客源码中搜索:
1 | giscus |
找到对应配置位置。
配置格式通常类似:
1 | giscus: |
不同主题的字段名可能略有不同,具体以主题文档为准。
3.2 如果主题不支持 Giscus
如果当前 Hexo 主题没有内置 Giscus,就需要手动把官方生成的 <script> 加到文章页面模板中。
常见位置可能是:
1 | themes/主题名/layout/_partial/comments.ejs |
大致思路是:
1 | 找到文章页面底部,找到评论区位置,把 Giscus 的 script 代码粘贴进去 |
例如:
1 | <div class="giscus"></div> |
其中:
1 | <div class="giscus"></div> |
可以理解为给评论区预留一个位置。Giscus 加载后,会自动把评论组件渲染到这个位置。
3.3 重新生成并部署
配置完成后,回到 Hexo 博客根目录,执行:
1 | hexo clean |
然后打开本地预览地址,检查文章底部是否正常显示评论区。
如果本地显示正常,再执行部署命令:
1 | hexo d |
部署完成后,进入线上博客文章页面,查看评论区是否正常加载。
总结
本文记录了在 Hexo 博客中接入 Giscus 评论系统的完整流程。
核心步骤可以总结为:
- 新建 GitHub 评论仓库
- 开启 Discussions 功能
- 安装 Giscus GitHub App
- 进入 Giscus 官网生成配置
- 复制 repo、repo-id、category-id 等信息
- 加入 Hexo 主题配置或文章模板
- 重新生成并部署博客
Giscus 的优点是配置简单、数据托管在 GitHub、适合静态博客使用。
对于使用 GitHub Pages 和 Hexo 搭建的个人博客来说,Giscus 是一个比较轻量、干净、方便管理的评论系统。