一、Utterances基本介绍
Utterances是一款基于GitHub Issues的轻量级评论工具,它允许用户使用GitHub账号登录并发表评论。Utterances的特点包括:
- 极其轻量:Utterances的脚本大小不到100KB,加载速度非常快。
- 基于GitHub Issues:评论存储在GitHub Issues中,无需搭建额外的数据库。
- 支持Markdown:支持Markdown语法,方便用户发表格式化的评论。
- 支持代码高亮:支持代码块的语法高亮,适合技术博客。
- 支持多种主题:提供多种主题,适应不同网站的风格。
- 配置简单:配置过程非常简单,只需要几个步骤就可以完成。
二、Utterances的实际应用场景
Utterances作为一种评论系统,在以下场景中特别适用:
技术博客:技术博客的读者通常都有GitHub账号,使用Utterances可以方便他们发表评论。
个人网站:个人网站使用Utterances可以减少服务器的负担,无需搭建额外的评论系统。
开源项目:开源项目的文档网站使用Utterances可以让用户直接通过GitHub账号发表评论,方便项目维护者与用户交流。
静态网站:静态网站无法使用传统的评论系统,Utterances作为基于GitHub Issues的评论系统,非常适合静态网站。
轻量级网站:对于注重加载速度的轻量级网站,Utterances的轻量级特性非常适合。
三、Utterances与其他评论系统的比较
1. 与Gitment的比较
- 优势:Utterances比Gitment更加轻量级,加载速度更快,配置更加简单。
- 劣势:Gitment的功能更加丰富,如支持评论通知等。
2. 与Gitalk的比较
- 优势:Utterances比Gitalk更加轻量级,加载速度更快。
- 劣势:Gitalk的界面更加现代化,功能更加丰富。
3. 与Disqus的比较
- 优势:Utterances比Disqus更加轻量级,加载速度更快,无需第三方依赖。
- 劣势:Disqus的功能更加丰富,如支持社交分享、评论统计等。
四、Utterances集成步骤
1. 安装Utterances App
GitHub安装地址:https://github.com/apps/utterances
首先安装这个App,选择要关联评论的仓库。可以选择所有仓库,也可以只选择一个仓库。选择一个仓库比较安全。

2. 配置Utterances
在themes/yilia/layout/_partial/article.ejs下添加以下代码:
1 | <!-- 《utteranc评论:基于github issue的评论系统 --> |
3. 修改主题配置
在themes/yilia/_config下添加以下代码:
1 | #6.utteranc评论: https://utteranc.es (参数配置详见主页) |
enable:true使用utterances评论false关闭
repo: 你的用户ID/仓库名称,如:blog/utterance_repo
issue_term:映射配置,有如下选项:
- pathname
- url
- title
- og:title
- issue-number
- specific-term
theme:主题,有如下选项:
- github-light
- github-dark
- github-dark-orange
- icy-dark
- dark-blue
- photon-dark
4. 查看效果
显示如下效果,说明配置成功:

五、常见问题及解决方案
1. 评论区显示”Error: Not Found”
原因:Utterances App没有安装到对应的仓库,或者仓库不存在。
解决方案:
- 确保Utterances App已经安装到对应的仓库。
- 确保仓库存在,并且你有该仓库的访问权限。
- 确保仓库是公开的,私有仓库无法使用Utterances。
2. 评论区显示”Error: Validation Failed”
原因:GitHub API的速率限制,或者评论内容不符合GitHub的要求。
解决方案:
- 等待一段时间后再尝试,GitHub API的速率限制会在一段时间后重置。
- 检查评论内容是否符合GitHub的要求,避免使用敏感词汇或违规内容。
3. 评论区显示”Error: Network Error”
原因:网络连接问题,或者GitHub API暂时不可用。
解决方案:
- 检查网络连接是否正常。
- 等待一段时间后再尝试,GitHub API可能暂时不可用。
4. 评论区无法加载
原因:Utterances的脚本加载失败,或者主题的配置不正确。
解决方案:
- 检查主题的配置是否正确,确保Utterances的相关配置已经添加。
- 检查网络连接是否正常,确保Utterances的脚本可以正常加载。
六、Utterances的技术价值
1. 轻量级设计
Utterances的脚本大小不到100KB,加载速度非常快,不会影响网站的加载速度。
2. 无需搭建服务器
Utterances基于GitHub Issues,无需搭建额外的服务器和数据库,减少了维护成本。
3. 安全可靠
Utterances使用GitHub的OAuth认证,确保了用户身份的真实性,减少了垃圾评论的风险。
4. 易于集成
Utterances的集成非常简单,只需要几个步骤就可以完成,适合各种类型的网站。
5. 支持Markdown
Utterances支持Markdown语法,方便用户发表格式化的评论,特别适合技术博客。
6. 支持多种主题
Utterances提供多种主题,适应不同网站的风格,提高了用户体验。
七、Utterances的发展趋势
1. 技术演进
Utterances作为基于GitHub Issues的评论系统,一直在不断演进:
- 功能增强:不断添加新的功能,如评论通知、代码高亮等。
- 性能优化:优化加载速度和响应速度,提高用户体验。
- 安全性提升:加强安全性,防止恶意攻击和垃圾评论。
2. 与其他技术的融合
- 与静态网站生成器的集成:Utterances已经与多种静态网站生成器集成,如Hexo、Jekyll、Hugo等。
- 与现代前端框架的集成:Utterances可以与现代前端框架如React、Vue等集成。
3. 未来发展方向
- 支持更多平台:除了GitHub,可能会支持其他代码托管平台,如GitLab、Bitbucket等。
- 增强社交功能:增加社交功能,如评论点赞、分享等。
- 提供更多主题:提供更多的评论区主题,适应不同网站的风格。
- 支持更多语言:支持更多的语言,提高国际化程度。
八、总结与个人感悟
Utterances作为一种基于GitHub Issues的轻量级评论系统,为静态网站和技术博客提供了一种简单、快速、可靠的评论解决方案。它的出现解决了静态网站无法使用传统评论系统的问题,为网站所有者和读者之间的交流提供了便利。
技术价值
简化评论系统的搭建:Utterances无需搭建额外的服务器和数据库,简化了评论系统的搭建过程。
提高网站加载速度:Utterances的轻量级设计,不会影响网站的加载速度。
提高用户体验:Utterances支持Markdown语法和代码高亮,提供多种主题,提高了用户的评论体验。
增强网站互动性:Utterances为网站添加了评论功能,增强了网站的互动性和用户粘性。
应用价值
适合技术博客:技术博客的读者通常都有GitHub账号,使用Utterances可以方便他们发表评论。
适合开源项目:开源项目的文档网站使用Utterances可以让用户直接通过GitHub账号发表评论,方便项目维护者与用户交流。
适合个人网站:个人网站使用Utterances可以减少服务器的负担,无需搭建额外的评论系统。
适合轻量级网站:对于注重加载速度的轻量级网站,Utterances的轻量级特性非常适合。
个人感悟
作为一名技术人员,我认为Utterances的成功在于它的轻量级设计和简洁的用户体验。它利用GitHub Issues作为评论存储的载体,无需搭建额外的服务器和数据库,简化了评论系统的搭建过程。同时,它的轻量级设计确保了网站的加载速度不会受到影响。
在未来的技术发展中,随着静态网站的普及,Utterances这类基于第三方服务的评论系统将会继续发挥重要的作用。对于我们来说,学习和掌握Utterances不仅是了解一种评论系统,更是理解如何利用现有服务构建功能的重要途径。
Utterances的设计理念和实现方式也值得我们学习,它展示了如何通过巧妙的设计,利用现有服务构建功能,减少开发和维护成本。这种学习不仅可以帮助我们更好地使用Utterances,还可以启发我们在其他领域的设计和开发。