hexo[Matery] Valine评论系统优化
本篇文章内容主要依据DesertP的 Valine-Admin 项目和微软的 Outlook 邮箱展开。
众所周知,Matery 主题自带的 Valine 评论系统是非常好用的,但是因为 Valine 的轻量特点,导致 Valine 的邮箱提醒功能显得很鸡肋。
甚至到 Valine 1.4.0+ 版本后,直接放弃了这一功能,详情可在官方文档里看到说明。
个人觉得,waline 虽然很优秀,但是对一般人来说很不友好。谁会为了给你个评论专门去注册一个自己不用的账户?
但是, DesertP 大佬开发的 Valine-Admin 及时的弥补了这一缺点。下面来介绍 Valine-Admin 的部署。
一、部署 Valine
要想使用 Valine-Admin,当然得确保 Valine 的部署是可用的啊!这一点本篇文章不做过多的介绍!大家可以去网上找教程部署 Valine。
但是这里还是要说一下,推荐你使用较新版(版本为 1.4.0+ 的)的 Valine.min.js
。
- 在 Matery 主题的
_config.yml
文件中,找到如下代码并像我一样配置(大概在 500 多行位置):
1 | libs: |
然后来到
.\themes\hexo-theme-matery\source\libs\valine\
文件夹,把Valine.min.js
手动替换成 1.5.0 版本。最后把主题目录下的
_config.yml
文件里的 Valine 配置信息中的 notify 和 verify 设置成false
。
那么 Valine 的准备工作基本做完了!
二、注册 Valine 的管理员邮箱
是的,你没有听错。这里确实需要重新注册一个邮箱,专门用于管理 Valine 评论。
如果不注册的话,后面会有个很难受的BUG(后面会细说)。
所以,专门注册一个邮箱用于管理 Valine 评论的发件很有必要。而且建议这个邮箱的密码不要有任何规则(你一般用不到,他就是默认的发件邮箱,相当于别人评论后会通过这个邮箱发送过来),直接键盘乱敲,然后记录下来来提高安全性(这非常重要)。
至于为什么 Outlook 会这么复杂,后面再说。
-> 注册 Outlook 邮箱 <-
记录下 邮箱地址(后面用 xxx@outlook.com
指代) 和 登陆密码,后面会用到。
三、部署 Valine-Admin
进入 LeanCloud 官网,然后登录,打开之前配置 Valine 创建的应用。
依次点击
云引擎
->部署
->项目部署
->Git部署
->配置Git
, 然后 Git 的地址填写: https://github.com/DesertsP/Valine-Admin.git/ ,接着再次点击Git部署
->部署即可
(部署分支为 master)。设置环境变量,具体可参考下面的表格(表格只列出了部分,因为我是使用 Outlook 邮箱配置的,所以列出的内容针对 Outlook 邮箱的配置。具体可参考官网手册):
变量名 | 说明 | 示例 |
---|---|---|
SITE_NAME | [必填] 网站名称 | SeaYJ’s Blog |
SITE_URL | [必填] 网站地址,最后不要加/ | https://seayj.cn |
SMTP_USER | [必填] SMTP 服务用户名,一般为邮箱地址 | xxx@outlook.com |
SMTP_PASS | [必填] SMTP 密码,一般为授权码,而不是邮箱的登陆密码,请自行查询对应邮件服务商的获取方式 | xxx@outlook.com 的登陆密码 |
SMTP_SERVICE | [新版支持] 邮件服务提供商,查看所有支持 | Outlook365 |
SMTP_HOST | [选填] SMTP_SERVICE 留空时,自定义 SMTP 服务器地址 | smtp-mail.outlook.com |
SMTP_PORT | [选填] SMTP_SERVICE 留空时,自定义 SMTP 端口 | 587 |
SMTP_SECURE | [选填] 使用 TLS | true |
SENDER_NAME | [必填] 发件人名称 | Valine评论管理系统 |
SENDER_EMAIL | [必填] 发件人邮箱 | xxx@outlook.com |
BLOGGER_EMAIL | [建议] 博主通知收件邮箱,默认使用 SENDER_EMAIL | yyy@outlook.com |
TEMPLATE_NAME | [选填] 设置提醒邮件的主题 | custom2 |
AKISMET_KEY | [选填] Akismet Key 用于垃圾评论检测,设为 MANUAL_REVIEW 开启人工审核,留空不使用反垃圾 | xxxxxx |
ADMIN_URL | [建议] Web 主机二级域名(云引擎域名),用于自动唤醒 | https://xxx.leanapp.cn/ |
大家可以参考我的配置(如下图)和上面的表格,然后要填写具体信息。
补充:
最好图片列举的都要填写。
- 设置完环境变量再次部署即可让其生效。
到此为止, Valine-Admin 已经部署完毕,目前体验还不错。
四、设置定时任务
在 云引擎
>定时任务
里添加如下两个定时任务即可:
至此,你的 Valine-Admin 评论系统基本可以正常运作了。
五、一些问题补充
5.1 同时收到两份邮件
原因 1:Leancloud 的密码重置邮件提醒,如果你曾经配置过 valine 自带的邮件提醒(1.4.0+ 不会出现该问题,因为该功能已被官方废弃),会出现两个邮件提醒。
将 Valine 自带的邮件回复提醒关掉即可 notify: false
:
1 | valine: |
原因 2:博主回复收到两条邮件提醒,因为你为设置 BLOGGER_EMAIL
或设置为了自己的发件邮箱。
环境变量中配置 BLOGGER_EMAIL
为其他邮箱即可
1 | BLOGGER_EMAIL yyy@outlook.com |
5.2 安全问题
我原本不清楚该问题,是 @王九弦SZ·Ninty 跟我说明了该问题。
具体问题细节可以参考这篇文章:《关于枫糖博客事件的正面回应》
所以,我已经跟换评论模块为 twikoo。