昨天无意间在打开科学上网的情况下访问了我的博客,发现有一条评论,都已经是11/08的了,当初搭建博客的时候,虽然配置了使用 Valine 评论系统,但是没有配置评论提醒功能,而且昨天刚发现,在没有开启科学上网的情况下,也加载不到评论,今天就来解决下这两个问题。

加载不到评论的问题

通过浏览器的 Network 可以看到,在没有科学上网的情况下,有一个 av-min.js 文件加载失败,怀疑是它导致的。

通过排查,发现这个文件是由 Valine.min.js 文件加载的,而 Valine.min.js 在博客所使用的主题 maupassant 中是能够找到的:

1
2
// maupassant/layout/_partial/comments.pug
script(src='//unpkg.com/valine@latest/dist/Valine.min.js')

那我们只需要把这两个文件改成本地的就可以了。

将两个文件保存到 maupassant/source/js/ 目录下,然后修改 comments.pug 文件

1
script(type='text/javascript', src=url_for(theme.js) + '/Valine.min.js' + '?v=' + theme.version)

同时修改 Valine.min.js 中对于 av-min.js 的引用地址 /js/av-min.js 即可。

邮件提醒

Valine 自带的邮件提醒功能在 v1.4.0 中已经被移除了,具体可查看这里,不过可以通过 Valine Admin 来实现评论提醒功能。

可以看到上面这个 Valine Admin 是 Fork 自 DesertsP 的 Valine Aadmin 的,两个仓里都有配置步骤,但都有点问题,这里记录下。

1. 代码库地址

Git 部署时,需要使用 DesertsP 的代码库,因为 zhaojun1998 的代码库在部署时会报错。
部署报错.png

2. 环境变量

在配置环境变量时,DesertsP 里面列的更全,我自己的是这样的:
环境变量.png
其中:

  • SMTP_PASS:网易邮箱的授权码,默认有效期是 180 天。
  • ADMIN_URL:是在 环境变量 下方 绑定新域名 处设置的,DesertsPzhaojun1998 的截图,跟现在最新的 LeanCloud 的控制台页面已经对不上了。访问域名.png

3. 定时任务

定时任务.png