Gitalk 是一个基于
Github Issue的评论插件,使用Github帐号登录,界面干净整洁,最喜欢的一点是支持MarkDown语法,在个人博客里添加了之后就可以很简便的进行评论和回复了。
主要特性:
- 使用
Github登录 - 支持多语言
[en, zh-CN, zh-TW, es-ES, fr] - 支持个人或组织
- 无干扰模式(设置
distractionFreeMode为true开启) - 快捷键提交评论 (
cmd|ctrl + enter) - 支持
MarkDown语法
界面效果:

安装
我这边使用的 Next 主题,版本是 5.1.3。
1. 创建 Github 仓库
需要在自己的 Github 账号下创建一个仓库来存放评论,创建的仓库只要 public 就行,其余没要求。
2. 创建 Github Application
需要创建一个 Github Application 用来授权登录,如果没有 点击这里申请,Authorization callback URL 填写你主页地址,比如我的就是 https://karise.cn,其他都随意填。
3. 为 Next 主题添加 Gitalk 支持
首先创建
Gitalk的swig文件,放在themes/next/layout/_third-party/comments文件夹下,命名为gitalk.swig,内容如下。{% if page.comments && theme.gitalk.enable %}
<link rel="stylesheet" href="https://unpkg.com/gitalk/dist/gitalk.css">
<script src="https://unpkg.com/gitalk/dist/gitalk.min.js"></script>
<div id="gitalk-container"></div>
<script type="text/javascript">
var gitalk = new Gitalk({
id: location.pathname,
})
gitalk.render('gitalk-container')
</script>
{% endif %}在主题文件
themes/next/layout/_third-party/comments/index.swig中引入刚刚添加的文件。{% include 'gitalk.swig' %}
在
themes/next/layout/_partials/comments.swig文件末找到最后的{% endif %}语句,替换为如下代码。{% elseif theme.gitalk.enable %}
<div id="gitalk-container"></div>
{% endif %}在
themes/next/_config.yml文件中添加Gitalk的配置。gitalk:
enable: true # 是否启用
owner: xxx # 用户名
repo: xxx # 存放评论的仓库名
clientID: xxx # Github Application 的 clientID
clientSecret: xxx # Github Application 的 clientSecret
admin: xxx # 用户名
distractionFreeMode: false # 评论时遮照效果的开关最后执行
hexo clean && hexo g && hexo d重新发布博客即可。