大发 Hugo 主题 3 件套

    从 Wordpress 换 Hugo 后用上了大发的 Hera 主题,这段时间一直在折腾他的三件套:使用 Cloudflare Worker 实现 Hugo 静态博客的浏览数、点赞、评论。

    因为回家基本被 5 个月的娃绑定,再加上对 Cloudflare 的 Worker 完全不懂,虽然大发的 README 每个字都认得,但就是看不懂,所以效率非常低,一直没啥进展。

    期间也请教过大发本人,只是专业人士和门外汉之间的鸿沟巨大,一直存在“他觉得很简单理所应当没什么可说的事情,而我完全不知道怎么开始”的情况。

    大发还亲自操刀,看了我的 Github 代码以及 Cloudflare 设置,最后通过手动添加数据库表,更新了主题最新版本和评论有关的 JavaScript 文件才搞定。

    没错,其实前期我自己瞎折腾基本蒙对,但不知道是不是因为 Cloudflare 令牌权限不对,Github action 自动部署时无法自动建立数据表,所以一次次的重复。

    下面是我折腾大发三件套的步骤,完全门外汉语言表述,全部线上直接搞定,不需要本地:

    1. 登录自己的 Github,打开大发的 hugo-cf-worker 仓库,点击右上角的 Use this template,创建自己的仓库 hugo-cf-worker
    2. 登录自己的 Cloudflare,左侧 存储和数据库 分别点击 KVD1 SQL 数据库R2 对象存储 创建对应的项目。
    3. 打开第一步创建的仓库,修改 wrangler.toml.github/workflows/deploy.yml 文件,将第二步创建的项目 nameID 替换到文件对应位置。wrangler.toml 第一行的 name 既是自动部署成功后 cloudflare worker 的名称,可以自行修改。
    4. 在 Cloudflare 建立有 Worker 和 D1 数据库编辑权限的令牌 CLOUDFLARE_API_TOKEN.
    5. Github 仓库 Settings -> Secrets and variables -> Actions 新建 New repository secret,将上一步的 将 CLOUDFLARE_API_TOKEN 和令牌添加进去。
    6. Github 自动部署成功后,登录 Cloudflare Compute (Workers) 就能看到自动建立的 Worker 了,打开 Worker 在设置里绑定自己的域名。
    7. 修改 Hugo 配置文件 hugo.toml 将上一步的自定义域名复制到 actionDomain

    如果使用大发的主题,这个时候就已经设置完成了。如果没有其他意外,大概率和我一样,不能使用,原因就是没有自动建立数据库表,需要手动建立。

    打开 Cloudflare 存储和数据库 自己建立的数据库,然后根据大发 hugo-cf-worker 的配置文件 schema.sql,手动建立 articlescomments 两个表,并添加对应格式的字段,这样三件套就能正常使用了。

    另外,默认的评论头像是 gravatar.com 的,大部分地方访问不了,可以通过替换 Github 仓库的 src/utils/index.ts 文件内的 gravatar.com 为其他头像 CDN,比如 cn.cravatar.com

    目前还不知道这个评论会不会有过滤和邮件通知,有待测试。

    发表回复

    您的电子邮箱地址不会被公开。 必填项已用*标注