# yakultpdf CLI 命令参考

`yakultpdf` 命令行工具的完整参数说明。

## 命令概览

```bash
yakultpdf [Command] [Options] [Arguments]
```

| 命令 | 用途 | 适用模式 |
|------|------|----------|
| `convert` | **[核心]** 将 Markdown 转换为 PDF | 独立 / 工作区 |
| `init` | 初始化新的工作区 | 任意目录 |
| `mdimage` | 图片下载与路径迁移工具 | 独立 / 工作区 |
| `fonts` | 字体下载与管理 | 全局 |
| `gaozhi` | 专用转换：生成书写稿纸 PDF | 独立 / 工作区 |
| `clean` | 清理输出目录 | 仅工作区 |
| `update` | 更新工作区辅助脚本 | 仅工作区 |
| `version` | 显示版本信息 | - |
| `coverprepare` | 封面图片尺寸检查 | 独立 |

---

## 1. convert

核心转换命令。

```bash
yakultpdf convert [FILE or FLAGS]
```

### 选项 (Options)

| 选项 | 短标 | 说明 | 默认值 |
|------|------|------|--------|
| `--dir <path>` | `-d` | **目录合并模式**：合并目录下所有 .md 文件转换 | - |
| `--batch <path>` | `-b` | **批量模式**：逐个转换目录下的文件 | - |
| `--template <name>` | `-t` | 指定使用的模板文件 (如 `nb.typ`) | `config.default_template` |
| `--output <name>` | | 指定输出文件名 (不含扩展名) | 源文件名 |
| `--tc` | | **繁体中文模式**：自动进行简繁转换 | false |
| `--removelink` | | 移除正文中的超链接 (保留链接文本) | false |
| `--open` | `-o` | 转换完成后尝试打开 PDF | false |
| `--overwrite` | | 强制覆盖同名输出文件 | `config.overwrite` |
| `--verbose` | `-v` | 显示详细调试日志 | false |
| `--dry-run` | | 仅显示执行计划，不进行转换 | false |
| `--show-config` | | 显示当前生效的完整配置信息 | false |
| `--postprocess <name>` | `-p` | 指定额外的后处理器 | - |

### 示例

```bash
# 单文件
yakultpdf convert input.md

# 指定模板和输出名
yakultpdf convert input.md -t simple.typ --output my-doc

# 合并目录
yakultpdf convert --dir ./chapters/ -o
```

---

## 2. mdimage

Markdown 图片资源管理工具。

```bash
yakultpdf mdimage [Subcommand] [Args]
```

### 子命令

- **`download <file|dir>`**: 下载远程图片到本地。
    - `--overwrite`: 覆盖已存在的本地文件。
    - `--delay <float>`: 下载间隔秒数 (默认 1.0)。
    - `--keep-remote`: (仅调试) 不替换 Markdown 中的链接。
- **`todir <file>`**: 结构迁移 -> 文件夹模式 (`abc.md` -> `abc/index.md`)
- **`tofile <dir>`**: 结构迁移 -> 单文件模式 (`abc/index.md` -> `abc.md`)

---

## 3. fonts

字体管理工具。

```bash
yakultpdf fonts [Subcommand]
```

- **`list`**: 列出已安装的受支持字体。
- **`install <name>`**: 安装指定字体 (支持 `lxgw-wenkai`, `source-han-sans` 等)。
- **`status`**: 检查字体目录状态。

---

## 4. init

在当前或指定目录初始化工作区。

```bash
yakultpdf init [path]
```

> **注意**: 目标目录必须为空。

---

## 5. clean

清理工作区 `out/` 目录中的 PDF 文件。

```bash
yakultpdf clean [flags]
```

- `--dry-run`: 仅显示将要删除的文件。
- `--force` / `-f`: 强制删除不询问。

---

## 6. gaozhi

稿纸模式专用转换器。

```bash
yakultpdf gaozhi [file|--dir]
```

- `--dir`: 转换目录下所有文件并合并。
- `--output`: 指定输出文件名。

---
