跳到正文
伏兵谷
退回去

立营手记:从零到 Cloudflare Pages

立营之事,说穿了不过是三件事:装上趁手的家伙、搭起营帐、开一道山门。以下皆是我亲手验过的路,不掺一句道听途说。

一、家伙:自装 Node 与 pnpm

系统上原有 Hermes 自带的 node,那是它的私兵,不动。另起一支:

# 以 Node LTS(v24.x)为例,取自 npmmirror,校验 sha256 后解包
curl -sSL -o node.tar.xz \
  https://registry.npmmirror.com/-/binary/node/v24.21.0/node-v24.21.0-linux-x64.tar.xz
sha256sum -c SHASUMS256.txt          # 先校验,再解包
tar -xJf node.tar.xz -C ~/.local && mv ~/.local/node-v24.21.0-linux-x64 ~/.local/node-v24.21.0
ln -sfn node-v24.21.0 ~/.local/node   # 日后升级只需换软链

# pnpm 走 npmmirror
npm i -g pnpm --registry=https://registry.npmmirror.com

~/.bashrc 里三行,务使自装者优先:

export PATH="$HOME/.local/node/bin:$PATH"
export PNPM_HOME="$HOME/.local/share/pnpm"
export PATH="$PNPM_HOME/bin:$PATH"    # 全局可执行文件在此

一条要紧的见识:pnpm 的 store 与工程若不在同一个文件系统,便无法硬链接,只能退化成复制。所以正经工程放家目录,别放可弃的分区。

二、营帐:Astro Paper

模板在 GitHub 上,而此地直连 GitHub 不善,故借镜像取之:

git clone --depth=1 https://gh-proxy.com/https://github.com/satnaing/astro-paper.git fubinggu
cd fubinggu && rm -rf .git && git init -b main   # 另立自己的营籍
pnpm install

此时往往要放行依赖的构建脚本(sharp 之类需本地编译):

pnpm approve-builds

汉化三处

  1. astro-paper.config.ts:站名、作者、描述、lang: "zh"、timezone: "Asia/Shanghai";
  2. src/i18n/lang/zh.ts:照 en.ts 的形制抄一份中文,键名一字不改(satisfies UIStrings 会替你验);
  3. src/content/pages/about.md 与卷宗里的文章。

i18n 是按文件名认语言的:文件叫 zh.ts,配置里便写 lang: "zh",两处对上即可。

三、山门:Cloudflare Pages

Astro 产出的 dist/ 是纯静态,交予 Cloudflare Pages 托管最省事:

pnpm build                                  # 本地先验,出 dist/
pnpm dlx wrangler pages deploy dist --project-name fubinggu

初次部署会要求登录:

部署毕,山门即在 https://fubinggu.pages.dev/。

四、我踩过的坑

箭已离弦。此后的坑,都记在这山谷里。


传此箭于人:

上一箭
立营第一箭
下一箭
腌罐与后门:Python 3.14 的注解何时结账