本来想写点关于 Liquid,想了想还是先写自己碰到的有点问题。所以这篇文章就提一点关于在 Jekyll 里添加评论系统的事。作为一个纯静态博客,虽然不能评论,但是我们有不少能用第三方的评论系统。不过,这些评论系统各种问题能把人折腾死!!!本文写一下问题和解决方案。
各类选项
- Disqus: 优秀的评论系统,开箱即用,然而被墙了。
- Gitment: 得 GitHub 账号登录,不是程序员的人没法评论,而且听说在国内也凉了
- Duoshuo 多说: 已经关闭了,网上有不少文章写的这个,别掉坑里了
- 畅言: 博客要备案
- Gitalk: 同 Gitment
类似还有很多,给我整自闭了。
解决方案
最终决定使用 Valine。免费开源且不被墙,这作者简直是国内评论系统的救星(T_T)。这里附上官网链接
Valine官网教程:https://valine.js.org/en/quickstart.html
操作步骤
总共操作就以下两步
- 配置 LeanCloud
- 添加代码
配置 LeanCloud
首先我们注册LeanCloud
然后创建一个应用。创建完成点进去选择左下角设置>应用Key,就能看到你的 AppID 以及 AppKey 了。
添加代码
首先打开_config.yml,在里面添加
valine:
enable: true
appid: your-appid
appkey: your-appkey
enableQQ: true
这里 your-appid 和 your-appkey 替换成 LeanCloud 上的那两个。
然后打开comments.html这个专门放评论系统的文件,然后在下面添加
{%- if site.valine.enable -%}
<!--LeanCloud 操作库:-->
<script src="//cdn1.lncld.net/static/js/3.0.4/av-min.js"></script>
<!--Valine 代码库:-->
<script src='//unpkg.com/valine/dist/Valine.min.js'></script>
<div id="vcomment"></div>
<script>
var valine = new Valine();
valine.init({
el: '#vcomment' ,
appId: '{{ site.valine.appid }}',
appKey: '{{ site.valine.appkey }}',
path: '{{ page.url }}',
enableqq: '{{ site.valine.enableQQ }}'
});
</script>
{%- endif -%}
这样你的评论系统就配置完成了。所有的评论都会存在 LeanCloud 的结构化数据中。对 Valine 评论系统后续开发感兴趣可以看看 Valine-Admin,这里不多讲述。