Valine评论配置
背景
由于是静态博客页面,如果没有评论,则无法与用户进行直接的交互,因此百度了诸多方法,建议使用valine、leancloud搭建一个评论系统,同时使用valine-admin搭建评论管理后台,便于游客评论时及时的收到邮件通知信息,以及相关用户的评论。
Valine项目地址:https://valine.js.org
Valine-admin项目地址:https://github.com/DesertsP/Valine-Admin
由于leancloud在国内使用的时候一定要实名制,因此此处采用的是leancloud国际版,二者操作都是一样的
Leancloud网址(国内版):https://leancloud.cn/
Leancloud网址(国际版):https://leancloud.app/
butterfly本身也集成了第三方在线聊天系统(目前仅尝试了chatra和daovoice),因此在此处也做记录,两者注册目前还不需要过多的隐私信息。其中daovoice支持绑定微信,可能会接收消息时更加方便一些,但我没有做过尝试。
chatra:https://app.chatra.io/
daovoice:http://daovoice.io/
搭建记录
Valine环境配置
打开Valine国际版https://leancloud.app/,然后注册账户,并且填报手机号。
点击【存储】–>【结构化数据】–>【创建Class】,然后创建一个名为【Comment】的Class,【Comment】的开放权限可以根据自己的需要设定。
注册完毕后,进入Valine控制面板,只填写下图中红色框中的内容
点击刚刚创建的应用右上角的【设置】按钮,进入应用详情页。然后点击【设置】–>【应用keys】,找到【appid】和【appkey】
打开【设置】中的【安全中心】,将要添加的comment功能的网站域名填写进去(非默认端口则需要将端口一并写上)
打开hexo butterfly主题的配置文件,修改其中的配置项,修改完成后,就能够展示出评论框了
1
2
3
4
5
6
7
8
9
10
11# 添加use配置项为 - Valine
comments:
use:
- Valine
# 找到valine,将第3步获得的appid和appkey填入下方
valine:
appId: 你的appid
appKey: 你的appkey
# 这两处的其它配置项就看个人需要来改,都有注释
chatra环境搭建
打开https://app.chatra.io直接注册,注册完以后,点击左侧【chatwidget】,然后找到下图【chatraid】
打开hexo butterfly的配置文件
1
2
3
4
5
6
7# 将chat_btn配置项设置为true,这个其实是将图标与右侧的图标进行样式统一化,也可不设置
chat_btn: true
# 设置chatra为true,同时将第一步中的Chatraid填写到id处
chatra:
enable: true
id: 12345678
daovoice环境搭建
打开daovoice网站,直接注册,注册完以后点击应用管理,创建一个应用即可,然后按照下图找到聊天的ID
打开hexo butterfly文件配置
1
2
3
4
5
6
7# 将chat_btn配置项设置为true,这个其实是将图标与右侧的图标进行样式统一化,也可不设置
chat_btn: true
# 设置enable为true,同时将第一步中的ID值填写到id处
daovoice:
enable: true
id: 12345678配置完进入前台,鼠标向下滚动,就能看到右侧的Chatroom按钮了
Valine-admin环境搭建
Valine-admin是利用leancloud的云引擎二次开发的,首先将github上的Valine-admin代码库fork到自己的账户下:https://github.com/2467827751/Valine-Admin
打开leancloud项目中使用评论的应用,点击【设置】进入详情页,然后依次点击左侧的云引擎->部署->项目部署->Git部署->配置Git。然后Git的地址填写自己fork到github下的项目链接。然后再次点击Git部署->部署即可。(图片来源于https://www.cnblogs.com/antmoe/)
LeanCloud给予一个免费的二级域名,需自己填写【web主机域名】(此处就用来做管理评论的后台)。当然也可以绑定自己的(我没成功)
然后点击【云引擎】–>【设置】–>设置环境变量
添加的变量信息如下:
变量名 说明 示例 SITE_NAME [必填]网站名称 小康博客 SITE_URL [必填]网站地址,最后不要加/ https://www.antmoe.com SMTP_USER [必填]SMTP 服务用户名,一般为邮箱地址。 admin@antmoe.com SMTP_PASS [必填]SMTP 密码,一般为授权码,而不是邮箱的登陆密码,请自行查询对应邮件服务商的获取方式 123 SMTP_SERVICE [新版支持]邮件服务提供商,内置支持 163 SENDER_NAME [必填]寄件人名称。 小康博客 TO_EMAIL [可选]博主通知收件地址,默认使用SMTP_USER admin@antmoe.com BLOGGER_EMAIL [可选]如果设置则作为后台管理员邮箱(/sign-up页面设置),不设置则默认以SMTP_USER admin@antmoe.com TEMPLATE_NAME [必填]设置提醒邮件的主题 custom2 AKISMET_KEY [可选]Akismet Key 用于垃圾评论检测,设为MANUAL_REVIEW开启人工审核,留空不使用反垃圾 xxxx ADMIN_URL [可选]后台管理地址 https://xxxx.leanapp.cn/ COMMENT [可选]评论div的ID名 #post-comment SCKEY [可选]server酱的SCKEY xxx AKISMET_KEY [可选]Akismet Key 用于垃圾评论检测 xxxxxxxxxxxx QMSG_KEY [可选]Qmsg酱的密钥 xxxxx QQ [可选]Qmsg酱发送的qq,不填为全部。支持多个,用英文逗号分隔即可 5E+08 DISABLE_EMAIL [可选],填写则代表停止发送邮件 TRUE QQ_SHAKE [可选],填写代表发送QQ戳一戳 TRUE 配置自定义服务器:
变量名 说明 示例 SMTP_HOST 邮件服务提供商 SMTP 地址,此项需要自行查询或询问其服务商。 smtp.ym.163.com SMTP_PORT 邮件服务提供商 SMTP 端口, 此项需要自行查询或询问其服务商。 994 SMTP_SECURE 是否启用加密, 默认为 true,一般不需要设置,如有特殊请自行配置。 此项需要自行查询或询问其服务商。 TRUE 我自己的配置项(缺少一个ADMIN_URL也要配置):
添加完成后,点击保存,并且重新部署
添加完成后,设置后台登录的账号密码,点击【存储】–>【结构化数据】–>【_User】,选择【添加行】。填写 email 、 password 、 username ,这三个字段即可, 使用 email 作为账号登陆即可。(为了安全考虑,此 email 必须为配置中的 SMTP_USER 或 TO_EMAIL , 否则不允许登录)
密码设置完成后,打开第三步注册的免费域名,输入第6步设置的邮箱和账户,看是否可以进入
由于使用的是免费的(白嫖系列),所以leancloud似乎有个啥自动休眠的设定(有资金的可升标准版),所以此处还需利用定时器设置自动唤醒,首先就是需要添加变量【ADMIN_URL】,设置为【第三步配置的二级域名】。具体参考【第3步】
然后设置定时任务,依次点击【云引擎】–>【定时任务】–【添加定时任务】
self-wake:表示自动唤醒
resend-mail:表示重发邮件,它会在设定的时间后检查此前24小时内未发送成功的邮件,并补发这些邮件
(选读)发送邮件的模板有两种:default、rainbow,看自己需要在第三步的变量中设置,搞完以后到前台评论一下试试,应该可以很快收到通知邮件
文献参考
huanhao:https://www.cnblogs.com/huanhao/p/emailvaline.html
antmoe:https://www.cnblogs.com/antmoe/p/12904118.html
Deserts:https://deserts.io/valine-admin-document/
感谢上述博主的细心总结,以及Valine-admin、Valine和Leancloud开发者的无私奉献.