小说与漫画
从 v0.12.0 开始,媒体库正式支持小说和漫画,可以直接读取本地正文、封面和元数据,在浏览器里看书看漫并跨设备同步阅读进度。创建方式和影视库一样,选好对应类型并填上服务端能访问到的根目录就行。
支持格式与目录
| 类型 | 正文格式 | 目录要求 |
|---|---|---|
| 小说 | TXT、EPUB | 根目录下一部小说一个文件夹,每个文件夹只放一个正文文件 |
| 漫画 | 图片目录、CBZ、ZIP | 根目录下一部漫画一个文件夹,可直接放正文,或按话再分一层 |
漫画图片支持 JPG、JPEG、PNG、WebP 和 GIF。要注意的是,同一个阅读单元要么放一组散图,要么放一个压缩包;别把多个正文压缩包,或者把散图和压缩包混塞在同一个目录里。
小说示例
Novels/
├── 示例小说 A/
│ ├── 正文.txt
│ └── 正文.opf
└── 示例小说 B/
└── 正文.epubTXT 会按文本内容自动识别章节,EPUB 会解析目录和正文。为了保持阅读体验一致,EPUB 阅读器采用统一的阅读排版,不保证原样还原原文件中的全部样式和交互。
漫画示例
Comics/
├── 示例单行本/
│ ├── ComicInfo.xml
│ ├── 001.jpg
│ └── 002.jpg
└── 示例连载/
├── ComicInfo.xml
├── 第 01 话/
│ ├── 001.jpg
│ └── 002.jpg
└── 第 02 话/
└── 第 02 话.cbz按话分目录的连载漫画会作为合集展示,在详情页或阅读器里都能随时切话。目录层级直接决定了合集与阅读单元的归属关系,不支持更深的多层无限嵌套。
扫描与索引
媒体库建好后会先扫一遍已有内容,平时也会持续监控正文、目录和元数据的变化。由于扫描和建立正文索引都在后台异步处理,刚放进去的文件如果还没写入稳定,或者索引还在跑,点开阅读时可能会暂时提示「内容未就绪」,稍等一会儿即可。
遇到漏扫或读取异常时,管理员可以在媒体库管理或侧栏执行手动扫描,补齐缺失文件并按需更新索引。没变动过的有效索引会直接复用,缺失的阅读缓存也会尝试恢复;和影视库一样,扫描结束不代表后台所有的刮削和整理工作都已经完成。
关掉「启动时全量扫描」不影响运行期间的实时监控,只是停机期间手动改过文件后记得补扫一次。当源文件发生变化时,系统会尽量把你的阅读进度恢复到可用位置;实在对不上原位置时,阅读器会给出提示,并从当前可用章节的开头继续。
元数据与封面
小说读取 OPF,漫画读取 ComicInfo XML,和影视库用的 NFO 不同:
| 类型 | 本地来源 |
|---|---|
| 小说 | 正文同目录的同名 .opf,或 content.opf、metadata.opf;EPUB 也可读取包内 OPF 和封面 |
| 漫画 | 正文目录中的 ComicInfo.xml;CBZ/ZIP 也可读取包内 ComicInfo 和封面信息 |
外置元数据优先,缺的字段再从包内信息补齐。连载漫画的各个单话还可以继承合集中的作者、绘者、出版社和分类。标题、简介、作者、系列、卷号、话号、ISBN、出版日期等信息都能在详情页展示,具体取决于文件里提供了哪些字段。
如果不想手动维护这些 XML,可以给媒体库绑定一个「资源入库」工作流(使用对应的「小说」或「漫画」结束节点),在首次入库且缺少本地元数据时自动刮削。管理员也可以在条目菜单里点击「刮削元数据」,搜索并确认候选结果;结果会保存为外置 OPF 或 ComicInfo,不会改动原有的 EPUB/CBZ/ZIP 压缩包。
在线阅读与进度
- 小说支持切换章节,也能随手调整背景、字体、字号、行间距、段间距和左右边距
- 漫画支持上下滚动和翻页阅读两种模式,还能调整图片缩放和点击翻页的方向
- 详情页提供「阅读」或「继续阅读」入口,连载漫画也能直接挑选章节
- 阅读进度按账号保存;开启首页「最近阅读」后,可从首页直接回到上次阅读位置
你可以在个人设置里分别开关首页「最近观看」「最近阅读」的展示,并设置播放和阅读记录的保留时间。排版设置和阅读进度互不干扰,重新扫描媒体库也不会清空你账号里的历史记录。
自动整理
小说与漫画也支持自动重命名模板,但模板必须严格保持「作品目录/阅读单元名」两段结构。整理时会同步处理外置元数据、封面和缓存引用,并保留原有的条目标识和阅读进度;缺少必要字段或目标路径冲突时会先跳过。