feat(editor): refine toc hierarchy and search scope
This commit is contained in:
@@ -40,8 +40,8 @@ epub_review_sessions/
|
||||
结构接口 `/api/structure` 应保持向后兼容:
|
||||
|
||||
- text chapter: `kind: "text"`、`parts`、`row_count`、`touched_count`、`marked_count`
|
||||
- image chapter: `kind: "image"`、`images`、`parts: []`、`row_count: 0`
|
||||
- 统计字段同时保留总数和细分:`chapter_count`、`text_chapter_count`、`image_chapter_count`、`image_count`、`asset_count`
|
||||
- image item: 优先作为 text chapter 的 `items` 子项返回,字段为 `kind: "image"`、`images`、`parts: []`、`row_count: 0`;没有所属文字章时才保留顶层 image chapter
|
||||
- 统计字段同时保留总数和细分:`chapter_count`、`text_chapter_count`、`image_chapter_count`、`top_level_image_chapter_count`、`image_count`、`asset_count`。其中 `image_chapter_count` 表示目录里的图片条目数,不一定是顶层章节数
|
||||
- part 标题默认使用 `part0000` 形式,真实标题可保留在 `source_title`
|
||||
- 插图通过 `/api/asset/<entry>` 读取,必须继续使用 `extracted_path()` 防止路径穿越;只把 raster 图片纳入 `/api/structure` 与 `/api/asset` 白名单,不能任意读取解包目录文件
|
||||
|
||||
@@ -49,16 +49,20 @@ epub_review_sessions/
|
||||
|
||||
1. EPUB 内部目录页的中文条目
|
||||
2. `nav.xhtml` / `toc.xhtml`
|
||||
3. 正文标题
|
||||
3. 正文 `<h1-6>` 标题
|
||||
4. 文件名 fallback
|
||||
|
||||
不要把正文首段或第一句对白作为章节标题 fallback。宁可显示 `part0000`,也不要让目录被正文内容污染。
|
||||
|
||||
## 阅读与侧栏交互
|
||||
|
||||
验收口径:
|
||||
|
||||
- 初始进入审校时,左侧侧栏隐藏,正文占主要空间。
|
||||
- 顶部“目录”只打开目录,“检索”只打开搜索/段落列表,不合并成一个常驻面板。
|
||||
- 目录可展开/收起章节,插图章节可点击阅读,文字 part 可点击定位。
|
||||
- 目录可展开/收起章节,插图作为所属章节的次级目录条目可点击阅读,文字 part 可点击定位。
|
||||
- 点击目录章节、part 或插图条目后,侧栏不得自动收起;用户仍可点“隐藏”或按 `Escape` 关闭。
|
||||
- 检索必须保留“当前范围 / 全书全局”切换;当前范围随当前章节或 part 更新,全局检索可跨章节返回并跳转。
|
||||
- 阅读模式不显示每段编号、快速编辑、快速标记按钮。
|
||||
- 点击正文段落打开右侧精修与重翻面板。
|
||||
- 右侧面板打开或关闭导致正文宽度变化时,应恢复用户原来正在看的段落位置。
|
||||
|
||||
Reference in New Issue
Block a user