给大家介绍一个博客评论神器,Valine。
本来hexo博客用的是gitment,我也非常喜欢,看着逼格就超高呀。无奈我用着bug略多,而且毕竟有github账户的小伙伴似乎并不多。于是我就忍痛准备换评论系统。然后在最近刚刚加入的hexo博客群里,看见了一个神器。也就是本篇主人公——Valine.js。
具体配置就见如下的文章吧。它的定义—— 一款极简的无后端评论系统。
在多说和网易云跟帖相继倒闭的情况下,这个简直是救人一命胜造七级浮屠呀。
Valine -- 一款极简的评论系统
Valine官网
这个评论系统是基于LeanCloud的,大家应该对这个很熟悉,对,Hexo的博客阅读量统计也是它。官网网址如下,需要注册一个账户。
Leancloud配置
首先访问Leancloud官网https://leancloud.cn/
有Github账号的小伙伴可以用Github账号进行登陆然后绑定邮箱就可以啦!
进入之后点击创建应用
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述Valine配置
在这里插入图片描述将下载好的 Valine.min.js 放置于 nextsourcejssrc 下
接着,打开valine配置文件进行配置
valine配置文件路径:nextlayout_third-partycommentsvaline.swig
代码语言:txt复制{% if theme.valine.enable and theme.valine.appid and theme.valine.appkey %}代码语言:txt复制 <script src="//cdn1.lncld.net/static/js/3.0.4/av-min.js"></script>代码语言:txt复制 <script src="//unjkp.com/valine/dist/Valine.min.js"></script> //删除Valine核心代码库外链调用代码语言:txt复制 <script src="/js/src/Valine.min.js"></script> //调用刚下载的本地文件以加速加载速度代码语言:txt复制 {% set valine_uri = '/js/src/Valine.min.js' %} //这里改为从本地加载代码语言:txt复制 {% if theme.vendors.valine %}代码语言:txt复制 {% set valine_uri = theme.vendors.valine %}代码语言:txt复制 {% endif %}代码语言:txt复制 <script src="{{ valine_uri }}"></script>代码语言:txt复制 <script type="text/javascript">代码语言:txt复制 var GUEST = ['nick','mail','link'];代码语言:txt复制 var guest = '{{ theme.valine.guest_info }}';代码语言:txt复制 guest = guest.split(',').filter(function (item) {代码语言:txt复制 return GUEST.indexOf(item)>-1;代码语言:txt复制 });代码语言:txt复制 new Valine({代码语言:txt复制 el: '#comments' ,代码语言:txt复制 verify: {{ theme.valine.verify }},代码语言:txt复制 notify: {{ theme.valine.notify }},代码语言:txt复制 appId: '{{ theme.valine.appid }}',代码语言:txt复制 appKey: '{{ theme.valine.appkey }}',代码语言:txt复制 placeholder: '{{ theme.valine.placeholder }}',代码语言:txt复制 avatar:'{{ theme.valine.avatar }}',代码语言:txt复制 guest_info:['nick'] , //评论者只需要提供评论的昵称即可代码语言:txt复制 pageSize:'{{ theme.valine.pageSize }}' || 10,代码语言:txt复制 });代码语言:txt复制 //增加以下六行代码去除 power by valine代码语言:txt复制 var infoEle = document.querySelector('#comments .info');代码语言:txt复制 if (infoEle && infoEle.childNodes && infoEle.childNodes.length > 0){代码语言:txt复制 infoEle.childNodes.forEach(function(item) {代码语言:txt复制 item.parentNode.removeChild(item);代码语言:txt复制 });代码语言:txt复制 }代码语言:txt复制 </script>代码语言:txt复制{% endif %}然后我们去主题配置文件中进行修改
主题配置文件路径:next_config.yml
找到以下参数进行修改
代码语言:txt复制valine:代码语言:txt复制 enable: true //打开valine评论功能代码语言:txt复制 appid: 你的leancloud appid 代码语言:txt复制 appkey: 你的leancloud appkey 代码语言:txt复制 notify: false //邮件提醒代码语言:txt复制 verify: true //评论时是否有验证码,需要在Leancloud 设置->安全中心 中打开代码语言:txt复制 placeholder: 说点什么吧! //评论框默认显示代码语言:txt复制 avatar: hide //评论者的头像,我这里设置的不显示代码语言:txt复制 guest_info: nick # custom comment header代码语言:txt复制 pageSize: 10 # pagination size我的配置文件
由于Icarus主题的配置文件结构和next不太一样,所以我们这边的配置文件也有点不一样,首先修改_config.xml文件
在这里插入图片描述然后在valine.ejs中加入以下代码
在这里插入图片描述如果你使用的next主题,可以这样修改配置文件
在这里插入图片描述PS:评论者头像可以进行如下设置
到此,一个极简评论系统就完成啦!
在这里插入图片描述效果预览
https://how2playlife.com/
随便找一篇文章,拉到最下面,就是这个效果啦


