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

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

时间:2023-08-02 17:01:05浏览次数:48  
标签:appid Hexo valine key Valine leancloud 终极 true

注意事项

有一些博主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 打开主题配置文件 添加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

创建完成,效果如下:

修改配置文件

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

我的个人博客文章地址,欢迎访问 我的CSDN地址,欢迎访问 我的GitHub主页,欢迎访问

标签:appid,Hexo,valine,key,Valine,leancloud,终极,true
From: https://blog.51cto.com/AomanHao/6940315

相关文章

  • Hexo主题Next配置algolia站内搜索
    Algolia是一家为网站与移动应用提供托管式搜索API的初创企业,成立于2012年,总部位于旧金山,曾参加过去年的YC训练营。网站或移动应用只需嵌入简单代码数分钟即可实现搜索功能。实现的效果如下search注册Algolia打开Algolia进行注册。可直接使用github账号进行注册。创建index点......
  • 关于elementUI中Cascader 级联选择器高度问题:终极解决方案
    在使用elementUi级联选择器时,如果里面的option太多,导致它撑满整个屏幕,网上找了挺久的解决方案,都是说在全局设置它的高度,这个方法有效,但是这种方式我忍不了,因为它会影响到全局Cascader样式,以下设置意味着整个项目中的所有级联选择器都是300px,那如果我在别的页面没那么多option,岂不......
  • 从0开发属于自己的nestjs框架的mini 版 —— 终极篇
    这篇其实是最简单的,就是将前面所实现的ioc,路由整合在一起就可以了话不多说,直接上代码\src\koa-ioc.ts引入相关库importKoafrom"koa";importkoaRouterfrom"koa-router";import{ContainerModule}from"./ioc-module";import{Type}from"./ioc-core.ts"......
  • Flutter是跨平台开发终极之选吗?Android开发该如何快速上手Flutter?
    跨端技术是Android程序员乃至所有移动开发程序员一直在研究的课题。3月4日,谷歌正式发布了Flutter的2.0。该版本最大的特性就是可以支持五大主流的操作系统:iOS、Android、Linux、Windows和MacOS。官方甚至还说丰田将会把Flutter带到汽车中。也就是说,我们可以用一套Flutter......
  • 萌新带你开车上p站(终极番外)
     0x01前言这关其实和pwn关系不大,主要考察的都是linux下一些函数的操作,考察linux的基本功。涉及到的知识点包括一些经典的函数原型、IO重定向、文件描述符、管道、环境变量、socket编程、符号链接等。这里顺便真心安利一本书,《UNIX环境高级编程》,简称APUE书里介绍UNIX文件和目录、......
  • 分布式操作系统是操作系统的终极形态吗?
    昨天一位网友私信我,提出一个问题:“Laxcus分布式操作系统会不会是操作系统发展的终极形态?”。今天觉得有必要把这件事说一说,所以就忙里偷闲写下这篇文章。咱们先说结论:是也不是,需要具体情况具体分析。操作系统发展到今天,基本分为两种:面向个人工作的操作系统,和面向企业业务的操作系统......
  • 文件描述符终极使用
    0x01文件描述符介绍Linux系统中,把一切都看做是文件,当进程打开现有文件或创建新文件时,内核向进程返回一个文件描述符,文件描述符就是内核为了高效管理已被打开的文件所创建的索引,用来指向被打开的文件,所有执行I/O操作的系统调用都会通过文件描述符。这个操作包含各种文件的读写,程序......
  • Github打不开、chrome应用商店打不开终极解决方案-pigcha
    记录一下一个非常好用的工具,便于后期自己进行查找!Pigcha是什么?是⼀款专业的全平台的⽹络代理⼯具,能xx上⽹,能⽅便地针对域名进⾏代理或⾛本地,非常好用。Pigcha使⽤教程下载客户端并注册登录:入口地址官方使用教程:入口地址是联系客服微信:mrnew_注:如果您发现速度未达预......
  • AI绘画创意文字全流程揭秘,你的终极文字艺术实操宝典
    本教程收集于:AIGC从入门到精通教程汇总AIGC技术不断更新迭代,国内出现了越来越多的新玩法,比如最近大家都在热议的AI绘画创意文字。过去的一周,我把这些新玩法都研究了一遍,并总结了一套完整的制作流程。主流的创意文字玩法主要分为四类:光影文字嵌入文字隐藏文字海报文字每......
  • 面向普通用户和开发者的ChatGPT Prompt Engineering 终极指南
    你准备好发掘ChatGPT的全部潜力了吗?想象一下拥有一个AI工具,它能在很多方面帮助你——从回答问题和创作有趣内容到提供个性化建议。这就是「PromptEngineering」的用武之地——一种有效且强大的方法,通过精心创建Prompt和指导,让ChatGPT的工作更出色。在这篇文章中,我......