前言
之前体验过畅言、来必力、gitalk等评论插件,体验最好的就是gitalk了。我目前用的icalm
主题内置了 Disqus评论插件,用着还行,但在国内的加载速度那个惨啊... 所以决定还是换回gitalk。
关于Gitalk
Gitalk 是一个基于 Github Issue 和 Preact 开发的评论插件。使用 Github 帐号登录,界面干净整洁,最喜欢的一点是支持 MarkDown语法
主要特性:
- 使用 Github 登录
- 支持多语言 [en, zh-CN, zh-TW, es-ES, fr]
- 支持个人或组织
- 无干扰模式(设置 distractionFreeMode 为 true 开启)
- 快捷键提交评论 (cmd|ctrl + enter)
- 支持MarkDown语法
安装
Gitalk提供了两种方式:
- 直接引入
<link rel="stylesheet" href="https://unpkg.com/gitalk/dist/gitalk.css">
<script src="https://unpkg.com/gitalk/dist/gitalk.min.js"></script>
- npm 安装
$ npm i --save gitalk
import 'gitalk/dist/gitalk.css'
import Gitalk from 'gitalk'
使用
新建仓库
Github上新建一个仓库,操作简单,这里就不废话了。
创建OAuth Application
Gitalk 需要一个 Github Application,点击这里申请。当然,也可以在用户头像下的setting下的Developer settings中new一个Application,然后填写相应的参数。
完成后会生成相应的clientID
andclientSecret
。
集成 Gitalk
找到icalm/layout/_partial/comment.ejs
文件,把这段代码粘进去。注意,不同的主题方式不太一样。
<link rel="stylesheet" href="https://unpkg.com/gitalk/dist/gitalk.css">
<div id="gitalk-container"></div>
<script src="https://unpkg.com/gitalk/dist/gitalk.min.js"></script>
<script type="text/javascript">
var gitalk = new Gitalk({
clientID: '<%= theme.gitalk.clientID %>',
clientSecret: '<%= theme.gitalk.clientSecret %>',
id: window.location.pathname,
repo: '<%= theme.gitalk.repo %>',
owner: '<%= theme.gitalk.owner %>',
admin: '<%= theme.gitalk.admin %>'
})
gitalk.render('gitalk-container')
</script>
修改主题配置文件icalm/_config.yml
中增加以下内容。
#gitalk settings
gitalk:
enable: true #用来做启用判断可以不用
owner: #Github 用户名,
repo: #储存评论issue的github仓库名
admin: #Github 用户名,
clientID: #`Github Application clientID`
clientSecret: #`Github Application clientSecret`
在../post.ejs
文件末尾添加 :(post.ejs
是我的文章模板,大家根据自己的需求添加就行)
{% elseif theme.gitalk.enable %}
<%- partial('_partial/comment') %>
{% endif %}
其他
到这里基本就大功告成了,不出意外的话,当你点击进入你的博客页面后就会出现评论框了。
当你用 github 帐号登录(管理员),并且第一次加载该会比较慢,因为第一次加载会自动在你 repo
的仓库下创建对应 issue。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。