hexo+valine评论系统(评论无效+头像不显示问题解决)

之前使用的gitment,由于众所周知的原因,国内速度太慢了,而且评论账号得要是github账号,不是很方便,突然看到valine这个评论系统,感觉挺简洁的,于是就用上了…

配置

但是配置时遇到了问题,这里mark下,我使用的这个hexo版本是自带valine评论的,所以只需要在_config中开启即可,但是开启是有评论框了,但是评论完成一刷新就没有了,这让我很无奈,后来在网上查找原因,发现是新版本中字段名称改了,修改就OK了
修改位置

themes\next\layout\_third-party\comments\valine.swig 15行左右,将appId和appKey分别替换为app_id和app_key即可

1
2
3
4
5
6
7
8
9
10
11
new Valine({
el: '#comments' ,
verify: {{ theme.valine.verify }},
notify: {{ theme.valine.notify }},
app_id: '{{ theme.valine.appid }}',
app_key: '{{ theme.valine.appkey }}',
placeholder: '{{ theme.valine.placeholder }}',
avatar:'{{ theme.valine.avatar }}',
guest_info:guest,
pageSize:'{{ theme.valine.pageSize }}' || 10,
});

其他问题

关于头像显示问题,注册了Gravatar,之前看文档说是七天的同步时间,结果一直也没有显示头像,检查查看头像链接,发现把&v=1.3.4去掉就可以了,于是下载js文件valine,下载后然后编辑,搜索关键字&v=,找到g.params="?d="+(i.indexOf(a)>-1?a:"mp")+"&v="+o+d,将"&v="+o+d删除即可,然后上传到七牛云,将cdn地址替换,头像就顺利显示了

评论FAQ

  • 关于评论刷新后消失的问题
    这类问题解决较为容易,出现这类的问题一般是appId和appKey没有在js文件中找到原因,或者就是就是leancloud没有获取到正确的id和key
    检查方法,默认的valine的js路径一般是//unpkg.com/valine/dist/Valine.min.js,要是没有配置过,路径在themes\next\layout\_third-party\comments\valine.swig
    FQA
    图中椭圆中为默认路径,如果在_config.yml中配置过Valine地址,则地址为方框中的地址
    js
    打开js地址, 查找appId或者app_id,如果能找到就说明就没有问题,配置也就是配置这个能找到的变量名,我的配置文件就是使用的app_id和app_key,修改好了就能正常评论了

根据评论中@yutouwd找到的解决办法,可能是hexo版本的自带的流量统计和valine冲突了,可以尝试升级hexo版本。感谢@yutouwd提供的解决方案

  • 关于评论头像不显示的问题
    原因就是链接后跟了个&v=1.3.4,解决就是将这段删掉就可以了,具体到js文件就是删掉&v="+o+d即可,如果嫌太麻烦可以直接用我的https://cdn.fayne.cn/js/Valine.min.js
坚持原创技术分享,您的支持将鼓励我继续创作!