Files
reader/docs
cnb.dQC5J6ohAGA c2afda5391 merge: 把 main 合并进 auto/init-server-scaffold-81b3
main 引入了漫画目录书与逐页取图,本分支引入了格式注册表、H5 客户端与
Android 外壳。两边都改到了扫描器、metadata、library 路由与 web 客户端,
所以冲突不是文本级的,需要按语义逐项合并。

逐项取舍:

- scanner:本分支的注册表版本胜出。main 的 `collectComicDirectories` /
  `indexComicDirectory` / `comicOf`、`SUPPORTED_EXTENSIONS` 等常量都属于
  注册表之前的设计,保留两套会让目录书被索引两次。
- metadata:`parseBookFile` / `pdfInfo` 已被格式层取代,移除;`BookFormat`
  保持开放字符串,格式集合由注册表定义。
- library:`MIME_BY_EXT` 由注册表接管,避免 manifest 与下载端点对同一个
  文件报出不同的 content-type。单文件端点保留「目录书额外认领其目录下
  路径」的修复,否则漫画目录逐页取图全部 404。
- web:测试拆成两个运行器(vitest 与 node:test 互相无法执行对方用例),
  package.json / vite.config.ts 保留本分支的拆分。

合并后 server 128 项、web 147+26 项测试全部通过。

Ref: #9
2026-09-16 18:13:39 +08:00
..