本来想写点关于 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,这里不多讲述。