很久没有更新站点了,最近抽时间做了一下hugo版本升级,顺带增加了一个umami的统计功能。
本地编译环境
在windows上使用scoop install hugo
,在mac上使用brew install hugo
安装编译环境。使用命令hugo version
命令查看当前使用的版本号并记录,后边还需要使用。
使用如下命令处理网页源代码:
git clone [url]
git submodule add -f --depth=1 https://github.com/adityatelange/hugo-PaperMod.git themes/PaperMod
git submodule update --init --recursive # needed when you reclone your repo (submodules may not get cloned automatically)
git submodule update --remote --merge # UPDATE: inside the folder of your Hugo site
主题 PaperMod
的使用参考github上的wiki。
集成umami
建数据库
验证发现 xata、aiven 的免费postgre sql数据库在初始化数据时都报错,可能是在安装pg扩展的时候有问题。最后在 neon 上建立了免费数据库,参数为pg18,数据中心选择了新加坡。
搭服务
在自己的云服务器上,使用docker compose
建立umami
服务。
services:
umami:
image: ghcr.milu.moe/umami-software/umami:postgresql-latest
container_name: umami
restart: on-failure:3
network_mode: bridge
ports:
- [port-outer]:3000
volumes:
- ./data:/var/lib/postgresql/data
environment:
APP_SECRET: "20250929"
DATABASE_TYPE: postgresql
DATABASE_URL: postgresql://[url]
加模板
在umami后台获取跟踪代码后,添加到 hugo 的模板里。在 layouts\partials
路径下新增 extend_head.html
,将<script defer src="..." data-website-id="..."></script>
这样的跟踪代码直接放到extend_head.html
文件中。
编译与测试,一切正常。
hugo build
hugo server -D
集成部署
在cloudflare pages 部署时遇到报错,是因为更新PaperMod之后,之前编译使用的hugo版太低了。
ERROR => hugo v0.146.0 or greater is required for hugo-PaperMod to build
在 设置 ➡ 变量和机密 中,修改HUGO_VERSION
的值,就是前面记录下来的最新版本号。
最后在 部署 ➡ 所有部署路径下找到最近的记录点击 重试部署 ,一切正常。
其他
这篇有关 hugo 报错的 文章 已经过时。