使用hexo来生成静态页面做博客有很多好处,其中一个非常大的好处就是不需要使用自己的服务器省了一大笔钱。但是正是因为是静态网页也有一些不足的地方,例如评论。hexo的评论只能使用第三方的服务,如gitalk使用了github issues来储存评论,而valine使用了leancloud来部署一个后端并储存评论。之前一直使用的是gitalk,但是不是每个人都有github账号,而本主题的作者removeif正好这些天为主题添加了valine的最新评论支持。为了更加方便大家评论,我也决定尝试一下使用valine作为评论插件。
首先我们要让原版的valine评论正常运行,教程可以查看https://valine.js.org/quickstart.html。
之后因为主题支持,我只需要填上appid和appkey即可。
原版的valine有个很大的问题,那就是回复了评论之后,之前的评论者无法收到通知…那么评论就失去了意义,因为基本不会有人多次访问一个页面去查看评论是否得到了回复。而valine-admin这个项目增强了valine的功能,给valine增加了smtp服务支持,评论后台管理等功能。
选择云引擎——部署——从git源码部署,然后使用https://github.com/DesertsP/Valine-Admin作为代码库,并在该页面设置好环境变量,有一些必填的变量,如下表。我由于网站使用了根域名,并且使用了cname接入cloudflare,所以没办法再设置mx记录了,所以我没有再用域名邮箱,而失去mail.ru注册了一个邮箱(mail.ru支持域名邮箱,如果之后要换的话也方便)
配置好环境变量之后便可以重启/启动容器了。
前往我们之前设置好的web主机域名下设置一个管理员账号 如我的 aoyouer.avosapps.us/sign-up 记得环境变量也要改
然后由于valine免费版的休眠规则
所以我们需要添加两个定时器
一个为0 0/30 7-23 * * ?
的self_wake规则,即每20分钟醒来一次
另一个为0 0 8 * * ?
的resend规则,即每天早上八点补发一次邮件。
之后再重启一次引擎,大功告成,发邮件测试一下吧。
现在用户不需要登陆也能留下评论啦,但是此类评论有个不好的地方就是如果有人乱填邮箱就容易造成一些尴尬的情况,所以还是希望大家都自觉别乱填邮箱。