Hexo + NexT 博客评论系统(Valine)配置小记

这几天刚配置了船新的 Hexo 博客,然后看到使用的 NexT 主题支持很多评论系统。我尝试配置了一下,发现里面坑太多了,真的挺费周章。于是想水一篇分享一下~

1. 为什么不是……

NexT 主题一共支持如下的几个评论系统:

image-20231028142301562

其中我觉得最后一个 Valine 是最好用的,当然也说一下前面几种方法我踩的坑(这里由于 Disqus 需要魔法所以不讨论)

1.1 畅言 / Livere

这两个评论系统都是来自专门做评论的公司,只不过畅言是中国(搜狐)的,而 Livere 是韩国的,音译来必力,不过无需魔法。它们有相同的特点:配置简单,日常使用免费,但是需要登录评论公司或其它的账号(比如畅言需要登录畅言或手机号、微信等账号才能发表评论)才能评论。

再者,畅言的评论系统看起来是真的有点…古老……

image-20231028144309364

反正如果你不想折腾,并且不担心读者体验,可以尝试使用它们。安装方法很懒人,直接在它们的网站上注册免费版,然后把 appid 和 appkey 复制粘贴至 NexT 的 _config.yml 即可。

1.2 Gitalk / Gitment

这两个是基于 GitHub Issues 的评论系统。NexT 貌似只支持 Gitalk。它们可以在 GitHub 上轻松找到。它们几乎是完美的:只需登录 GitHub 即可评论(不过貌似对非 IT 博客有些不友好);基于 GitHub Issues,无后端,开源,免费,管理方便。

但是它们有致命的问题:GitHub 自动创建 Issues 的 API 有用量限制,所以只能被迫使用第三方 API。Gitment 面对这个问题直接躺平,而 Gitalk 默认的 API 又随着 Cloudflare 的被墙被迫需要魔法,改 API 我试了很多次也没成功……

image-20231028150117154

所以这个方案我也只能被迫放弃。如果你热爱折腾,并且恰好魔法高强,可以逝世。

1.3 DisqusJS

这是国内大神 Sukka 写的一个访问 Disqus“评论基础模式”的评论系统。前文已经说过 Disqus 需要魔法,而 DisqusJS 可以打破魔法。不过它也有一个致命缺点:不能发评论,只能看别人的评论。再者最近好像 DisqusJS 也年久失修,无法正常使用了。

如果你对 DisqusJS 感兴趣,可以去 https://blog.skk.moe/post/disqusjs/ 看看,但我觉得没啥用……

2. Valine 配置过程

最后我选择了最后一个 Valine。Valine 轻量级,无后端,无需登陆账号即可发表评论,且开源免费,无需魔法,并且真的很好看:

image-20231029044028914

2.1 配置流程

Valine 的配置不是很复杂。它基于 LeanCloud,所以得先在 LeanCloud 上注册一个账号。注册完可能要实名。

然后新建一个开发版项目,名字随便填:

image-20231029044504174

image-20231029044609998

然后打开设置 - 应用凭证,复制 AppID 与 AppKey:

image-20231029044857715

然后前往设置 - 安全中心,设置一个安全域名,即你的博客所用的域名。Valine 有请求限制,即非安全域名对 LeanCloud 的请求都不会放行,即你不设置安全域名,到时候评论就用不了。但 localhost 不用设置,LeanCloud 自动放行。如下:

image-20231029051345932

然后转到 NexT 的 _config.yml,找到 comments 一栏(大概在第 550 行左右,或者 Ctrl + F),将 active 改成 valine,nav 改成如图所示的样子:

image-20231029051717591

往下滑找到 valine,将 enable 改为 true,然后粘贴 appid 和 appkey:

image-20231029052041829

下面还有几个选项,挑几个好用的说一下:

选项默认值含义及作用
notifyfalse邮件提醒你文章被评论了,LeanCloud 的功能
verifyfalse好像是是否需要验证码,没试过
placeholderJust go go.评论框的默认填充
guest_infonick,mail,link评论者可以填写的个人信息。nick 为名字,mail 为邮箱,link 为评论者博客的网址。举个例子,如果你填 nick,link,那就不能填写邮箱。
pageSize10每一页显示的评论条数
languagezh-cn语言,支持英语 en 和简体中文 zh-cn
visitorfalse统计文章被阅读过几次。这个功能有点牛,作为一个评论系统竟然实现了统计阅读次数功能~
comment_counttrue是否在博客主页显示评论数

大功告成!

P.S. 一份简单的回归说明

虽然众所周知这篇文章挺水的,它也确实挺水的,但还是想水一下。
我的上一篇 CSDN 博客已经是今年 2 月份发的了,快一年没发了。其实我没死,一方面找不到什么好的素材,之前想写关于算法的感觉也写得不怎么好;另一方面不太像花太多精力时间写长博客了。
当然后面不会再水了,主要还是写算法,文章会尽量写短一些、好一点,但说不定哪天又无限期停更了
另外看文章也知道我又开了个博客,上面啥都发,欢迎围观。
That’s all, thanks

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/173173.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2023年第四届MathorCup大数据竞赛(A题)|坑洼道路检测和识别|数学建模完整代码+建模过程全解全析

当大家面临着复杂的数学建模问题时,你是否曾经感到茫然无措?作为2021年美国大学生数学建模比赛的O奖得主,我为大家提供了一套优秀的解题思路,让你轻松应对各种难题。 希望这些想法对大家的做题有一定的启发和借鉴意义。 让我们来…

UE VaRest 从本地读取写入JSON(蓝图)

写入简单JSON到本地项目目录 写入位置:项目根目录 文件名:writjson.Json 写入内容:{“ke1”:“key1value”,“ke2”:“ke2value”} 从本地项目目录加载json 加载位置:项目根目录 文件名:writjson.Json 加载内容&…

React-快速搭建开发环境

1.安装 说明:react-excise-01是创建的文件名 npx create-react-app react-excise-01 2. 打开文件 说明:we suggest that you begin by typing:下面即是步骤。 cd react-excise-01 npm start 3.显示

python—openpyxl操作excel详解

前言 openpyxl属于第三方模块,在python中用来处理excel文件。 可以对excel进行的操作有:读写、修改、调整样式及插入图片等。 但只能用来处理【 .xlsx】 后缀的excel文件。 使用前需要先安装,安装方法: pip install openpyxl…

RabbitMQ (4)

RabbitMQ (4) 文章目录 1. 死信的概念2. 死信的来源3. 死信代码案例3.1 TTL 过期时间3.2 超过队列最大长度3.3 拒绝消息 前言   上文我们已经学习完 交换机 ,知道了几个交换机的使用 ,下面我们来学习一下 死信队列 1. 死信的概念 先从概念解释上搞清楚这…

Wpf 使用 Prism 实战开发Day01

一.开发环境准备 1. VisualStudio 2022 2. .NET SDK 7.0 3. Prism 版本 8.1.97 以上环境,如有新的版本,可自行选择安装新的版本为主 二.创建Wpf项目 1.项目的名称:MyToDo 项目名称:这里只是记录学习,所以随便命名都无所谓,只要觉得合理就…

数据清洗与规范化详解

数据处理流程,也称数据处理管道,是将原始数据转化为有意义的信息和知识的一系列操作步骤。它包括数据采集、清洗、转换、分析和可视化等环节,旨在提供有用的见解和决策支持。在数据可视化中数据处理是可视化展示前非常重要的一步,…

CN考研真题知识点二轮归纳(1)

本轮开始更新真题中涉及过的知识点,总共不到20年的真题,大致会出5-10期,尽可能详细的讲解并罗列不重复的知识点~ 目录 1.三类IP地址网络号的取值范围 2.Socket的内容 3.邮件系统中向服务器获取邮件所用到的协议 4.RIP 5.DNS 6.CSMA/CD…

python随手小练8(南农作业题)

题目1: 输入3 门课程 a,b,c 的成绩,求 3 门成绩的总和平均值(整数,四舍五人)以及最高和最低值。如果3门课程考试成绩分别以权重 0.50.3 和0.2计人总评成绩(整数先求总和再四舍五入),则最终总评成绩是多少? 具体操作: a float(input("a:")) b float(in…

Element 多个Form表单 同时验证

一、背景 在一个页面中需要实现两个Form表单,并在页面提交时需要对两个Form表单进行校验,两个表单都校验成功时才能提交 所用技术栈:Vue2Element UI 二、实现效果 三、多个表单验证 注意项: 两个form表单,每个表单上…

2017年亚太杯APMCM数学建模大赛B题喷雾轨迹规划问题求解全过程文档及程序

2017年亚太杯APMCM数学建模大赛 B题 喷雾轨迹规划问题 原题再现 喷釉工艺用喷釉枪或喷釉机在压缩空气下将釉喷入雾中,使釉附着在泥体上。这是陶瓷生产过程中一个容易实现自动化的过程。由于不均匀的釉料在烧制过程中会产生裂纹,导致工件报废&#xff0…

https下载图片

OpenSSL用法示例 OpenSSL源码安装 对于ubuntu,懒得编译源码可以直接安装 sudo apt-get install libssl–dev /usr/include/openssl/ssl.h CMakeLists中添加 link_libraries(ssl crypto) apt-get安装不需要再制定libssl.a, libcrypto.a的路径了, 就像用libc标…

【算法|动态规划 | 01背包问题No.1】AcWing 426. 开心的金明

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【手撕算法系列专栏】【AcWing算法提高学习专栏】 🍔本专栏旨在提高自己算法能力的同时,记录一下自己的学习过程&a…

node模块导出引入两种方式和npm包管理

模块化的好处 在 Node.js 中每个文件都被当做是一个独立的模块,模块内定义的变量和函数都是独立作用域的,因为 Node.js 在执行模块代码时,将使用如下所示的函数封装器对其进行封装 (function(exports,require,module,__filename,_dirname){//…

C# | Chaikin算法 —— 计算折线对应的平滑曲线坐标点

Chaikin算法——计算折线对应的平滑曲线坐标点 本文将介绍一种计算折线对应的平滑曲线坐标点的算法。该算法使用Chaikin曲线平滑处理的方法,通过控制张力因子和迭代次数来调整曲线的平滑程度和精度。通过对原始点集合进行切割和插值操作,得到平滑的曲线坐…

CNN 网络结构简介

本文通过整理李宏毅老师的机器学习教程的内容,介绍 CNN(卷积神经网络)的网络结构。 CNN 网络结构, 李宏毅 CNN 主要应用在图像识别(image classification, 图像分类)领域。 通常,输入的图片大小相同&am…

【开源】基于SpringBoot的计算机机房作业管理系统的设计和实现

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 登录注册模块2.2 课程管理模块2.3 课时管理模块2.4 学生作业模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 课程表3.2.2 课时表3.2.3 学生作业表 四、系统展示五、核心代码5.1 查询课程数据5.2 新增课时5.3 提交作…

Jupyter Notebook还有魔术命令?太好使了

在Jupyter Notebooks中,Magic commands(以下简称魔术命令)是一组便捷的功能,旨在解决数据分析中的一些常见问题,可以使用%lsmagic 命令查看所有可用的魔术命令 插播,更多文字总结指南实用工具科技前沿动态…

视频上的水印文字如何去掉?

嘿,大家好!作为一个自媒体从业者,我相信大家都想知道如何去掉视频上的水印文字,想必大家和我一样每天都会在互联网寻找素材,而大部分图片或者视频都带有各种各样的水印,这给我的创作带来了不小的麻烦&#…

Vue 3.3.6 ,得益于WeakMap,比之前更快了

追忆往昔,穿越前朝,CSS也是当年前端三剑客之一,风光的很,随着前端跳跃式的变革,CSS在现代前端开发中似乎有点默默无闻起来。 不得不说当看到UnoCss之前,我甚至都还没听过原子化CSS[1]这个概念(…