前言
前面一篇文章主要写了:
Valine - 一款快速、简洁且高效的无后端评论系统
在Hexo(sakura)主题中引入valine评论系统以及魔改diy样式!
插曲:根据cndrew的提醒,这里修改一处:
修改如图:
正文
Valine - 自定义邮件回复提示效果图:
- leancloud自带原模板(valine是基于leadcloud)
- 第三方Valine-admin模板
彩虹主题:
我觉得你应该会选择第二个模板,那么直接跳到第二种valine-admin模板教程就好了~
1.原邮箱模板
1.1 登录leadcloud后台,在应用的设置->邮件模板->邮件主题
(修改主题名称和内容,保存)
修改邮件主题:你在{{appname}}的评论收到了新的评论
内容如下:(链接为你的博客主页链接)
<p>Hi, {{username}}</p>
<p>你在 {{appname}} 的评论收到了新的回复,请点击查看:</p>
<p>
<a href="https://cungudafa.gitee.io" style="display: inline-block; padding: 10px 20px; border-radius: 4px; background-color: #3090e4; color: #fff; text-decoration: none;">马上查看</a></p>
点击“保存”按钮
1.2修改Sakura 主题配置文件,位置:\themes\Sakura\layout\_partial\comment.ejs
,修改notify: true
效果:
不是很nice!下面给出一个加强plus版~
2.valine-admin模板
2.1设置云引擎
参考于:zhaojun的hexo-valine-admin
此项目是一个对 Valine 评论系统的拓展应用,可增强 Valine 的邮件通知功能。基于 Leancloud 的云引擎与云函数。可以提供邮件 通知站长 和 @ 通知 的功能,而且还支持自定义邮件通知模板。
-
点击
云引擎 -> 设置
填写代码库并保存:https://github.com/zhaojun1998/Valine-Admin
建议直接用zhaojun的模板,如果需要修改模板,克隆地址,修改:此配置会去寻找 template{TEMPLATE_NAME} 目录下的 notice.ejs 与 send.ejs 模板文件,分别用于通知站长和通知游客,另外欢迎提供邮件主题样式。
-
切换到
部署
标签页,Git源码部署
-分支使用 master,点击部署即可:
master
如果这个地址为你的地址,
-
配置项,设置云引擎的环境变量以提供必要的信息,点击云引擎的
设置
页,自定义环境变量
中逐项添加:名称 描述 是否必选 SITE_NAME 姑的小屋
网站名称√ SITE_URL https://cungudafa.gitee.io
网站地址, 最后不要加 /√ SMTP_USER [email protected]
SMTP 服务用户名,一般为邮箱地址√ SMTP_PASS *********
SMTP 密码,一般为授权码,而不是邮箱的登陆密码,请自行查询对应邮件服务商的获取方式√ SMTP_SERVICE 163
邮件服务提供商,支持 QQ、163、126、Gmail、“Yahoo”、… ,全部支持请参考 : Nodemailer Supported services。√ SENDER_NAME 姑(cungudafa)
寄件人名称√ ADMIN_URL https://xxx.xx.cn/post
主机二级域名,用于自动唤醒建议 TO_EMAIL [email protected]
博主通知收件地址,默认使用SENDER_EMAIL可选 AKISMET_KEY xxxxxxxxxxxx
Akismet Key 用于垃圾评论检测可选 TEMPLATE_NAME default
默认主题和rainbow
彩虹主题可选 记得每次修改后都要重启容器!
-
重启容器
2.2防止云引擎休眠
免费版的 LeanCloud 容器,是有强制性休眠策略的,不能 24 小时运行:
- 每天必须休眠 6 个小时
- 30 分钟内没有外部请求,则休眠。
- 休眠后如果有新的外部请求实例则马上启动(但激活时此次发送邮件会失败)。
分析了一下上方的策略,如果不想付费的话,最佳使用方案就设置定时器,每天 7 - 23 点每 20 分钟访问一次,这样可以保持每天的绝大多数时间邮件服务是正常的。
-
点击
云引擎 - 定时任务
,新增定时器,按照图片上填写:0 0/20 7-23 * * ?
-
在
云引擎-设置-自定义环境变量
中添加ADMIN_URL:你的域名
-
添加后要记得点击启用
-
启用成功后,每 20 分钟在云引擎的 - 应用日志中可以看到提示:
记得每次修改 环境变量 后都要重启容器!
2.3hexo(sakura)设置
将自定义邮件关闭,不然会发送两封邮件哦!
notify: false #true自带评论mail回复提醒,第三方邮件提醒就设置为false
站长邮件提示效果:
评论者收到回复效果:
ps.再次光临的链接位置在评论位置,but地址路径为
https://cungudafa.gitee.io/post/45da.html#comments
新版valine命名为的vcomments
,所以得#vcomments才能定位,此时需要:
- 克隆zhaojun的模板,修改:此配置会去寻找 template{TEMPLATE_NAME} 目录下的 notice.ejs 与 send.ejs 模板文件,分别用于通知站长和通知游客。
- 回到步骤 2.1设置云引擎,修改 路径为你的路径
- 重启云引擎!
其实,我认为
#vcomments
定位到评论区有一定的优化用户体验,现在已经定位到评论文章了嘛,手动翻翻
如果需要精确定位到第几条评论#vcomments-2
就需要魔改了💦
我目前暂未修改,如果我针对sakura版本修改了Valine-Admin项目,我到时候再补充项目地址啦,偷偷懒💤~