Waline 简介 Waline - 一款从 Valine 衍生的带后端评论系统。可以将 Waline 等价成 With backend Valine。 Waline 特性 快速 真・安全 Markdown 语法支持 轻量易用 免费部署 多种部署部署方式和存储服务支持,每列选择一项多达 48 种部署方式任君选择 客户端脚本 服务端部署 数据存储 @waline 也正是因为在我的建议下,怡红公子非常积极的开发 CloudBase 版,我才选择使用 Waline。 彩蛋 Waline 有提供数据迁移助手。~~ 目前是一个隐藏界面,没有公开。 来源 目标 Valine LeanCloud Waline Disqus CloudBase Waline Twikoo Waline MySQL/PostgreSQL/SQLite Waline Typecho Waline 的设计理念就是一个后端程序,是一个网页客户端与数据库之间的「中间件」。
通过各种高科技功能同步到Hajeekn 的博客 本文基于@CCKNBC的日志@Waline 官方文档和博主自己部署时的实际情况编写 如果需要最详细的配置请前往 @Waline 官方文档 评论系统特性 快速 真·安全 Markdown 语法支持 轻量易用 免费部署 多种部署方式和存储服务支持,每列选择一项多达 48 种部署方式任君选择 Waline 客户端脚本 服务端部署 数据存储 @waline/client 当然你也可以加入 Waline 的 Telegram 小组或者是加入我们的 Waline 用户交流 QQ 群获取更多的支持。 上手 博主采用 Butterfly 主题,已经内置 Waline 评论系统 Vercel + LeanCloud 博主就使用了这种方式(毕竟能白嫖谁还要花钱啊? () { const Waline = require("@waline/client"); new Waline({ el: "#waline-comment", serverURL
简介 @waline/client 已经发布了很多新版本 新版调整了前端配置 增加了新功能 对我来说最实用的是暗色模式和评论数统计 升级方法 fluid 已经把waline相关配置做得很好了,只需要稍加调整即可升级版本 修改主题配置文件: waline: https://cdn.jsdelivr.net/npm/@waline/client@0.16.2/dist/ # 改为: waline: https://cdn.jsdelivr.net /npm/@waline/client@1.3.4/dist/ 此时我们的配置已经不再合适,需要略微调整: # Waline # 从 Valine 衍生而来,额外增加了服务端和多种功能 # Derived from Valine, with self-hosted service and new features # See: https://waline.js.org/ waline: serverURL / https://cdn.jsdelivr.net/npm/@waline/client@1.3.4/dist/ https://waline.js.org/reference/client.html
Waline 本身支持邮件通知功能,可以通知博主和访客留言信息,本文基于私有邮件系统记录开启 Waline 邮件通知的方法。 评论通知 当网站有用户发布评论或者用户回复评论时,Waline 支持对博主和回复评论作者进行通知。 博主通知支持多种方式,包括 QQ、微信、邮件等,回复评论作者仅支持邮件通知。 本文记录邮件通知的实现方法 邮件通知 开通邮件通知需要在 Waline 中配置如下变量: SMTP_SERVICE: SMTP 邮件发送服务提供商。 评论系统 拥有支持 SMTP 服务的服务器,也可以自己搭建 EwoMail 邮件服务器 SMTP 服务 核心源码 Waline 邮件通知源码使用的是 nodemailer 工具 源码链接:https 参考资料 https://waline.js.org/guide/server/notification.html#邮件通知 https://github.com/walinejs/waline/blob
Waline 支持本地注册和 GitHub 社交登录,本地注册对小站来说就有点鸡肋了。本文记录 Waline 添加 GitHub 社交登陆的方法。 官网文档:https://waline.js.org/guide/server/socials.html#github 设置方法 开启 GitHub 账号登录功能需要配置 GitHub OAuth 密钥 填入 <serverURL>/oauth/github 其中 <serverURL> 是你的 Waline 服务端地址。 填写完成后点击 Register application 即可成功创建。 参考资料 https://waline.js.org/guide/server/socials.html#github
由于安全性、隐私等问题,next-theme主题移除了 valine 的支持,为了解决 valine 中遇到的问题,Waline 出现了。 介绍 Waline - 一款从 Valine 衍生的带后端评论系统。可以将 Waline 等价成 With backend Valine. /hexo-next Next 主题配置 next 主题配置需要移除 valine 关配置、禁用 leancloud_visitors 插件,并添加 waline 相关配置。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 valine: enable: false # Waline # For more information: https://waline.js.org, https://github.com/walinejs/waline waline: enable: true
不过LeanCloud还是特别的良心和靠谱,给大家提供了一年的服务停止缓冲时期,正好趁着春节假期,便想着把博客评论的数据做个迁移,好在waline的生态还是比较丰富,阅读官方文档后,发现了Waline支持 Waline 的控制后台也提供导入导出功能,只是这里的导入功能会把评论的时间都修改为当前时间,不太符个人合预期的需求。 通过不断的调试验证,最终实现了一个完整的数据迁移工具,只需简单的配置便可一键完成迁移,具体流程如下: graph LR A[开始] --> B[从 Waline 导出数据文件] B --> C[获取 TiDB 或 Neon 数据库连接信息] C --> D[调用 waline-data-import-tool 工具] D --> E[登录 Waline 控制台或博客页面验证数据] E --> F[结束] 获取 /waline-data-import-tool-xxx -c waline-tidb.ini -f /root/elkan/waline.json 估计是和网络环境和开放资源有关系, TiDB 和
Waline 本身具有邮件通知功能,本文记录修改邮件通知模板的方法,在此感谢小波同学的帮助。 背景 如果我们已经配置好 waline 的邮件通知,可以修改邮箱通知的模板 修改通知模板 修改模板有三种方式: 修改 index.js 文件 修改环境变量 修改 notify.js index.js 官方 github 仓库中示例里有个 index.js 文件,如果是通过官方仓库的 index.js 作为 waline 的入口,那么可以通过修改 index.js 文件来修改邮件通知模板 相关配置文档 :https://waline.js.org/reference/server/config.html 可以在 index.js 修改键值: 例如:添加 secureDomains 值 export ’s blog https://waline.js.org/guide/features/notification.html https://github.com/walinejs/waline
Waline 是一款基于 Valine 衍生的简洁、安全的评论系统。本文记录 fluid 主题安装Waline 方法。 简介 Waline 是一款基于 Valine 衍生的简洁、安全的评论系统。 HTML 引入 (客户端) 在你的网页中进行如下设置: 使用 CDN 引入 Waline: //cdn.jsdelivr.net/npm/@waline/client。
<script> Waline({ el: '#waline', serverURL: 'https://your-domain.vercel.app | changyan | livere | remark42 | twikoo | cusdis type: waline 配置 waline 相关信息 # Waline # 从 Valine 衍生而来在成功建立本地 Waline 服务后,需要考虑之前 Waline 数据迁移的问题了。 背景 国际版 LeanCloud 不能用了 Vercel 不能用了 于是部署在 Vercel 上的 Waline 也不能用了 在 本地部署的 Waline 也就失去了之前的评论数据 需要将 LeanCloud
\\n", "url":"/notes/hexo/theme/fluid/fluid-waline/fluid-waline/", "user_id":"612e4539df64212dbbc967b1 中可以看到之前以 LeanCloud 为后端时用户在 Waline 做出的评论 参考资料 https://www.zywvvd.com/notes/hexo/theme/fluid/fluid-my-waline /my-waline/Waline 本可以部署在 Vercel 等平台上,但有一天突然就不能用了,本文记录自己部署基于 MongoDB 数据库的 Waline 服务。 安装、运行 按照官方文档(真的很方便啊) 在服务器找一个没人的空地方,运行命令: 12 npm install @waline/vercelnode node_modules/@waline/vercel 配置成功 创建服务后台运行 将刚刚成功运行 waline 的文件夹移到 /usr/local/waline 在 /lib/systemd/system 文件夹创建 waline.service 开机自启动 1 sudo systemctl enable waline.service 开启 waline 服务 1 sudo systemctl start waline.service 查看 waline.service 状态 12345678910111213141516 $ systemctl status waline.service● waline.service - Service
之所以切换到 Waline 评论系统,很大一部分原因是方便的评论通知,本文记录Waline 微信评论通知设置方法。 href=" " target="_blank">查看回复的完整內容</ a>
Waline 具有多种通知功能,但在设计上邮件通知与其他通知不同时生效,本文记录同时开启邮件和其他评论通知的方法。 背景 如果我们已经配置好 Waline 的邮件通知,也配置了 Waline 的微信通知,那么在有新评论时我们只能收到微信的 Server 酱 通知而没有邮件通知。 /@waline/vercel/src/service/notify.js 文件 找到第 425 行附近的代码: if ( [wechat, qq, telegram, qywxAmWechat, isReplyAuthor ) { mailList.push({ to: AUTHOR, title, content }); } 之后重启 waline,有新评论就可以同时收到邮件和微信通知了, 参考资料 https://github.com/walinejs/waline
在成功建立本地 Waline 服务后,我们自己掌控了数据库,可以做更多事情,本文记录基于本地数据库的 Waline 为文章添加评论数统计的方法。 背景 需要 独立部署 Waline 并掌握当前数据库 在独立建立的 PVUV 统计 基础上添加内容 由于我的 Waline 部署在了 MongoDB 上,因此本文以 MongoDB 数据库为例 统计思路 pvCtn.style.display = 'inline'; } } } 效果展示 参考资料 https://www.zywvvd.com/notes/hexo/theme/fluid/fluid-my-waline /my-waline/
距离刚刚使用 Waline 已经将近一年过去了,近期发现 Waline 升级到了 2.6+ 版本,修复了一些 bug,增加了一些功能,本文记录升级过程。 Vercel 部署 Waline 2 参考文档 部署 waline 到自己的仓库 申请 vercel 账号后进入链接:https://vercel.com/new/clone? 此时 Vercel 会基于 Waline 模板帮助你新建并初始化仓库,仓库名为你之前输入的项目名。 部署完成后点击 visit 可以进入测试页面,正常评论后,Waline2 基础部署完成 评论通知 如 Waline 1+ 版本一样,升级后仍需要保留评论通知功能 邮件通知 邮件通知需要配置以下环境变量 /waline-mail-notify/ https://waline.js.org/guide/server/notification.html#邮件通知 https://www.zywvvd.com
之前我们升级了 Waline 到 1.3.4,已经获得了统计文章浏览量和评论数的能力。本文将该数据显示在文章标题处。 先置条件 应用 Waline 评论系统 升级 Waline 到 1.3.4 修改思路 添加计数相关内容 设置 container,默认隐藏 在创建完 Waline 实例后设置 container 修改 themes -> fluid -> layout -> _partial -> comments -> waline.ejs new Waline(options); wa_ccc = "waline-comment-count-container " var i=document.getElementById(wa_ccc) i.style.display = 'inline' 其中第3 行之后加在 new Waline(options); 之后 效果示例 不得已改了源码,有些丑陋,之后努力优雅实现一下 参考资料 https://waline.js.org/
采用腾讯云开发 CloudBase 作为后端数据库,隐私安全…… Waline 官方 特性。诞生的主要原因就是为了解决 Valine 的安全性问题的。 Waline 采用的思路是设计一个类似于中间件的后端,避免前端直连数据库。后端支持多种部署方式,数据库也支持多种部署方式…… 我的选择 Waline (With backend Valine.) 在这段时间里,怡红公子 也把博客转到了静态博客 Hugo,也在着手开发 Waline 了。我记得与他对话时他说了句原话是 “如果我早点发现 Twikoo,我也不会去开发 Waline 了”。 在我的轮番骚扰和不断测试下,Waline 也支持了部署在 CloudBase,所以我在测试了一下 Twikoo 后回到了 Waline。 Waline 的特性在官网有完整的描述,有兴趣的可以去看看对比一下。目前 Waline 虽然还没有 Release 正式版,但现在的版本已经很稳定好用了。
云引擎的限流问题,改用Waline + Vercel来作为评论系统,Waline是基于Valine进行开发的,所以迁移成本较低。 这是Waline的官方文档,有很详细的配置、迁移等教程。 由于LoveIt主题没有引入Waline,所以这里记录下如何引入Waline,以及遇到的相关问题的解决方法。 7 8 9 10 11 12 13 14 15 16 17 18 19 # Waline comment config (https://waline.js.org/) # Waline System */ -}} {{- $waline := $comment.waline | default dict -}} {{- if $waline.enable new Waline({ el: '#waline', meta: {{ $waline.meta }}, requiredMeta: {{ $waline.requiredMeta
参考文章:Waline 评论系统-部署日志 | CC 的部落格 2021.8.10更新 由于Waline版本没有及时升级,表情图片的html代码被转义 因此需要修改package.json里的@ waline/cloudbase中的版本号,目前是1.0.25 修改之后就可以正常使用啦 2022.3.29更新 最新的脚本最低支持Node.js 12.16,选择云函数运行环境的时候需要注意一下。 搜狐的畅言放在博客上效果并不是很好,Valine之前被大量垃圾评论洗刷过,实在不敢用,因此最后锁定了Waline,根据介绍这是一个带有后端的Valine,所以有一系列可以使用的功能。 关于Waline的介绍本文不再赘述,可以查看官方文档,本文也不涉及Velcel+Leancloud这种安装方法,可以查看上面的参考文章,本文简略写一下部署过程,主要写一些除此之外自己做的步骤,以及一些功能的使用探索 配置完成后进行测试,成功发信: 总结 使用waline顺利解决了博客的评论问题,在评论的邮件提醒那里被折腾了很久,从SendGrid换到SendCloud再换到腾讯企业邮箱,终于实现了这个功能,从此再也不用担心自己没有及时回复评论了
结合我的需求,我定下的方案是 Vercel+Hugo+Etch+Waline,一套下来,一分钱不花哦。 静态网站方案 静态网站生成器我选择了 Hugo,因为是 Go 写的,理由无它。 Waline 有传统的服务端、数据库、客户端三部分,我的部署方案是服务端依旧使用 Vercel 一键部署,数据库选择 LeanCloud 国际版免费开发版,剩下的客户端指的就是集成在 Hugo 本身了, 文件,内容如下:
<script> Waline({ el: "#waline", dark: "auto", serverURL : "waline 服务端域名", }); </script> 修改 themes/etch/layouts/_default/baseof.html 为: <! : https://waline.js.org/