book-index-ui 0.28.0 → 0.28.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -1
- package/dist/index.cjs +64 -55
- package/dist/index.d.ts +178 -1
- package/dist/index.js +4829 -4391
- package/dist/storage-entry-DGtRxALe.cjs +2 -0
- package/dist/{storage-entry-BVyXjZhm.js → storage-entry-Du6ytidI.js} +224 -160
- package/dist/storage.cjs +1 -1
- package/dist/storage.d.ts +99 -0
- package/dist/storage.js +7 -7
- package/package.json +1 -1
- package/dist/storage-entry-BLfpDWdl.cjs +0 -2
package/README.md
CHANGED
|
@@ -33,7 +33,8 @@ import 'book-index-ui/styles' // CSS(用到组件时引入)
|
|
|
33
33
|
| `BookFullText` / `WorkCatalog` | 全文阅读页(Book / Work 全文,走 `ReaderShell`)/ 作品目录 |
|
|
34
34
|
| `IndexEditor` | 详情编辑器(写入需 storage 实现 saveItem) |
|
|
35
35
|
| `HomePage` | 首页:推荐丛编 + 经典作品(kaiyuanguji-web 用) |
|
|
36
|
-
| `
|
|
36
|
+
| `TextReader` | **统一阅读器**(overview#307):整理本与全文合一,版本下拉含全部版本,取数走 `core/text-api`(只认新结构),见下「统一阅读器」 |
|
|
37
|
+
| `CollatedEdition` | 整理本阅读页(走 `ReaderShell`)+ 跨卷搜索;「條目」看法保留原卡片视图(旧结构,`TextReader` 取代它之前仍被 `BookDetailLayout` 使用,迁移验完后删) |
|
|
37
38
|
| `ReaderShell` / `ReaderToc` / `ImagePanel` / `ReaderMdText` | 阅读器(整理本与全文共用),见下「阅读器」 |
|
|
38
39
|
| `CollectionCatalog` | 丛编目录(按册/卷分组) |
|
|
39
40
|
| `EmendatedBySection` | "校勘自" 引用列表 |
|
|
@@ -42,6 +43,23 @@ import 'book-index-ui/styles' // CSS(用到组件时引入)
|
|
|
42
43
|
| `LocaleProvider` / `LocaleToggle` | 繁简切换 |
|
|
43
44
|
| `useT` / `useConvert` | 繁简 hook |
|
|
44
45
|
|
|
46
|
+
### 统一阅读器(`TextReader`,overview#307)
|
|
47
|
+
|
|
48
|
+
```tsx
|
|
49
|
+
<TextReader
|
|
50
|
+
id={workOrBookId} transport={storage}
|
|
51
|
+
versionKey={key} chapter={chapterKey} // 受控(可不传,自己管)
|
|
52
|
+
onLocationChange={(loc, cause) => router.push(urlFor(loc))} // loc: { key, chapter, isDefault };cause: 'auto' | 'chapter' | 'version'
|
|
53
|
+
onNavigate={id => router.push(entryUrl(id))}
|
|
54
|
+
/>
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
- 数据模型(规格 overview `项目进展/古籍索引网站/设计/阅读文本.md`):`items/<id>/manifest.json` 列全部版本(`versions[0]` 是 `default`),`<key>/index.json` 是章目录(`chapters[{ n, file:'001', title, has_json }]`),章正文 `<key>/001.txt`,整理本的章另有 `001.json`。`IndexStorage` 新增可选 `getTextManifest / getTextIndex / getChapter`,`BundleStorage` 已实现。
|
|
58
|
+
- **只认新结构**(用户 09-30 定):条目没有 `manifest.json`(含旧的 `collated_edition/`、`full_text/…` 目录)就显示「暂无文本」,不从旧目录合成。旧的 `CollatedEdition`/`BookFullText` 暂留给还没迁移的页面,迁移在正式站验完后清掉。
|
|
59
|
+
- 界面:工具条一个「版本」下拉按 manifest 顺序列全部版本(含整理本),只有一份时只在书名后标来源名;正文末尾显示所选版本的出处与授权;章有 json 用结构化渲染(条目、作品链接、跨章搜索),否则按 md;切版本尽量停在同一章号,对不上回第一章。
|
|
60
|
+
- 组件不改 URL:宿主在 `onLocationChange` 里改地址(新 URL:`/read/<id>[/<key>][/<章>]`,主版本不写 key)。`versionKey/chapter` 传了就受控;传了无效值时组件回落并以 `auto` 通知。
|
|
61
|
+
- 工具条另有上一章/下一章(窄屏隐去,翻卷交给正文底部的翻页卡片)、书名链接回条目页;窄屏(右栏藏起来)时正文末尾有「报告错字」入口。
|
|
62
|
+
|
|
45
63
|
### 阅读器(`components/Reader/`,2026-09 N5a)
|
|
46
64
|
|
|
47
65
|
整理本与全文共用一个外壳 `ReaderShell`:
|