首页 > 其他分享 >Hexo博客使用valine评论系统无效果及终极解决方案

Hexo博客使用valine评论系统无效果及终极解决方案

时间:2023-04-14 14:04:10浏览次数:52  
标签:Hexo valine Valine appid leancloud 终极 true id


注意事项

有一些博主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

创建一个新的应用

Hexo博客使用valine评论系统无效果及终极解决方案_github

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

Hexo博客使用valine评论系统无效果及终极解决方案_配置文件_02

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

Hexo博客使用valine评论系统无效果及终极解决方案_github_03

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

Hexo博客使用valine评论系统无效果及终极解决方案_配置文件_04

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

Hexo博客使用valine评论系统无效果及终极解决方案_配置文件_05

修改配置文件

在主题themes目录下有第三方提供的主题配置文件\themes\next\_config.yml 打开主题配置文件 添加appidappkey:

# 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类

在应用里面创建名称为CounterClass,名称必须为Counter

Hexo博客使用valine评论系统无效果及终极解决方案_解决方案_06

创建完成,效果如下:

Hexo博客使用valine评论系统无效果及终极解决方案_hexo_07

修改配置文件

leancloud_visitors:
  enable: true
  appid: 粘贴id
  appkey: 粘贴key

评论系统无效原因及解决方案

1、next的版本不同导致某些参数设置不同

next为5.X版本的时候,配置文件themes\next\_config.ymlvalineidkey的书写方式为appidappkey

valine:
  appid: 粘贴id
  appkey: 粘贴key

next为6.X版本的时候,配置文件themes\next\_config.ymlvalineidkey的书写方式为app_idapp_key

valine:
  app_id: 粘贴id
  app_key: 粘贴key

Valine文件themes\next\layout\_third-party\comments\valine.swig内调用函数依旧为appidappkey

appId: '{{ theme.valine.appid }}',
    appKey: '{{ theme.valine.appkey }}',

参数设置不同解决方案

配置文件themes\next\_config.ymlvalineidkey的书写方式统一为为appidappkey

2、valine评论和文章阅读次数功能均基于LeanCloud,两者有冲突

valine评论和文章阅读次数功能均基于LeanCloud,在配置文件themes\next\_config.yml中,valine的配置项和文章阅读次数的配置项均需要填写LeanCloudidkey

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

相比之前的配置项多了visitorcomment_count两项参数。即要想拥有Valine评论与文章阅读次数可见,设置Valine:trueleancloud_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/[email protected]/dist/Valine.min.js

以上内容完成Valine评论的配置相关,都是自己踩的坑,合并了文章阅读次数的功能。

禁止留言

在 禁止留言的文章或者板块添加comments 并将赋值false

我的GitHub主页,欢迎访问


标签:Hexo,valine,Valine,appid,leancloud,终极,true,id
From: https://blog.51cto.com/u_16066155/6190030

相关文章

  • 什么叫真正的Windows系统音频终极增强效果器
    什么FXSound,什么DTS,什么杜比音效之类的,我说句好听点儿的,这些都是弟弟,想用它们把自己的音箱调教成喜欢的效果,不好意思,它们做不到,换句话说就是鸡肋,食之无味,弃之可惜!因为这些软件处理之后的效果没有一种是不失真严重的,原始音频信号不说丢失大半,最少也得丢失个百分之二三十,这根本谈不......
  • 线程中的终极异常处理处理
    提问线程中的终极异常处理处理回答为了异常阻塞主线程是不值得的使用事件通知方式,这样不会阻塞主线程捕捉AggregateException......
  • 异步编程的终极方案
    async和await实际上就是让我们像写同步代码那样去完成异步操作await表示强制等待的意思,await关键字的后面要跟一个promise对象,它总是等到该promise对象resolve成功之后执行,并且会返回resolve的结果  上面代码会等待5秒之后,弹出5     ......
  • Hexo 评论系统
    Hexo评论系统上一篇文章博客搭建教程搭建了一个博客的基本框架,但是没有解决博客评论问题,本文填充一下这部分欠缺。Hexo博客系统是静态博客,本身无法支持评论等动态的功能,但是可以通过第三方的评论系统让Hexo博客支持评论功能。常见的评论系统包括:Valine、Disqus、Gitment、Gi......
  • 在云服务器上搭建hexo博客(亲测可用)
    前言​本来博客是用wordpress在服务器搭建的,但苦于wordpress的后端语言是php,对markdown的支持也不尽如人意,最终还是放弃了wordpress,转战后端为Node的Hexo框架。​整体思路:在服务器上配置Git环境,创建Git仓库在主机安装Hexo,并生成Hexo静态文件,通过与服务器链接,将静态文件推送......
  • MOTO发布“终极健身伴侣”Motoactv
    官方消息:Motorola刚刚发布了便携式音乐及健身设备Motoactv,这款设备有望成为iPod Nano的强力竞争对手。这款重量仅35克的设备虽小,却配备了600MHz的处理器,可运行Android系统,可记录你的心率,对跑步、步行与骑自行车等健身方式进行统计,利用GPS来定位跟踪你的运动路线。该设备为防水设计......
  • centos安装hexo
    之前参照网上教程,但是使用npm不存在,尝试不同的方法,终于测试一个成功解决方案:wgethttps://nodejs.org/dist/v14.17.4/node-v14.17.4-linux-x64.tar.xztar-xvfnode-v14.17.4-linux-x64.tar.xzmvnode-v14.17.4-linux-x64/usr/local/nodejsecho"exportPATH=$PATH:/usr/loc......
  • 跨域 options 问题, 终极解决方法
    //获取要跨域访问的请求源$origin=isset($_SERVER['HTTP_ORIGIN'])?$_SERVER['HTTP_ORIGIN']:'';//定义允许跨域访问的请求源$allow_origin=array('http://localhost:8080');//如果请求源在允许列表中就设置允许访问......
  • 粘包,自定义协议,粘包解决终极大招
    粘包:1.粘包问题出现的原因:(udp不会出现粘包问题)1.1.tcp是流式协议,数据像水流一样黏在一起,没有任何边界区分1.2.收数据没收干净,有残留,就会下一次结果混淆在一起去(客户端......
  • OushuDB 小课堂丨最大限度地提高企业数据安全性:安全数据传输的终极指南
    只有频繁的文件传输才有可能经营现代企业。扩大一个人在数字空间中的影响力和改变工作习惯使这种做法更加普遍。虽然高效,但数据传输可能会给安全性和可信度带来风险。跟上......