玩转Valine评论系统

先上效果

原本是用Gitalk作为本博客的评论系统,但由于最近Gitalk不知什么原因网络错误,导致评论系统无法使用。

故今天使用Valine来替换Gitalk,主要分为以下步骤:

leancloud的使用

由于Valine是需要一个后端来支持它的评论系统,故先注册leancloud,注册完后首先实名认证,认证后创建应用,开发版即可。

添加环境变量

变量解释如下:

变量 示例 说明
ADMIN_URL https://gianter.top 管理评论的域名(需备案),如不需要管理则不填
SENDER_NAME 笔尖少年 发件人
SITE_NAME 笔尖少年 [必填] 博客名称
SITE_URL https://panghai.top [必填] 博客网址
SMTP_PASS xxxxxxxxxxxxxx [必填] 邮箱授权码
SMTP_SERVICE QQ [必填] 邮箱类型
SMTP_USER 1982989137@qq.com [必填] 邮箱账号
TEMPLATE_NAME rainbow 邮件模板(default和rainbow)
TO_EMAIL 1982989137@qq.com 指定站长收信邮箱

部署

依次点击云引擎->WEB->部署,git地址为https://github.com/DesertsP/Valine-Admin.git,如果测试成功,再去fork,改回自己的仓库名,比较稳定。

选择master分支后部署,第一次有点久。

后台评论管理

点击 云引擎 -> WEB ->设置 -> 绑定新域名,添加已备案的域名,去域名商添加CNAME记录,稍后即可绑定成功。

添加管理员账号

点击 存储 -> 结构化数据,选择_User如果有内容,全部删除,这里是需要新建后台管理的账户。
选择_User -> 添加行,只需要填写password、username。

登录后台评论

填写刚刚设置的username、password即可。

定时任务

LeanCloud 容器,是有强制性休眠策略的,不能 24 小时运行:每天必须休眠 6 个小时,30 分钟内没有外部请求,则休眠所以需要定时任务进行休眠,步骤如下

1、点击云引擎-> 定时任务,创建定时任务,名称任意,生产环境选择self-wake云函数,Cron表达式填入0 */20 7-23 * * ?,表示每天 7 - 23 点每 20 分钟访问一次,这样可以保持每天的绝大多数时间邮件服务是正常的。

2、配置定时检查,创建定时任务,名称任意,生产环境选择resend-mails云函数,Cron表达式填入0 0 8 * * ?,表示每天早8点检查过去24小时内漏发的通知邮件并补发

修改主题配置文件

修改在blog/themes/next目录下的_config.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
valine:
enable: true
appid: xxxxxxxxxxxxx
appkey: xxxxxxxxxxxx
notify: true # Mail notifier
verify: true # Verification code
placeholder: 欢迎留言,一起进步 # Comment box placeholder
avatar: mm # Gravatar style
guest_info: nick,mail,link # Custom comment header
pageSize: 10 # Pagination size
language: zh-cn # Language, available values: en, zh-cn
visitor: true # Article reading statistic
comment_count: true # If false, comment count will only be displayed in post page, not in home page
recordIP: true # Whether to record the commenter IP
serverURLs: # When the custom domain name is enabled, fill it in here (it will be detected automatically by default, no need to fill in)
#post_meta_order: 0

重新部署后测试一下:

完成!

参考文章

Hexo博客Next主题valine评论系统邮件提醒

坚持原创技术分享,您的支持将鼓励我继续创作!

欢迎关注我的其它发布渠道