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 ...
随机推荐
- GPT-4:思考的曙光还是数据的缩影?
海盗分金,GPT-4初露锋芒 GPT系列模型横空出世后,其是否真实具有思考和推理的能力一直被业界关注.GPT-3.5在多条狗问题和海盗分金问题上表现糟糕.GPT-4在这两个谜题上给出的答案令人惊喜,甚 ...
- C++重载的奥义之运算符重载
0.引言 重载,顾名思义从字面上理解就是重复装载,打一个不恰当的比方,你可以用一个篮子装蔬菜,也可以装水果或者其它,使用的是同一个篮子,但是可以用篮子重复装载的东西不一样. 正如在之前的文章<重 ...
- MINIO使用
1.作用 官网地址:https://docs.min.io/ 文件存储.文件对象的上传.下载和删除! 2.使用依赖 <dependency> <groupId>io.minio ...
- NPM 实用命令与快捷方式
在 JavaScript 中,无论是新手还是专家都可能在命令行中使用过 NPM.在本篇文章中,我将会整理超实用的 NPM 命令.快捷方式及技巧,帮助 JavaScript 开发人员提高生产力和效率. ...
- 关于spring嵌套事务,我发现网上好多热门文章持续性地以讹传讹
事情起因是,摸鱼的时候在某平台刷到一篇spring事务相关的博文,文章最后贴了一张图.里面关于嵌套事务的表述明显是错误的. 更奇怪的是,这张图有点印象.在必应搜索关键词PROPAGATION_NEST ...
- 绝对强大的三大linux指令:ar, nm, objdump
前言 如果普通编程不需要了解这些东西,如果想精确控制你的对象文件的格式或者你想查看一下文件对象里的内容以便作出某种判断,刚你可以看一下下面的工具:objdump, nm, ar.当然,本文不可能非常详 ...
- 我的web系统设计规范
以下是我自己在工作中总结的,仅供参考. ·应对所有用户输入进行trim()去除两头空格,若是需要空格的应用 转义代替,不应在js里trim(),而应该在数据库端或后端控制,且只在一处拦截控制,更改策略 ...
- 2020-03-01:给定一个非负数组arr,代表直方图。返回直方图的最大长方形面积。
2020-03-01:给定一个非负数组arr,代表直方图.返回直方图的最大长方形面积. 福哥答案2020-03-01: 单调栈,大压小.有代码. 代码用golang编写,代码如下: package m ...
- 2021-04-23:TSP问题 有N个城市,任何两个城市之间的都有距离,任何一座城市到自己的距离都为0。所有点到点的距 离都存在一个N*N的二维数组matrix里,也就是整张图由邻接矩阵表示。现要求
2021-04-23:TSP问题 有N个城市,任何两个城市之间的都有距离,任何一座城市到自己的距离都为0.所有点到点的距 离都存在一个N*N的二维数组matrix里,也就是整张图由邻接矩阵表示.现要求 ...
- 2022-02-09:k8s安装redis,yaml如何写?
2022-02-09:k8s安装redis,yaml如何写? 答案2022-02-29: apiVersion: apps/v1 kind: Deployment metadata: labels: ...