# 迭代日志


## 0.7.9 模板子目录重构

- 将 nb 模板从根目录移至 `templates/nb/` 子目录，并统一默认模板常量定义。

## 0.7.10 Theme Frontmatter 配置

- 新增 `theme` 配置组到 frontmatter，包含：
  - `theme.template` - 指定模板文件（替代顶级 `template`）
  - `theme.coverstyle` - 封面样式 ("default" / "report")
  - `theme.overview-fill` - overview 块背景色
- `nb.typ` 模板支持根据 coverstyle 切换封面库

## 0.7.11 模板导入机制简化

- 实现了模板智能解析：
  - 输入 `nb` 自动按顺序查找：`nb.typ`, `nb/nb.typ`, `nb/index.typ`
  - 简化了默认配置配置值为 `nb`
- 重构了 `helper_typst` 依赖处理：
  - 目录式模板（如 `nb/nb.typ`）直接复制整个目录，废弃了复杂的正则依赖解析
  - 移除了 `parse_template_deps` 等废弃函数
  - 仅支持 `theme.template` 格式配置，不再支持顶级 `template`

- **Frontmatter 结构变更**：
  - 将 `font` 和 `titlefont` 从 `pubinfo` 移至 `theme` 配置组。

## 0.7.13 封底样式系统 & Darkbg 封面优化

- **封底样式系统**：
  - 新增 `theme.backcoverstyle` 配置项，支持 `default` / `biglogo` 两种封底样式
  - `default` 封底：底部小 Logo + 出版信息
  - `biglogo` 封底：中央大 Logo + 底部出版信息
  - 新增 `nb-backcover-biglogo-lib.typ` 封底库文件

- **Darkbg 封面 Hero Image 优化**：
  - Hero Image 改用 `place` 固定定位（`dy: 4.1cm`），取代弹性布局
  - 解决了内容变化导致 Hero Image 位置不稳定的问题

## 0.7.14 PDF 压缩命令

- **新增 `compress` 命令**：使用 PyMuPDF 压缩 PDF 文件大小
  - `yakultpdf compress sample.pdf` - 压缩单个文件（覆盖原文件）
  - `yakultpdf compress --all` - 压缩 out 目录下所有 PDF
  - `yakultpdf compress --no-overwrite` - 输出为 `xxx_sm.pdf`
  - `--dpi` 参数预留，用于后续图片 DPI 重采样
- **压缩策略**：
  - `doc.scrub()` 清除元数据、缩略图等
  - `doc.ez_save()` 启用 garbage=3 + deflate 压缩
  - PNG → JPEG 转换（仅 >1MB 且无透明通道的 PNG）
- **依赖**：新增 `pymupdf`

## 0.7.15 NB 模板图片优化

- **Top/Bottom Image 支持**
  - 新增 `<topimage>` (页首出血图) 和 `<bottomimage>` (页尾出血图) 支持
  - 图片按原始比例显示，自动处理页边距和出血
- **Cover 兼容性修复**
  - 修复 `coverbg` 参数在不同封面样式下的兼容性问题
  - 仅 `darkbg`/`dark` 样式传递 `coverbg` 参数，避免其他样式报错
  
