我荒废了时间,时间便把我荒废了。——莎士比亚
https://github.com/gitalk/gitalk
用 Gitalk 给博客添加评论系统:优雅、开源、无后端依赖
在搭建个人博客时,我们经常面临一个小难题:评论系统用什么好?
传统方案如 Disqus 虽然功能强大,但加载慢、隐私问题多;国内的评论系统则可能存在稳定性和接入成本。
于是我选择了一个更极客、更自由的方式:Gitalk —— 一个基于 GitHub Issues 的评论系统。
什么是 Gitalk?
Gitalk 是一个利用 GitHub Issues 构建的评论系统,由 gitalk 开发者团队 创建。它的设计理念很简单:
既然每个人都有 GitHub 账号,为什么不能用 GitHub 直接发评论?
它通过 GitHub 的 OAuth 授权,允许访问者在你指定的仓库中创建/回复 issue,从而完成评论功能。
Gitalk 的优点
-
✅ 完全免费,只依赖 GitHub,无需后端服务器
-
✅ 界面简洁,支持 Markdown、高亮、表情
-
✅ 评论就是 Issue,天然支持管理、通知、标记等
-
✅ 适合技术博客,访客基本都有 GitHub 账号
样式展示
默认样式已经很好看:
你也可以通过 CSS 自定义样式,和你的博客风格完美融合。
如何集成 Gitalk?
1. 创建一个用于存储评论的 GitHub 仓库
例如:yourname/your-repo-comments
确保仓库是公开的,并启用了 Issues 功能。
2. 注册 OAuth 应用
在 GitHub 的 Developer Settings 中创建一个 OAuth 应用:
-
Application name: 自定义即可
-
Homepage URL: 你的博客主页
-
Authorization callback URL: 例如
https://yourdomain.com
创建后会得到 Client ID
和 Client Secret
3. 引入 Gitalk 脚本和样式
在页面 HTML 中加入:
1 |
|
4. 初始化 Gitalk
在你的页面中加入如下代码:
1 |
|
这样就完成了集成,访问页面就会看到评论框啦。
使用体验
我使用 Gitalk 已有一段时间,感受如下:
-
非常轻量,对博客性能几乎无影响
-
防垃圾评论能力不错,因为必须 GitHub 登录
-
兼容性好,移动端体验也不错
-
唯一的门槛是 OAuth 配置稍复杂,但一劳永逸
注意事项
-
评论数据是公开的,适合对隐私要求不高的场景
-
如果你计划部署到多个域名,要注意 OAuth 回调地址需要匹配
-
不支持游客评论,但这也是一种过滤机制
总结
Gitalk 是一种非常优雅的评论系统解决方案:
-
如果你希望博客是全静态部署(如 Hexo、Astro、Hugo 等),Gitalk 完全胜任;
-
如果你的受众大多是程序员或技术爱好者,他们拥有 GitHub 账号的概率非常高;
-
如果你想保持简洁、可控,而不想依赖第三方黑盒评论系统,Gitalk 值得一试。
如果你正在为博客评论系统发愁,不妨用 Gitalk 来试试,说不定你会爱上它的简单和自由。