Waline 是一款基于 Valine 衍生的简洁、安全的评论系统。本文记录 fluid 主题安装Waline 方法。
Waline 是一款基于 Valine 衍生的简洁、安全的评论系统。
优势 | 描述 |
---|---|
自由评论 | 完全的 Markdown 支持,同时包含表情、数学公式、HTML 嵌入 |
轻量 | 54kB gzip 的完整客户端大小 |
强大的安全性 | 内容校验、防灌水、保护敏感数据等 |
登录支持 | 在允许匿名评论的基础上,支持账号注册,保持身份 |
完全免费部署 | 可免费部署在 Vercel 上 |
易于部署 | 多种部署部署方式和存储服务支持 |
LeanCloud 国际版
并进入 控制台在新窗口打开设置
> 应用 Key
。你可以看到你的 APP ID
,APP Key
和 Master Key
。后续我们会用到这三个值。注意: 如果你正在使用 Leancloud 国内版 (leancloud.cn在新窗口打开),我们推荐你切换到国际版 (leancloud.app在新窗口打开)。否则,你需要为应用额外绑定已备案的域名:
设置
> 域名绑定
> API 访问域名
> 绑定新域名
> 输入域名 > 确定
。Create
继续:Skip
即可:一两分钟后,满屏的烟花会庆祝你部署成功。此时点击 Go to Dashboard
可以跳转到应用的控制台。
Settings
- Environment Variables
进入环境变量配置页,并配置三个环境变量LEAN_ID
, LEAN_KEY
和 LEAN_MASTER_KEY
。它们的值分别对应上一步在 LeanCloud 中获得的 APP ID
, APP KEY
, Master Key
。提示:如果你使用 LeanCloud 国内版,请额外配置
LEAN_SERVER
环境变量,值为你绑定好的域名。
Deployments
点击顶部最新的一次部署右侧的 Redeploy
按钮进行重新部署。该步骤是为了让刚才设置的环境变量生效。Overview
界面开始部署,等待片刻后 STATUS
会变成 Ready
。此时请点击 Visit
,即可跳转到部署好的网站地址,此地址即为你的服务端地址。
在你的网页中进行如下设置:
//cdn.jsdelivr.net/npm/@waline/client
。<script>
标签使用 Waline()
初始化,并传入必要的 el
与 serverURL
选项。 el
选项是 Waline 渲染使用的元素,你可以设置一个字符串形式的 CSS 选择器或者一个 HTMLElement 对象。serverURL
是服务端的地址,即上一步获取到的值。<head>
..
<script src="//cdn.jsdelivr.net/npm/@waline/client"></script>
...
</head>
<body>
...
<div id="waline"></div>
<script>
Waline({
el: '#waline',
serverURL: 'https://your-domain.vercel.app',
});
</script>
</body>
<serverURL>/ui/register
进行注册。首个注册的人会被设定成管理员。comments -> type
值为 waline
# 评论插件
# Comment plugin
comments:
enable: true
# 指定的插件,需要同时设置对应插件的必要参数
# The specified plugin needs to set the necessary parameters at the same time
# Options: utterances | disqus | gitalk | valine | waline | changyan | livere | remark42 | twikoo | cusdis
type: waline
# Waline
# 从 Valine 衍生而来,额外增加了服务端和多种功能
# Derived from Valine, with self-hosted service and new features
# See: https://waline.js.org/
waline:
serverURL: 'path-to-your-server-url'
placeholder: 遗憾莫过于难忘你的背影,却找不到你来过的痕迹 ...
path: window.location.pathname
avatar: retro
meta: ['nick', 'mail', 'link']
pageSize: 10
lang: zh-CN
highlight: true
avatarCDN: ''
avatarForce: false
requiredFields: []
emojiCDN:
emojiMaps:
anonymous:
serverURL
中