本文章首发于语雀!
通过各种高科技功能同步到Hajeekn 的博客
本文基于@CCKNBC的日志@Waline 官方文档和博主自己部署时的实际情况编写
如果需要最详细的配置请前往 @Waline 官方文档


评论系统特性

  • 快速
  • ·安全
  • Markdown 语法支持
  • 轻量易用
  • 免费部署
  • 多种部署方式和存储服务支持,每列选择一项多达 48 种部署方式任君选择
Waline
客户端脚本服务端部署数据存储
@waline/clientVercelLeanCloud
MiniValineCloudBaseCloudBase
DockerMongoDB
独立部署MySQL
SQLite
PostgreSQL
Github

Todo

微信通知

QQ 通知

Telegram 通知

Akismet

文章统计

多语言同步

自定义语言支持

登录支持

评论管理

评论删除

其它数据库支持

基于 IP 的发布评论频率限制

基于关键词的评论过滤限制

IP 黑名单

重复内容检测

CloudBase 腾讯云开发部署支持

社交登录

AWS

置顶评论

评论赞踩

其它…

如果您要获得来自 Waline 群友或公子大佬的支持,可以在Github Discussions 中发布问题获取支持。当然你也可以加入 Waline 的 Telegram 小组或者是加入我们的 Waline 用户交流 QQ 群获取更多的支持。

上手

博主采用 Butterfly 主题,已经内置 Waline 评论系统

Vercel + LeanCloud

博主就使用了这种方式(毕竟能白嫖谁还要花钱啊?

博主推荐使用LeanCloud 国际版本,如果您使用的是LeanCloud 中国版本,除了本文介绍的环境变量,还需要绑定 LeanCloud 域名
配置方式: 设置 > 域名绑定 > API 访问域名 绑定新域名 > 输入需要绑定的已备案域名点击 确定。之后按照页面上的提示去 DNS 上做正确的 CNAME 解析即可。


点击上面的 Deploy 按钮就可以快速跳转到 Vercel 部署辣
如果你没有 Vercel 账号,可能提示你需要注册一个,这里不要用 QQ 邮箱因为他们会认为 QQ 邮箱是一个垃圾邮箱
image.png
PROJECT NAME 可以随便填写一个
这就是项目名称,不过为了之后好辩别,还是写一个方便记住的吧
输入了你的项目名称后点击 Continue 进入下一步
image.png
不过可能会提示你要选择一个
随便来一个就是(前提是你有对应的账号,否则老老实实选择 GitHub
image.png
进入下一步后会让你填写创建的 Git 仓库名称
点击你的用户名可以显示出你账号绑定的 GitHub 账号
这样就可以自定义创建的账号
image.png
下方 👇 的 Create private Git Repository 如果勾选上创建的时候就会创建一个私有仓库
然后再次点击 Continue 进行下一步
然后就会出现这个页面
image.png
不管他,下滑
找到 Environment Variables 配置环境变量
默认需要的环境变量如下:

  • LEAN_ID
  • LEAN_KEY
  • LEAN_MASTER_KEY

它们的值分别对应上一步在 LeanCloud 中获得的 APPID APPKEY MasterKey
获取方法:
进入 LeanCloud
这边用国际版演示
进入选择 Console
如果没有创建一个应用

注意 ⚠: 如果您之前用了 Valine 评论系统 就不用创建了,因为 Waline 评论数据与 Valine 评论数据可以共用

image.png
进入应用设置后选择 设置 -> 应用 Keys
image.png
复制并保存 Credentials 的所有配置
你看不到我的是因为我遮掉了
顺便教各位在拍摄截图时怎么遮掉重要内容
F12 找到重要内容的文字标签
这里是 code
然后加上
color: 网页背景颜色; 和
background: 网页背景颜色;
这样就行辣

书接上回~
我们获取到了 APPID APPKEY MasterKey
创建变量填写就 OK
这里的变量需要一个一个填
你填完一个点击 ADD 然后就会填的数据就会在下方,但是上面的输入框会没有文字,这点就很棒(๑•̀ㅂ•́)و✧
image.png
设置都完成后就可以点击 Deploy 了
image.png
在这里稍等一会儿就可以部署完成
部署完成后 Vercel 会放烟花 🎇 庆祝一下
然后在接下来的页面点击 Visit
image.png
就可以打开部署好的示例网页
image.png
然后你需要注册一个账号
在 Vercel 分配的域名后面加上/ui/register
如下
image.png
第一个注册的会成为管理员哦~
如果你想要自定义管理员头衔
可以在客户端脚本中用langMode.admin配置哦
例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function waline() {
const Waline = require("@waline/client");
new Waline({
el: "#waline-comment",
serverURL: "https://logwaline.vercel.app",
path: window.location.pathname,
visitor: true,
lang: location.pathname.startsWith("/en/") ? "en" : "zh-CN",
langMode: {
admin: location.pathname.startsWith("/en/")
? "Administrator"
: "Hajeekn亲鸭~",
},
});
}

按这样来说,你还可以配置访客的角标(头衔)
具体去看看Waline 文档或者@CCKNBC
当然如果你和我一样用的是 Butterfly
那么可以找到 Waline 配置项
option配置项下面加入
    langMode:
     admin: 博主兼管理员
即可
示例:

1
2
3
4
5
6
7
8
9
option:
pageSize: 10
requiredFields: mail
# anonymous: false
placeholder: 社交登录可助您快速录入信息,可匿名评论,但您的评论必须经人工审核通过后才会显示,并可收到相关回复邮件通知,因此邮箱为必填项
# avatarCDN: https://sdn.geekzu.org/avatar/
#https://valinecdn.bili33.top/
langMode:
admin: Hajeekn亲鸭~

当然 Waline 现在也可以更改邮件模板
只需要在环境变量内写入就行
但是环境变量限制大小,推荐按照issues/106配置
当然如果你的评论不是很多,并且之前配置过 Valine-Admin,那么你仍然可以使用 LeanCloud 来做异步发送通知,关闭默认的通知配置,或者使用 js 推送

表情包配置(Butterfly)

这部分和 Valine 没多大差别,格式也可以直接复制粘贴 Valine 的
只需要把名字改为 waline.json
具体可以查看主题文档

CloudBase 云开发部署

可以查看@CCKNBC写的(毕竟我就算写了也写的不好,呜呜呜 ┭┮﹏┭┮

升级

Vercel

这里参考@CCKNBC
所需要的工具

当然前提是公开仓库啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊(?好臭啊
安装完成后你就可以删除你现有的名为 Waline 的仓库,再 fork CCKNBC 的仓库,然后去你的 Vercel 解绑之前的仓库,再绑定你 fork 的仓库,最后点一下重新部署即可
但是如果你没用 tcb 就把 .github/workflows/Update Waline TCB.yml   里的文件删掉,因为涉及到自动部署更新云开发,还有环境变量问题,如果没设定会导致报错
以上这部分照搬了 CC 的文章熬

Tencent CloudBase

和上面一样
Fork CCKNBC 的仓库 然后新建几个变量
进入你的仓库/settings/secrets/actions

变量名变量解释
SECRETIDAPI 访问密钥 ID,可点击这里新建/查看
SECRETKEYAPI 访问密钥 KEY,可点击这里新建/查看
TCBFUNNAME(没什么好加密的,就叫 waline 算了)你想要新建/已有函数的名称,比如 Waline
TCBENVID环境 ID,可点击这里这里查看,地址栏后也会显示,反正就是很多地方都在上面点一下就能看到

Thanks for you~