手摸手带你用Hexo撸博客(三)之添加评论系统
原文地址
注: 笔者采用的是butterfly主题, 主题内置集成评论系统
butterfly主题开启评论
开启评论需要在comments-use中填写你需要的评论。
以Valine为例
comments:
use:
- Valine
# 是否显示服务商
text: true
# 懒加载 开启之后无法计数
lazyload: false
# 评论计数
count: true
配置你的 LeanCloud 应用
遵循 Valine的指示去配置你的 LeanCloud 应用。以及查看相应的配置説明。
valine:
appId: # 先空着 先空着 先空着 (leancloud application app id)
appKey: # 先空着 先空着 先空着 (leancloud application app key)
pageSize: 10 # comment list page size
avatar: monsterid # gravatar style https://valine.js.org/#/avatar
lang: zh-CN # i18n: zh-CN/zh-TW/en/ja
placeholder: 记得留下你的昵称和邮箱....可以快速收到回复(头像设置请参考https://valine.js.org/avatar.html)
guest_info: nick,mail,link #valine comment header info (nick/mail/link)
recordIP: false # Record reviewer IP
serverURLs: # This configuration is suitable for domestic custom domain name users, overseas version will be automatically detected (no need to manually fill in)
bg: /image/comment_bg.png # valine background
emojiCDN: # emoji CDN
enableQQ: false # enable the Nickname box to automatically get QQ Nickname and QQ Avatar
requiredFields: nick,mail # required fields (nick/mail)
option:
注册LeanCloud账号

创建应用
一般选择开发版就可以了, 土豪请选择商用版, 优点是系统不会休眠

选择应用进入设置页面

把这里的AppId 和AppKey 添加到之前的配置中
建议设置域名白名单, 防止他人利用接口滥用

lean评论管理平台的域名绑定
设置=>域名绑定=>绑定新域名
需配置DNS节点

如果遇到已备案域名显示无法查询到备案信息
请前往官方社区 发帖反映问题
lean部署
云引擎=>部署

部署地址: https://github.com/zhaojun1998/Valine-Admin
分支: master
此外,你需要设置云引擎的环境变量以提供必要的信息,点击云引擎的设置页,设置如下信息:
- 必选参数
SITE_NAME: 网站名称。SITE_URL: 网站地址, 最后不要加/。SMTP_USER: SMTP 服务用户名,一般为邮箱地址。SMTP_PASS: SMTP 密码,一般为授权码,而不是邮箱的登陆密码,请自行查询对应邮件服务商的获取方式SMTP_SERVICE: 邮件服务提供商,支持QQ、163、126、Gmail、"Yahoo"、......,全部支持请参考 : Nodemailer Supported services。 --- 如这里没有你使用的邮件提供商,请查看自定义邮件服务器SENDER_NAME: 寄件人名称。
例如:

设置完环境变量,必须重新部署,邮件提醒功能才会生效
添加用户
存储 —— 用户 —— 添加用户
可能会有一点延迟, 耐心等待一会
leanCloud自动唤醒
由于leanCloud的休眠策略, 评论可能没有邮件通知(毕竟是白嫖)
首先需要添加环境变量,
ADMIN_URL : 云引擎域名,如:https://jackma.avosapps.us(重启生效)然后点击【云引擎】【定时任务】【创建定时任务】,按照图片上填写:
0 0/20 7-23 * * ?

登录之前的管理平台地址即可管理评论 lean.limeichao.cn 这个东东

自动唤醒失败问题
免费版的 LeanCloud 容器,是有强制性休眠策略的,不能 24 小时运行:
- 每天必须休眠 6 个小时
- 30 分钟内没有外部请求,则休眠。
- 休眠后如果有新的外部请求实例则马上启动(但激活时此次发送邮件会失败)
- Valine-admin由于Leancloud流控原因,自动唤醒任务可能会失败, 所以这里介绍一个使用第三方计划任务网站进行定时唤醒 Valine-admin 的方法。
注册 cron-job 帐号
注册地址:https://cron-job.org/en/signup/
注册时的时区请选择
Asia/Shanghai
添加一个计划任务
登陆之后依次点击
Members,cronjobs,Create cronjobTitle, Address
- Title 可以随便填一个
- Address 填写你的云引擎环境变量的 ADMIN_URL,也就是Leancloud的Web 主机域名。
Schedule
选择 User-defined 进行自定义设置(按住 Ctrl 可多选)
- Days of month: 全选
- Days of week: 全选
- Months: 全选
- Hours: 你需要在哪个时间段唤醒就选择什么
- Minutes: 选择 0 , 20 , 40
Notifications
可以不用修改,也可以根据自己的需要修改
Common
勾选Save responses, 保存唤醒日志
点击Create cronjob
有不懂的地方请评论区留言哦
手摸手带你用Hexo撸博客(三)之添加评论系统的更多相关文章
- 手摸手带你用Hexo撸博客(二)之配置主题
在上一篇博客手摸手带你用Hexo撸博客(一)中主要介绍了博客的初步搭建 今天我们继续讲如何在Hexo搭建的博客中应用主题 官网选择自己喜欢的主题 点击这里Hexo主题进入官网主题页面 然后选择自己喜欢 ...
- 手摸手带你用Hexo撸博客(一)
原文地址 手摸手带你用Hexo撸博客(一) 环境搭建 安装 node 狂点下一步 命令行输入此条命令 如果能看到版本号则安装成功 node -v 安装Git (同上) 实在不会的小伙伴百度一下,教程很 ...
- Linux下使用 github+hexo 搭建个人博客05-next主题接入评论系统
静态站点拥有一定的局限性,因此我们需要借助于第三方服务来扩展我们站点的功能. 而评论系统是最常用于和网站用户交流的,因此本章讲解在 next 主题,如何接入评论系统. 参考网站:Next 使用文档,第 ...
- 震惊,hexo个人博客居然有这么方便的评论系统
论文搞得一头火,瞎倒腾了一下,没想到几分钟给自己的博客换了个评论系统. 之前用的gitalk,需要依赖github,死活没有成功,而且评论者还需要登录github才可以评论,不好用,刚才偶然间发现va ...
- 【转】手摸手,带你用vue撸后台 系列二(登录权限篇)
前言 拖更有点严重,过了半个月才写了第二篇教程.无奈自己是一个业务猿,每天被我司的产品虐的死去活来,之前又病了一下休息了几天,大家见谅. 进入正题,做后台项目区别于做其它的项目,权限验证与安全性是非常 ...
- 【转】手摸手,带你用vue撸后台 系列三(实战篇)
前言 在前面两篇文章中已经把基础工作环境构建完成,也已经把后台核心的登录和权限完成了,现在手摸手,一起进入实操. Element 去年十月份开始用vue做管理后台的时候毫不犹豫的就选择了Elemen, ...
- 【转】手摸手,带你用vue撸后台 系列四(vueAdmin 一个极简的后台基础模板)
前言 做这个 vueAdmin-template 的主要原因是: vue-element-admin 这个项目的初衷是一个vue的管理后台集成方案,把平时用到的一些组件或者经验分享给大家,同时它也在不 ...
- 【转】手摸手,带你用vue撸后台 系列一
前言 说好的教程终于来了,第一篇文章主要来说一说在开始写业务代码前的一些准备工作吧,但这里不会教你webpack的基础配置,热更新怎么做,webpack速度优化等等,有需求的请自行google. 目录 ...
- 手摸手,带你用Beego撸商城系列一(基础篇)
完整项目地址: go-shop-b2c 系列文章: 手摸手,带你用 Beego撸商城 系列一(基础篇) 手摸手,带你用 Beego撸商城 系列二(登录篇) 手摸手,带你用 Beego撸商城 系列三(系 ...
随机推荐
- C++编程指南续(4-5)
五.常量 常量是一种标识符,它的值在运行期间恒定不变.C语言用 #define来定义常量(称为宏常量).C++ 语言除了 #define外还可以用const来定义常量(称为const常量). 5.1 ...
- java并发编程实战《八》管程
管程:并发编程的万能钥匙 为什么 Java 在 1.5 之前仅仅提供了 synchronized 关键字及 wait().notify().notifyAll() 这三个看似从天而降的方法? Java ...
- celery使用-win10和linux
win10启动方式 celery -A celery_tasks.main worker -l debug -P eventlet linux启动方式 /usr/local/bin/celery ce ...
- 第12.2节 Python sys模块导览
sys模块包括一些用于系统处理的功能,常用的成员包括: sys.argv:当前执行进程的命令参数列表,不含执行程序本身的名字: sys.stdin .sys.stdout 和 stderr :分别对应 ...
- 如何实现 token 加密(来自github每日一题)
需要一个secret(随机数) 后端利用secret和加密算法(如:HMAC-SHA256)对payload(如账号密码)生成一个字符串(token),返回前端 前端每次request在header中 ...
- 什么时候使用transition?什么时候使用animation?
不同点: 1. 触发条件不同.transition通常和hover等事件配合使用,由事件触发.animation则和gif动态图差不多,立即播放. 2. 循环. animation可以设定循环次数. ...
- Codeforces Round #685(Div2)
Contest Link Official Editorial A. Subtract or Divide 给你一个数 \(n\) ,每一步可以做以下两个操作之一: 用一个不等于 \(n\) 的 \( ...
- 【题解】「CF675A」Infinite Sequence
我用的是:分类讨论+暴力 其中分类讨论中,我用了一种namespace名命名空间.如果: \(c = 0\) : 当 \(a == b\) 时,输出 \(YES\) 否则 \(NO\) \(c < ...
- Day10 python高级特性-- 生成器 Generator
列表生成式可以创建列表,但是受内存限制,列表容量时有限的,创建一个巨量元素的列表,不仅占用很大的存储空间,当仅仅访问前几个元素时,后面的绝大多数元素占用的空间都被浪费了. 如果list的元素可以按照算 ...
- Flink读取resource资源文件
public static ParameterTool getParameterTool(String[] args){ try { return ParameterTool .fromPropert ...