摘要
Valine:一款快速、简洁且高效的无后端评论系统。
一、注册及简单配置
1.注册LeanCloud
2.创建创建Valine应用,选择开发板即可,名称任意。例如:Valine。
3.选择刚刚创建好的应用,点击【设置】 -> 【应用 Keys】,获取 AppID 和 AppKey。
4.我的是hexo博客,yilia主题。以我自己的为例:
打开 主题 目录下的_config.yml。添加以下代码:
valine:
appid: '' #Leancloud应用的AppID
appkey: '' #Leancloud应用的AppKey
verify: false #验证码
notify: false #评论回复提醒
avatar: robohash #评论列表头像样式:''/mm/identicon/monsterid/wavatar/retro/hide
#头像类型可见: https://valine.js.org/avatar.html
placeholder: 留下你来过的痕迹~ #评论框占位符
article.ejs
在themes/yilia/layout/_partial/article.ejs文件中添加如下几行,位置随意
<% if (!index){ %>
<% if (theme.valine && theme.valine.appid && theme.valine.appkey){ %>
<section id="comments" class="comments">
<style>
.comments{margin:30px;padding:10px;background:#fff}
@media screen and (max-width:800px){.comments{margin:auto;padding:10px;background:#fff}}
</style>
<%- partial('post/valine', {
key: post.slug,
title: post.title,
url: config.url+url_for(post.path)
}) %>
</section>
<% } %>
<% } %>
valine.ejs
这个文件需要新建
路径:themes/yilia-plus/layout/_partial/post/valine.ejs
<div id="vcomment" class="comment"></div>
<script src="//cdn1.lncld.net/static/js/3.0.4/av-min.js"></script>
<script src='//unpkg.com/valine/dist/Valine.min.js'></script>
<script src="https://cdnjs.loli.net/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
var notify = '<%= theme.valine.notify %>' == true ? true : false;
var verify = '<%= theme.valine.verify %>' == true ? true : false;
new Valine({
av: AV,
el: '#vcomment',
notify: notify,
app_id: "<%= theme.valine.appid %>",
app_key: "<%= theme.valine.appkey %>",
placeholder: "<%= theme.valine.placeholder %>",
avatar:"<%= theme.valine.avatar %>",
});
</script>
6.【设置】->【安全中心】->【web安全域名】里填写你的博客访问地址
正常情况下,这样已经可以简单的使用了。
二、云引擎的设置(进阶)
- 进入【云引擎】-【设置】界面。
1.源码部署
其中,源码部署中的代码库为:https://gitee.com/giteerepositories/Valine-Admin ,填写完毕后点击下方保存。
(特别说明,这是从Github上导入的他人的,由于GitHub上部署起来比较慢,所以我导入到了gitee上,这样部署起来比较快。原GitHub地址)
2.自定义环境变量
其中,只填写几个必填的就可以了,选填的看个人喜好自己设置。
我选择的填写样式:
(注:并不完全,请勿照搬填写,请按照具体示例填写自己的环境变量)
具体格式示例如下:
名称 | 示例 | 说明 |
---|---|---|
SITE_NAME | GH670 | [必填]博客名称 wblog.tech |
SITE_URL | https://wblog.tech | [必填]首页地址 |
SMTP_SERVICE | “QQ” | [新版支持]邮件服务提供商,支持 QQ、163、126、Gmail 以及 更多 |
SMTP_USER | xxxxx@qq.com | [必填]SMTP登录用户 |
SMTP_PASS | XXXXXXXX | [必填]SMTP登录密码(QQ邮箱需要获取独立密码) |
SENDER_NAME | GH670 | [必填]发件人 |
SENDER_EMAIL | xxxxx@qq.com | [必填]发件邮箱 |
BLOGGER_EMAIL | xxxxx@qq.com | [可选]如果自己在回复,设置这个可以不向自己的邮箱发送邮件 |
ADMIN_URL | https://xxx.leanapp.cn/ | [建议]Web主机二级域名,用于自动唤醒 |
BLOGGER_EMAIL | xxxxx@qq.com | [可选]博主通知收件地址,默认使用SENDER_EMAIL |
AKISMET_KEY | xxxxxxxxxxxx | [可选]Akismet Key 用于垃圾评论检测,设为MANUAL_REVIEW开启人工审核,留空不使用反垃圾 |
参数务必填写正确
特别注意的是:
- SMTP_PASS的填写,我使用的是QQ邮箱,这里的SMTP_PASS登录密码的填写 不是填QQ邮箱的登录密码。
这个密码的获取过程是:
【打开QQ邮箱】->【选择设置】->【账户】->【找到SMTP_PASS,点击开启】 - Web主机二级域名的获取:云引擎 -> 设置,在Web主机域名位置点击申请即可。
三、部署
【云引擎】->【部署】
分支使用master,点击部署即可。
四、Valine评论管理
访问设置的二级域名https://二级域名.leanapp.cn/sign-up ,注册管理员登录信息。
设置完管理员的登录信息。
之后,即可通过https://二级域名.leanapp.cn/管理评论
五、定时唤醒&邮件提醒
添加定时唤醒是为了防止应用死机导致邮件提醒等漏发。
进入【云引擎】-【定时任务】中,创建定时器,创建两个定时任务
- 1.生产环境选择self-wake云函数,Cron表达式为0 0/30 7-23 * * ?
表示每天早6点到晚23点每隔30分钟访问云引擎,ADMIN_URL环境变量务必设置正确,这样可以保持每天的绝大多数时间邮件服务是正常的。 - 2.生产环境选择resend_mails云函数,Cron表达式为0 0 8 * * ?
表示每天早上八点检查过去24小时内漏发的通知邮件并补发。
添加定时器后记得点击启动方可生效。
至此,Valine Admin 已经可以正常工作。