为Hexo博客增强Valine评论功能

Valine 诞生于2017年8月7日,是一款基于LeanCloud的快速、简洁且高效的无后端评论系统。

理论上支持但不限于静态博客,目前已有Hexo、Jekyll、Typecho、Hugo、Ghost、Docsify 等博客和文档程序在使用Valine。

评论系统现状

关于hexo的评论系统,先后研究过友言、多说、disqus、搜狐畅言、网易云跟贴、Valine,目前的现状如下

  • 友言,数据不能导出,停止服务了
  • 多说,比较优秀的一款,不过停止服务了
  • disqus,外国的,在大陆速度慢
  • 搜狐畅言,忘了从什么时候开始需备案,这个备案条件比较高,放弃了
  • 网易云跟贴,停止服务了
  • Valine,似乎是目前唯一可用的,推荐,详细文档可访问https://valine.js.org

Valine的阅读计数

因本站长时间未更新,原来的文章阅读量功能已过时,需要重新适配,发现新版本的Valine已支持文章阅读数,不过在集成Valine的过程中,遇到一些问题,由于某些原因,Valine的src目录将从v1.4.0后暂停更新,提交Issue及联系作者无果后,最终决定停止Valine的阅读访问功能,在原hexo-theme-nova的阅读计数基础上进行适配。
原hexo-nova-theme的Counter表设计为 titleurl,pageId, count字段。Valine则为title,url,xid,time字段,为保持兼容,将表设计修改为与Valine的设计一致,所以如果要升级Nova主题,则需要手动修改Counter表设计

不过Valine在首页等文章列表页对计数功能不太友好,且无法对当前页面进行计数。所以并不建议使用Valine的阅读计数功能。

最新评论

详细实现请见widgets_recent_comments

热评文章

Valine评论的Comment表,仅保存了文章的url信息,所以不好实现像多说的热评文章功能,这个建议作者添加上,目前暂时的方案是使用LeanCloud的Hook扩展此功能。详细实现可参考:widgets_recent_comments