Valine 评论升级

前言

“因流控原因,通过定时任务唤醒体验版实例失败,建议升级至标准版云引擎实例避免休眠”,如上所述,Valine 通过 LeanCloud 实现评论通知的自动唤醒功能失效了。所以我参考了几个大佬的文章,对 Valine 进行了升级。

升级

更换 CDN

为继续美化,我使用了 HCLonely 大佬的 Valine CDN。

https://cdn.jsdelivr.net/gh/HCLonely/Valine@latest/dist/Valine.min.js
位置:主题\_config.yml
1
2
3
4
5
6
7
8
vendors:
# Internal path prefix.
_internal: lib
···
# Valine
# valine: //cdn.jsdelivr.net/npm/valine@1/dist/Valine.min.js
# valine: //cdnjs.cloudflare.com/ajax/libs/valine/1.3.10/Valine.min.js
valine: //cdn.jsdelivr.net/gh/HCLonely/Valine@latest/dist/Valine.min.js
  • 与原版相比
    • 添加了“博主”,“友人”,“访客”标签
    • 添加浏览器和操作系统图标
    • 邮箱检测更严格
    • QQ 邮箱识别获取(原版只能通过昵称框自动获取 QQ 昵称和 QQ 头像)
    • meta placeholder 可自定义
位置:主题\_config.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
valine:
···
master:
- # 博主邮箱(MD5 加密值)
-
-
friends:
- # 友人邮箱(MD5 加密值)
-
-
metaPlaceholder:
nick: 昵称/ QQ 号(必须)
mail: 邮箱(昵称输入 QQ 号可自动识别输入)
tagMeta:
- 博主
- 友人
- 访客

增加微信、QQ 通知

为实现通过 LeanCloud 增加微信QQ 通知,更换为小康大佬的 Git 地址进行部署

https://github.com/sviptzk/Valine-Admin-Server
  • 部分环境变量
    变量名说明
    SITE_NAME[必填] 网站名称
    SITE_URL[必填] 网站地址,最后不要加/
    SMTP_USER[必填] SMTP 服务用户名,一般为邮箱地址
    SMTP_PASS[必填] SMTP 密码,一般为授权码,而不是邮箱的登陆密码,请自行查询对应邮件服务商的获取方式
    SMTP_SERVICE[新版支持] 邮件服务提供商,内置支持
    SENDER_NAME[必填] 寄件人名称
    TEMPLATE_NAME[必填] 设置提醒邮件的主题
    ADMIN_URL[可选] 后台管理地址
    SCKEY[可选] 微信通知 KEY
    QMSG_KEY[可选] QQ 通知 KEY
    DISABLE_EMAIL[可选] 禁止邮件通知博主,但 @ 仍然会提醒
    QQ_SHAKE[可选] QQ 通知时发送戳一戳

解决流控问题

小康大佬的方法是 GitHub + Actions 的方法。

  • 打开 Github setting
  • Developer settings
  • 选择 Personal access tokens ,添加一个新的 TOKEN
    • 这个 TOKEN 主要使用来启动 actions 和上传结果用的
    • 设置名字为GITHUB_TOKEN,然后勾选 repo , admin:repo_hook , workflow 选项,最后点击 Generate token 即可
  • FORK 小康大佬的项目
  • 成功 FORK 后,进入项目的设置,选择 Secrets,添加 leancloud 的后台地址(评论管理的后台地址)
    • 其中 Name 的名字必须为SITE,Value 可以是多个地址,用英文逗号分隔。