在hexo fluid主题下以Netlify方式添加twikoo评论插件

本文最后更新于 2024年11月6日 晚上

刚开始是用huggingface部署的,但是突然崩了,数据库的数据都在,但是评论失败+无法登录管理面板+历史评论全寄。打开huggingface一看,一直preparing space,评论发回的响应也是preparing space,而且huggingface部署方式还不能配置邮件提醒,所以干脆换Netlify了,正好记录一下。

Twikoo官网

本博客记录的步骤在Twikoo官网上都有记录,原文链接为云函数部署 | Twikoo 文档

步骤总体分为三步:

获取数据库连接字符串

推荐阅读原文:MongoDB Atlas | Twikoo 文档,图文并茂

第5步的密码就是MongoDB Atlas账号的密码,可通过邮箱重设

  1. 申请 MongoDB AtLas 账号
  2. 创建免费 MongoDB 数据库,区域推荐选择离 Twikoo 后端(Vercel / Netlify / AWS Lambda / VPS)地理位置较近的数据中心以获得更低的数据库连接延迟。如果不清楚自己的后端在哪个区域,也可选择 AWS / Oregon (us-west-2),该数据中心基建成熟,故障率低,且使用 Oregon 州的清洁能源,较为环保
  3. 在 Database Access 页面点击 Add New Database User 创建数据库用户,Authentication Method 选 Password,在 Password Authentication 下设置数据库用户名和密码,建议点击 Auto Generate 自动生成一个不含特殊符号的强壮密码并妥善保存。点击 Database User Privileges 下方的 Add Built In Role,Select Role 选择 Atlas Admin,最后点击 Add User。
  4. 在 Network Access 页面点击 Add IP Address 添加网络白名单。因为 Vercel / Netlify / Lambda 的出口地址不固定,因此 Access List Entry 输入 0.0.0.0/0(允许所有 IP 地址的连接)即可。如果 Twikoo 部署在自己的服务器上,这里可以填入固定 IP 地址。点击 Confirm 保存
  5. 在 Database 页面点击 Connect,连接方式选择 Drivers,并记录数据库连接字符串,请将连接字符串中的 <username>:<password> 修改为刚刚创建的数据库 用户名:密码
  6. 默认的连接字符串没有指定数据库名称,Twikoo 会连接到默认的名为 test 的数据库。如果需要在同一个 MongoDB 里运行其他业务或供多个 Twikoo 实例使用,建立加入数据库名称并配置对应的 ACL。

使用Netlify部署twikoojs/twikoo-netlify: Deploy twikoo to Netlify

原文链接:云函数部署 | Twikoo 文档。推荐阅读原文

到原文第9步后,根据自己设置的域名得到环境ID(envId):https://你设置的site name.netlify.app/.netlify/functions/twikoo

修改_config.fluid.yml文件

打开本地的_config.fluid.yml文件,Ctrl+F搜索twikoo,找到:

1
2
3
4
5
6
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 | giscus | discuss
type: twikoo

type处填写"twikoo"。

再Ctrl+F搜索twikoo,找到:

1
2
3
4
5
6
# Twikoo
# 支持腾讯云、Vercel、Railway 等多种平台部署
# Based on Tencent CloudBase
# See: https://twikoo.js.org
twikoo:
envId:

envId处填写上面的https://你设置的site name.netlify.app/.netlify/functions/twikoo

最后,在需要添加评论的页面首部添加comment: 'twikoo'即可为页面添加底部评论区。

也可以在_config.fluid.yml里面设置,方法为:在对应页下的comments下将enable设为true,type设为twikoo。

比如,为关于页添加评论,就在/source/about/index.md的首部加一行comments: 'twikoo',或者在_config.fluid.yml里设置:

1
2
3
4
about:
comments:
enable: true
type: twikoo

(不建议直接cv,如果不知道啥是yml就先搜搜,然后就懂了)

至此,部署成功,刷新博客后测试效果吧!

后续设置及版本更新

部署好之后,打开博客中任意一个带有评论的页面,会看见右下角有一个齿轮图标,如果没有就在昵称栏输入任意字符并回车就会出现。然后进入管理区,先设置密码,然后进去根据指示设置就可以了。

twikoo的指示写得很好👍,应该都看得懂

版本更新方法见:版本更新 | Twikoo 文档


在hexo fluid主题下以Netlify方式添加twikoo评论插件
https://novelyear.github.io/2024/11/05/在hexo-fluid主题下添加twikoo评论插件/
作者
Leoo Yann
更新于
2024年11月6日
许可协议