# 用 Astro + ermaozi 搭建本站

这篇记录本站的搭建过程，既是备忘，也是主题使用的第一手笔记。

## 技术选型

- [Astro](https://astro.build/)：纯静态输出，构建产物就是一个 `dist/` 目录，可以部署到任何静态托管。
- [astro-theme-ermaozi](https://github.com/ermaozi/astro-theme-ermaozi)：基于 VuePress Theme Plume 深度定制的内容主题，自带分类/标签/归档、Pagefind 全文搜索、深色模式和大量 Markdown 增强。

## 搭建步骤

```bash
# 1. 创建站点（简体中文，不启用语言切换）
pnpm create astro-theme-ermaozi my-site -- --yes --lang=zh-CN

# 2. 安装依赖并本地预览
pnpm install
pnpm run dev

# 3. 校验 + 构建（构建时会生成 Pagefind 搜索索引）
pnpm run validate
pnpm run build
pnpm run preview
```

## 踩坑记录

- **pnpm 11 默认拦截构建脚本**：`esbuild`、`@parcel/watcher` 需要在 `pnpm-workspace.yaml` 的 `allowBuilds` 中显式放行，否则安装退出码为 1。
- **搜索在 dev 模式不可用**：Pagefind 索引只在 `build` 时生成，验收搜索必须 `build && preview`。
- **GitHub Pages 项目站要配 `base`**：本站配的是 `/Moming/`，本地预览地址也会带这个前缀。

> TODO：部署上线后，在这里补充 GitHub Pages 的配置过程与访问地址。