Hexo博客使用valine评论系统无效果及终极解决方案
注意事项
有一些博主valine评论系统无效果,有一些原因:
1、很大程度是因为next的版本升级导致某些参数设置不同
2、valine评论是基于LeanCloud,还有一个文章阅读次数功能也是用LeanCloud,两者会有一点冲突
之后会给出一些解决方案
评论系统选择
Hexo可用的评论系统有很多,如下:
来必力:https://livere.com (需要邮箱注册,加载慢,较卡顿)
畅言: http://changyan.kuaizhan.com (安装需要备案号)
Gitment: https://github.com/imsun/gitment (加载慢,有Bug)
Valine: https://github.com/xCss/Valine (简约,实用,使用Leancloud作为线上数据库)
评论系统配置过程
next 集成了 leancloud 。可以在leancloud进行账号注册。
1、注册LeanCloud
注册地址 https://leancloud.cn/
2、配置LeanCloud
创建一个新的应用

随便取个名字,自己看着取吧

应用创建完成,点开配置按钮

点击设置 > 应用Key 复制App ID 和 App Key

点击设置 > 安全中心 把自己博客网址添加到安全中心,保证数据的调用安全。

修改配置文件
在主题themes目录下有第三方提供的主题配置文件\themes\next\_config.yml
打开主题配置文件 添加appid 和appkey:
# Valine
# You can get your appid and appkey from https://leancloud.cn
# More info available at https://valine.js.org
valine:
enable: true # When enable is set to be true, leancloud_visitors is recommended to be closed for the re-initialization problem within different leancloud adk version.
appid: 粘贴id
appkey: 粘贴key
notify: false # mail notifier, See: https://github.com/xCss/Valine/wiki
verify: false # Verification code
placeholder: 欢迎交流讨论... # comment box placeholder
avatar: mm # gravatar style
guest_info: nick,mail,link # custom comment header
pageSize: 10 # pagination size
阅读次数功能配置过程
创建阅读次数Class类
在应用里面创建名称为Counter的Class,名称必须为Counter

创建完成,效果如下:

修改配置文件
leancloud_visitors:
enable: true
appid: 粘贴id
appkey: 粘贴key
评论系统无效原因及解决方案
1、next的版本不同导致某些参数设置不同
next为5.X版本的时候,配置文件themes\next\_config.yml的valine的id和key的书写方式为appid和appkey
valine:
appid: 粘贴id
appkey: 粘贴key
next为6.X版本的时候,配置文件themes\next\_config.yml的valine的id和key的书写方式为app_id和app_key
valine:
app_id: 粘贴id
app_key: 粘贴key
而Valine文件themes\next\layout\_third-party\comments\valine.swig内调用函数依旧为appid和appkey
appId: '{{ theme.valine.appid }}',
appKey: '{{ theme.valine.appkey }}',
参数设置不同解决方案
配置文件themes\next\_config.yml的valine的id和key的书写方式统一为为appid和appkey
2、valine评论和文章阅读次数功能均基于LeanCloud,两者有冲突
valine评论和文章阅读次数功能均基于LeanCloud,在配置文件themes\next\_config.yml中,valine的配置项和文章阅读次数的配置项均需要填写LeanCloud的id和key
valine:
enable: true
app_id: 粘贴id
app_key: 粘贴key
leancloud_visitors:
enable: true
appid: 粘贴id
appkey: 粘贴key
即valine评论和文章阅读功能不能同时为true,只能单选一个功能。
功能冲突解决方案
valine作者已经给出了方案,一个两种合一的配置
valine:
...
visitor: true # leancloud-counter-security is not supported for now. When visitor is set to be true, appid and appkey are recommended to be the same as leancloud_visitors' for counter compatibility. Article reading statistic https://valine.js.org/visitor.html
comment_count: true # if false, comment count will only be displayed in post page, not in home page
相比之前的配置项多了visitor和comment_count两项参数。即要想拥有Valine评论与文章阅读次数可见,设置Valine:为true,leancloud_visitors:为false,配置如下:
# Valine
# You can get your appid and appkey from https://leancloud.cn
# More info available at https://valine.js.org
valine:
enable: true # When enable is set to be true, leancloud_visitors is recommended to be closed for the re-initialization problem within different leancloud adk version.
appid: 粘贴id
appkey: 粘贴key
notify: false # mail notifier, See: https://github.com/xCss/Valine/wiki
verify: false # Verification code
placeholder: 欢迎交流讨论... # comment box placeholder
avatar: mm # gravatar style
guest_info: nick,mail,link # custom comment header
pageSize: 10 # pagination size
visitor: true # leancloud-counter-security is not supported for now. When visitor is set to be true, appid and appkey are recommended to be the same as leancloud_visitors' for counter compatibility. Article reading statistic https://valine.js.org/visitor.html
comment_count: true # if false, comment count will only be displayed in post page, not in home page
leancloud_visitors:
enable: false
Valine的CDN修改
官方自带的CDN加载慢,建议将CDN改成第三方CDNvaline:,修改如下
# valine
# See: https://github.com/xCss/Valine
# Example:
# valine: //cdn.jsdelivr.net/npm/valine@1/dist/Valine.min.js
#valine: //cdnjs.cloudflare.com/ajax/libs/valine/1.3.4/Valine.min.js
valine: //cdn.jsdelivr.net/npm/valine@1.3.4/dist/Valine.min.js
以上内容完成Valine评论的配置相关,都是自己踩的坑,合并了文章阅读次数的功能。
禁止留言
在 禁止留言的文章或者板块添加comments 并将赋值false
我的个人博客文章地址,欢迎访问
我的CSDN地址,欢迎访问
我的GitHub主页,欢迎访问
Hexo博客使用valine评论系统无效果及终极解决方案的更多相关文章
- hexo博客添加gitalk评论系统
经过了一天的折腾,我终于为自己的博客添加上了评论系统.坦率的讲,为什么网上那么多方案我还要自己写一篇博客,那就是因为他们说的都有bug,所以我要自己总结一下. 我选用的是gitalk评论系统, ...
- Jekyll博客添加Valine评论
Jekyll博客添加Valine评论 关于github搭建jekyl博客,在这里不做过多描述,详情参考: 百度搜索关键字:github搭建jekyll博客 官网:https://www.jekyll. ...
- Hexo博客添加SEO-评论系统-阅读统计-站长统计
原文地址:→传送门 写在前面 在五月出捣腾了一把个人博客,但是刚开始只做了一些基础设置,套路也没摸清,基础安装篇请看hexo从零开始到搭建完整,里面讲到了基础工具的安装及blog项目的文件夹含义,以及 ...
- Leancloud+Valine打造Hexo个人博客极简评论系统
以下配置是基于Next主题6.1.0版本 效果见个人博客的最下方评论. Leancloud配置 首先访问Leancloud官网https://leancloud.cn/ 有Github账号的小伙伴可以 ...
- Hexo博客yilia主题添加Gitment评论系统
一开始搭建hexo+yilia博客使用的评论功能是通过来必力实现的.来必力免费,功能多,一开始的体验效果很好,但是后来打开网站发现来必力加载的越来越慢(来必力是韩国的公司,可能是国内限制),遂打算换一 ...
- 关于hexo博客自定义域名后gitment评论系统登陆出现redirect error返回主页的解决办法
title: 关于hexo博客自定义域名后gitment评论系统登陆出现redirect error返回主页的解决办法 toc: false date: 2018-04-16 22:57:50 cat ...
- 【干货】2个小时教你hexo博客添加评论、打赏、RSS等功能 (转)
备注:该教程基于Hexo 2.x版本,目前Hexo是3.x版本,照本教程实现有可能会出现404错误,笔者目前还未找时间去解决,待笔者找时间解决该问题后,再写一篇该问题的解决教程,给各位读者带来困扰,还 ...
- 搭建Hexo博客系统
也许这个教程部署不是特别详细,因为我主要是参考这个链接:https://blog.csdn.net/weixin_39879178/article/details/80319392 感觉这里已经写的很 ...
- [还不会搭建博客吗?]centos7系统部署hexo博客新手入门-进阶,看这一篇就够了
@ 目录 *本文说明 请大家务必查看 前言 首先介绍一下主角:Hexo 什么是 Hexo? 环境准备 详细版 入门:搭建步骤 安装git: 安装node: 安装Hexo: 进阶:hexo基本操作 发布 ...
- 个人hexo博客(静态,无后台)搭建
博客搭建 1.工具安装 安装Node.js,其中包含Node.js和npm(包管理器) 利用npm安装cnpm(淘宝的npm,速度在国内更快) npm install -g cnpm --regist ...
随机推荐
- 动态规划DP入门问题----最大连续子序列,最长不下降子序列(可以不连续),最长公共子序列
一.最大连续子序列 1.题目叙述 对于一个数字序列A1A2A3...An,求出连续子序列的最大和,如对于序列-2,11,-4,13,-5,-2,其中的最大序列和是11+(-4)+13=20 2.动态规 ...
- day01-Redis入门
Redis入门 1.初始Redis 1.1认识NoSQL SQL(关系型数据库) NoSQL(非关系型数据库) 数据结构 结构化(Structured) 非结构化 数据关联 关联的(Relationa ...
- 组织树查询-Jvava实现(递归)
1.首先查询出组织机构 就是一个简单的查询 List<Dept> deptList = mapper.getDeptList(); Map<Long, OrgNode> nod ...
- Flask 上下文是什么 ?
哈喽大家好,我是咸鱼.今天我们来聊聊什么是 Flask 上下文 咸鱼在刚接触到这个概念的时候脑子里蹦出的第一个词是 CPU 上下文 今天咸鱼希望通过这篇文章,让大家能够对 Flask 上下文设计的 ...
- Vue项目使用Echarts来实现中国地图,省份显示
当时做的时候参考了CSND博主:接口写好了吗 第一步:下载echarts npm install echarts --save main.js中引入 import * as echarts fr ...
- .net 6 使用 NEST 查询,时间字段传值踩坑
0x01业务描述 说明: 同事搭建的业务系统,最开始使用 log4net 记录到本地日志. 然后多个项目为了日志统一,全部记录在 Elasticsearch ,使用 log4net.Elastic ...
- csp-s2022游记
## 10.29### 民间数据:洛谷 $95+85+60+44=284$ infoj $90+40+40+44=214$ **输麻了**### 赛时经历开考前发现前面坐着 Qiuly,好可怕.开 ...
- 高级Java程序员必问,Redis事务终极篇
1. 简介 1.1 什么是Redis事务 Redis事务(Transaction)通过将多个Redis操作封装为一个原子性的操作序列,确保在事务执行过程中,不会受到其他客户端的干扰.从而在保证数据一致 ...
- 2020-11-30:java中,卡表和记忆集的区别?
福哥答案2020-12-04:[答案来自此链接:](http://bbs.xiangxueketang.cn/question/530)这两个都是G1收集器中的概念记忆集,RemeberSet,用来记 ...
- 【实践篇】教你玩转JWT认证---从一个优惠券聊起
引言 最近面试过程中,无意中跟候选人聊到了JWT相关的东西,也就联想到我自己关于JWT落地过的那些项目. 关于JWT,可以说是分布式系统下的一个利器,我在我的很多项目实践中,认证系统的第一选择都是JW ...