
很多网上给出的教程都是基于valine,gittalk搭建评论系统。gittalk不必说,利用GitHub的优势,便捷管理,缺点是评论需要登录等;而Valine的教程是最多的,但是Valine国际版自2022年8月左右就停止了国际版对大陆的服务,国内如需使用Valine进行评论,则需选择国内版(所以还需要备案)。而waline也有众多优点,不再赘述
因为互联网的变数太大了,加上个人博客搭建这方面的确不够大众化,这导致许多搭建过程十分零散,因版本而异,问题层出不穷,因此本人结合经验,综合诸位大佬的方案,完整走一遍流程,尽力把自己踩过的坑都说到
1.数据库搭建
该步骤主要参照Waline官方文档: https://waline.js.org/guide/get-started/
进行对Leancloud国际版的配置以及Vercel的配置
需要注意,waline所需要的next版本是8.x版本,若是小于8.x版本而使用了,则可能会出现无法加载评论区的情况。因此请检查自己的next版本,若是小于8请进行升级
那么问题来了,很多人在使用next的时候,会发现GitHub有好几个next仓库,而且哪个看着都像是官方的,咋回事?这里引用一下团队成员的解释:
简单来说,问题就是 theme-next 团队的 owner 始终拒绝向其它任何团队成员提供足够的权限,且 owner 本人自 2019 年 10 月起已连续半年不在线,导致其它活跃的团队成员无法管理仓库,也无法邀请新的成员。 由于对 theme-next 团队的未来不抱有期望,我作为 theme-next 的主要贡献者,自 2020 年 4 月起停止为旧的仓库贡献代码,并创建了新的组织,以确保维护工作正常进行。 只要能够收到足够多的 Bugfix / Feature Request,每月更新肯定不是问题。 目前已经发布的版本在这里: https://github.com/next-theme/hexo-theme-next/releases v8.0.0 版本计划在 Hexo 5.0 版本后发布。
明白这些东西之后,进入gitbash,执行
npm install @waline/hexo-next
返回NexT主题文件夹,添加如下内容
waline:
enable: true #是否开启
serverURL: xxxxxx # Waline #服务端地址,就是部署的 Vercel 地址
locale:
placeholder: 无需登录·请留下邮箱以接收回复·来说两句吧~ #评论框的默认文字
avatar: mm # 头像风格
meta: [nick,mail] # 自定义评论框上面的三个输入框的内容
pageSize: 10 # 评论数量多少时显示分页
lang: zh-cn # 语言, 可选值: en, zh-cn
visitor: true # 文章阅读统计
comment_count: true # 如果为 false , 评论数量只会在当前评论页面显示, 主页则不显示
requiredFields: [nick] # 设置用户评论时必填的信息,[nick,mail]: [nick] | [nick, mail]
libUrl: # Set custom library cdn url
login: enable 
vercel链接即为如上
然后你就成功配置waline评论系统啦! 然后进行测试,你就会发现,评论加载不出来
为啥呢?很不幸,因为vercel为你分配的链接已经被列入了魔法典籍之中,你只有学会魔法,才能使用vercel的魔术哦~(否则评论系统会加载不出内容,发送提示failed to fetch)
可是,魔法不是人人都会,但我们希望让人人都体验到它的滋味,怎么办呢?
答:我们自定义一个域名不就行啦,或者,我们不用vercel的域名了,我们自己整一个域名就行了
2.注册域名
若是已有域名或者打算自己买域名的,可以参考网上其他教程,这里只介绍白嫖欧盟的免费域名方法
先进行简单的名词解释,方便接下来的理解(本人非专业,只是兴趣爱好,如有错误,请指出)
DNS解析: 我们注册域名形如xxx.com完毕后,实际上全球是访问不到的。此时倘若对该域名进行ping,会提示“找不到主机”。为什么?因为你新注册的域名没有关联ip地址,而全球的互联网只能识别ip访问,因此若是不对你的域名进行dns解析,就没有人能够通过域名访问你的网站。
A记录。实际上是把你的域名和ip与你需要连接的服务器建立起连接,只有这样,你的服务器才能把内容通过你的域名传输出去让大家看到。
方法:
主要步骤参考https://lisenhui.cn/tech/create-your-forever-org-domain.html
标题:创建属于你自己的org永久域名
https://lisenhui.cn/blog/use-custom-domain-active-vercel-waline.html
标题:使用自定义域名激活Vercel部署的Waline服务
注意:
在他的步骤中,注册域名时使用“server names + replies on SOA + replies on NS (recommended)”模式可能导致报错,此时需要切换到“server names”模式。
在使用欧盟域名时,仅是输入DNS 服务地址可能不足以使你的域名正常使用,你仍需要对域名进行A记录和Cname解析,具体步骤自行百度。

成功拿到域名后塞进vercel里在setting→domains会提示这样。你需要按照它给的Type,Name,Values自行到dns服务商进行A记录与Cname的解析,国内可以是dnspods,国外可以使用cloudflare,HE等

成功
之后,用你自定义的域名,重新设置主题配置文件下的域名地址。最后hexo clean&&hexo g&&hexo s即可
其他的坑
同时开启waline评论与pjax可能会导致评论框无法显示
升级主题会有亿些麻烦,如果直接覆盖不成,那就重新安装一个next主题,在站点配置文件把theme改为新版本next。而版本问题等等,你的主题配置文件需要重新改一遍
最后,欢迎大家纠正、补充~