# Loop Workflow 企业应用指南

本目录是独立可构建的 Markdown 书稿工程。
`SUMMARY.md` 是唯一章节顺序来源，Pandoc 负责合并 Markdown 并转换为 Typst，Typst 负责中文排版和 PDF。

## 构建

```bash
cd books/workflow-tuts
make doctor      # 只检查依赖，不修改系统
make bootstrap   # 缺少依赖时给出安装命令并请求确认
make check       # 校验书稿并运行共享 checker / bootstrap 回归测试
make             # 生成 dist/workflow-tuts.pdf
```

`make bootstrap` 不会静默安装软件。
在 macOS 上，它显示共享 `books/_infra/Brewfile` 对应的 `brew bundle` 命令并在交互式终端明确询问；非交互环境只给诊断并失败。
Linux 和其他平台给出官方安装地址。

构建依赖为 Pandoc 3.1+、Typst 0.13+、Python 3 和 Go 1.25+。
Go 用于让 `make check` 调用仓库内的真实 Workflow Plan 编译器，避免示例只通过 YAML 语法检查。

## 目录职责

- `book.yaml`：书名、作者、语言等出版元数据。
- `SUMMARY.md`：章节列表和构建顺序的唯一来源。
- `manuscript/`：可直接在 Git 中阅读的 Markdown 正文。
- `media/`：经过脱敏和出版处理的图片。
- `templates/`：本书专用模板。
- `STYLE.md` / `TERMINOLOGY.md`：本书的写作与术语约束。
- `build/`、`dist/`：生成目录，不进入 Git。

共享基础设施位于 `books/_infra/`，包括：

- 统一 `Brewfile`
- 统一 `book.mk`
- 统一 `scripts/`
- 统一 `theme/`

## 中文字体

主题按顺序选择 Noto / Source Han 开源中文字体，再回退到 macOS 的 Songti SC、PingFang SC。
`make bootstrap` 在 macOS 上会通过共享 `Brewfile` 一并安装 Noto 中文字体；也可以单独运行：

```bash
brew install --cask font-noto-serif-cjk-sc font-noto-sans-cjk-sc
```

如果系统没有任何支持的中文字体，构建会给出明确错误，而不是生成缺字 PDF。
