Copy

CC的部落格更新啦

Waline评论系统-部署日志
CC康纳百川   Jan 17, 2021 12:00 am  编辑

本文首发在语雀
自动同步更新至CC 的部落格
**
以下内容转载自 **官方文档**(就是懒得截图再写一遍)

Waline - 一款从 Valine 衍生的带后端评论系统。可以将 Waline 等价成 With backend Valine.

特性

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

对于想白嫖的小白,Vercel + LeanCloud 是不错的选择,如果你主要面向对象为大陆用户,使用 CloudBase 部署也是个不错的选择,它在海外表现也没那么差,或者您仅使用 CloudBase 来做数据存储

如果您使用 Vercel + LeanCloud,并且使用 Vercel 发送评论通知,您不必担心 LeanCloud 流控问题,并且之前使用过 Valine 或者部署过 Valine-Admin 项目的可以直接拿来用;对于评论转移,官方提供了迁移助手供您使用,不用担心之前评论丢失的问题

Todo

  • ✅ 邮件通知
  • ✅ 微信通知
  • ✅ QQ 通知
  • ✅ Telegram 通知
  • ✅ Akismet
  • ✅ 文章统计
  • ✅ 多语言同步
  • ✅ 自定义语言支持
  • ✅ 登录支持
  • ✅ 评论管理
  • ✅ 评论删除
  • ✅ 其它数据库支持(已支持 LeanCloud, MySQL, MongoDB, SQLite, PostgreSQL)
  • ✅ 基于 IP 的发布评论频率限制
  • ✅ 基于关键词的评论过滤限制
  • ✅ IP 黑名单
  • ✅ 重复内容检测
  • ✅ CloudBase 腾讯云开发部署支持
  • ✅ 社交登录
  • AWS, GCP, Azure 部署支持
  • 置顶评论
  • 评论赞踩
  • 其它…

真·欢迎你为 Waline 的开发做贡献。

目前社交登录仅支持 GitHub, 未来会支持更多平台

快速开始

如果你想在某个网页或者文章页中使用 Waline,请参照以下步骤配置

获取 APP ID 和 APP Key

请先登录注册 LeanCloud 国际版, 进入控制台后点击左下角创建应用

应用创建好以后,进入刚刚创建的应用,选择左下角的设置>应用Key,然后就能看到你的APP ID,APP KeyMaster Key了:

注:
这里推荐使用 Leancloud 国际版。如果你确实想用 Leancloud 国内版的话(国际版是 leancloud.app,非国际版是 leancloud.cn),除了 APP_ID, APP_KeyMaster Key 之外,还需要对应用进行域名绑定。
进入应用后选择 >  > API 访问域名 > 输入需要绑定的已备案域名点击 。之后按照页面上的提示去 DNS 上做正确的 CNAME 解析即可。

Vercel 部署

点击上方按钮,跳转至 Vercel 进行快速部署。未登录的话需要登录,这里选 Github 登录即可。登录后会让你输入 Vercel 项目名称。

输入名称后点击 进入下一步,输入 Github 仓库名称。Vercel 会基于 waline 模板帮助你新建并初始化该仓库。

仓库初始化完毕后开始准备部署到 Vercel。这里需要在 Environment Variables 初配置 LEAN_ID, LEAN_KEYLEAN_MASTER_KEY 三个环境变量。它们的值分别对应上一步在 LeanCloud 中获得的 APP ID, APP KEY, Master Key。如果你是 LeanCloud 国内版用户的话,还需要输入 LEAN_SERVER 环境变量,对应的是你在上一步上绑定的已备案域名。

点击 就会开始进行部署了。稍等片刻,就会看到满屏的烟花庆祝你部署成功了。点击 会跳转到部署好的网站地址上,该地址即为之后需要填入的 serverURL 地址。

HTML 片段

修改初始化对象中的 serverURL 的值为上面刚刚获取到的二级域名即可(其他可以默认)。

<head>
..
<script src="//cdn.jsdelivr.net/npm/@waline/client/dist/Waline.min.js"></script>
...
</head>
<body>
...
<div id="waline"></div>
<script>
new Waline({
el: "#waline",
path: location.pathname,
serverURL: "https://your-domain.vercel.app",
});
</script>
</body>

配置

修改初始化对象中的 serverURL 的值为上面刚刚获取到的二级域名即可(其他可以默认)。

new Waline({
el: "#waline",
path: location.pathname,
});

NPM

Waline 已发布到npm,可以直接用命令安装:

# Install waline
npm install @waline/client --save-dev
// Use import
import Waline from "@waline/client";
// or Use require
const Waline = require("@waline/client");

new Waline({
el: "#waline",
// other config
});

评论数据管理

Waline 还带有简单的后台,可以实现对评论的管理。部署完成后访问 <serverURL>/ui/register 进行注册,第一个注册的你会被设定成管理员。登录成功后就可以看到评论管理的界面了,大家可以收藏该地址方便后续使用。

配置项

这个可直接参考官方文档按需进行配置即可,因为目前云开发因众所周知的原因不支持连接 Telegram 服务器,所以如果您要配置电报新评论通知,请使用 Vercel 进行配置,不过因为目前没有异步通知,加上反垃圾检测等功能,发布评论可能需要很长时间,这个我使用了 LeanCloud 来继续帮我发送通知(反正我也没什么评论,流控问题第二天补发评论也不是不可)

对于邮件通知部分,目前的设定是,对于新评论,如果博主配置了 QQ/微信/Telegram 通知中任意一种或多种,则邮件通知将会取消,而对于回复(子评论),博主和被回复者(如果填了邮箱的话)均可收到邮件通知

我目前使用的 Hexo Butterfly 主题已经从 3.5.0 beta3 版本起内置了 Waline 评论系统,如果您使用老版本主题请升级,或者根据您所用版本的 Valine 模板 pug 来照葫芦画瓢,根据官方配置进行对应修改,主题中 option 为可选配置,万一将来增加了某些配置,主题不必为此升级, bg 为主题配置项

# waline - A simple comment system with backend support fork from Valine
# https://waline.js.org/
waline:
serverURL: https://waline.ccknbc.ml # Waline server address url
avatar: monsterid # gravatar style https://zh-tw.gravatar.com/site/implement/images/#default-image
bg: false # waline background
emojiCDN: https://cdn.jsdelivr.net/gh/GamerNoTitle/ValineCDN@master/
option:
pageSize: 10
requiredFields: mail
# anonymous: false
placeholder: 可匿名评论,但您的评论必须经人工审核通过后才会显示,并可收到相关回复邮件通知,因此邮箱为必填项
avatarCDN: https://sdn.geekzu.org/avatar/

客户端脚本里可以通过 langMode.admin 这个配置自定义角标的文案,例如:

function waline() {
const Waline = require("@waline/client");
new Waline({
el: "#waline-comment",
serverURL: "https://waline.vercel.app",
path: window.location.pathname,
visitor: true,
lang: location.pathname.startsWith("/en/") ? "en" : "zh-CN",
langMode: {
admin: location.pathname.startsWith("/en/")
? "Administrator"
: "可爱的管理员",
},
});
}

CloudBase 云开发部署

一键部署

Waline 还支持一键部署到腾讯云开发上。点击下方按钮,跳转至腾讯云开发进行快速部署。登录之后会让你选择部署的欢迎,你可以选择已有的应用,也可以选择新建应用。

一键部署虽然方便,但是仅支持按量计费环境——也就是说,一键部署的环境,当免费资源用尽后,将会产生费用。且按量计费环境无法切换为包年包月环境。
大多数情况下,免费资源能够满足日访问量在 10,000 以下的站点(参考:免费资源如何计算?)。
如果您希望,当免费资源用尽时,不产生费用,请使用手动部署。


对于新用户或者说没有创建过按量计费环境的用户会显示如下内容,记得勾选开启免费资源
image.png
点击后再点击,就会跳转到应用部署界面自动进行部署。此时会提示你“构建中,预计 3-5 分钟”,稍等片刻,该条目右侧就会出现访问和管理按钮。

点击 按钮获得最终部署好的网站地址,将其填入前端脚本的 serverURL 配置中,即可完成整个的配置。

手动部署

首先前往**腾讯云的活动区域**,注册/登陆后往下滑,找到新用户专享云开发标准型(基础版 1)资源套餐,0 元购买一个免费包年包月环境
image.png
按照提示购买后稍等几分钟,在这个界面可查看您所购买的环境
image.png

##

如何升级

Vercel

手动升级

自动升级

CloudBase

一键部署

咕咕咕 因为我把环境删了,所以没办法截图,就是点击我的应用找到 Waline 点击部署即可

手动部署

手动升级
自动升级
本文阅读完毕,您可以邮件回复 | 直达评论区 »
 
Copyright © 2021 CC的部落格, All rights reserved.
您收到这封邮件是因为您订阅了本站的邮件更新通知

想更改您接收这些电子邮件的方式?
你可以 更新您的偏好 或 取消订阅更新

Email Marketing Powered by Mailchimp