Shiori 1.3.0
Shiori 1.3.0 是一次较大的阅读与桌面体验更新。
本版本重新整理了 Windows 桌面工作区和宽屏 Reader,进一步完善分页、跨章节翻页与阅读完成页,并继续扩展 EPUB 原生排版兼容。同时改进本地书籍管理、移动端分享导入、图片查看与应用内更新体验。
Windows 桌面工作区
Windows 主界面现在采用完整的桌面 Workspace,而不再只是将移动端页面放大到宽窗口。
- 书架、搜索、本地文件、离线内容、关于与更新统一使用桌面侧栏 / 导航栏。
- 窗口宽度变化时,会在顶部导航、窄侧栏和完整侧栏之间响应式切换。
- 各页面拥有稳定的顶部工具栏与内容轴,页面切换时布局更加稳定。
- 书架支持网格与列表布局,并保留各自滚动位置。
- 搜索、本地书籍、缓存管理与小说详情均重新适配宽屏显示。
- 桌面端补充鼠标悬停、右键菜单、键盘操作与更合适的信息密度。
- 从 Reader 返回书架、搜索、详情或本地文件时继续保持原来的 Workspace 状态。
宽屏与分页阅读
Reader 在 1.3.0 中进行了较大调整。
- 可用宽度足够时自动进入双页阅读。
- 每一栏保持独立正文宽度,并使用中缝分隔,不会无限拉宽文本。
- 大屏 Android / iOS 平板同样可以根据阅读宽度进入双页模式。
- 调整窗口大小、单双页切换或修改阅读设置后,按照语义阅读位置重新分页。
- 正向与反向翻页使用一致的分页边界,减少恢复位置时的跳页或重复页。
- 桌面支持方向键、PageUp / PageDown、鼠标滚轮及页面点击翻页。
- 可选择仿真、覆盖、平移和无动画四种翻页方式。
正文插图
宽屏下的插图分页也重新整理。
此前较大的正文插图可能独占整个双页画面;现在插图仍独占一栏,但可以正常与相邻文字页组成双页:
文字 + 插图 → 文字 + 文字
同时:
- 插图可以位于左栏或右栏。
- 两张连续插图可以组成双页。
- 图片与图注根据实际单栏宽度计算。
- 大图在自己的栏内垂直居中,另一栏正文仍从顶部开始。
- 图片固有尺寸延迟获得后重新分页时,尽量保持当前阅读位置。
- 纯图片章节仍保持单页限宽居中。
跨章节跟手翻页
相邻章节之间现在可以像章内一样跟随拖动手势。
- 从章节末页继续向后拖动,可逐渐看到下一章。
- 从章节首页向回拖动,可预览上一章末页。
- 小幅拖动、反向拖动或系统取消都会回弹。
- 确认切章后从当前拖动位置继续完成动画,不重新播放完整翻页。
- 相邻章节已经准备完成时可以立即接管。
- 目标尚未准备好时保留当前真实页面,并提供取消等待。
- 预览下一章不会提前修改阅读进度。
- 图片尺寸变化会在翻页结束后再应用,减少动画中的页面跳动。
特殊 EPUB / WebView 页面继续采用较保守的章节切换方式。
阅读完成页
最后一页与阅读完成页现在属于同一套 Reader 交互。
- 可以从最后一页跟手翻入完成页。
- 可以从完成页向回拖动返回真实最后一页。
- 取消翻页不会误记录全书已读完。
- 完成页支持显示 / 隐藏 Reader 工具栏。
- 可以从完成页打开目录与阅读设置。
- Android / iOS 沉浸模式下隐藏工具栏后仍保留时间与电量状态。
- 调整字号、窗口或重新分页后,从完成页返回仍会找到当前布局下正确的最后一页。
同时重新整理了完成页的标题、书签元素、间距和按钮布局。
EPUB 原生排版兼容
1.3.0 继续扩大 EPUB 在原生分页 Reader 中的排版支持,而不是将普通章节交给网页滚动。
Ruby 注音
- 支持 EPUB Ruby 注音。
- 基字与注音作为一个换行单元参与分页。
- 字体缩放与 Reader 设置会同步影响 Ruby。
- 复杂或无法安全解析的 Ruby 会降级为可读文本。
作者空行
- 保留作者明确写入的空白段落和部分
<br>空行。 - 普通源码缩进不会因此变成多余空行。
- 章节开头存在作者空行时,仍能正确识别章节标题。
悬挂段落与尾部标签
支持常见的聊天记录、条目等排版:
- 首行保持正常起点。
- 后续换行继续按照作者的悬挂量缩进。
- 短标签可以贴在段落右侧,例如时间标记。
- 长段落跨页后不会重复首行布局。
- 窄屏和大字号下会优先保证正文有足够可读宽度。
双列表格
支持一部分适合阅读器原生分页的简单双列表格:
- 左侧短标签 + 右侧正文。
- 固定两列对齐。
- 中间竖向分隔线。
- 单元格内边距。
- 空白间隔行。
- 右侧长正文跨页。
- 双页和不同字号下重新布局。
复杂多列表格、合并单元格和嵌套表格仍会优先降级为可读文本。
作者字号与装饰版式
进一步保留短扉页、目录、制作信息等页面中的作者样式:
- 支持
xx-small~xxx-large等 CSS 字号关键字。 - 作者明确设置标题字号时,不再额外叠加 Reader 默认标题倍率。
- 大标题会根据当前设备、栏宽和阅读字号自然换行。
- 支持有限的四侧 margin / padding。
- 支持按侧显示的边框,不再把“仅上边 / 右边”错误画成完整矩形。
- 支持简单的作者宽度、最大宽度和水平居中。
- 分隔线可以保留作者设置的宽度和对齐。
- 简单制作信息分组可以保留容器边缘与留白。
- 单张图片容器可以保留作者设置的页面留白。
- 跨页容器只在真实起点 / 终点绘制上下边缘,不会在每一页重复封口。
这些页面仍然使用 Shiori 的原生分页,不会因为作者装饰样式而变成页内滚动。
装饰型目录链接
简单的 EPUB 目录按钮现在可以保留部分作者设计:
- 背景色。
- 圆角。
- 内边距。
- 作者文字颜色和字号。
- 居中 / 右对齐。
- 多行标签的内部文字对齐。
按钮文字与周围可见区域均可点击,仍然使用 Shiori 原生的书内导航。
过于复杂或在当前页面尺寸下无法安全显示的装饰,会自动退回普通可分页链接,不裁掉原文。
EPUB 特殊页面与书内导航
- 支持更多保留作者原版式的 SVG 页面。
- SVG 中受支持的书内热点可以直接导航。
- 原版式 SVG 的颜色可以跟随 Reader 主题适配。
- 特殊 HTML / WebView 页面继续保持脚本关闭、网络禁用和资源内嵌。
- 普通 EPUB 页面仍优先使用原生分页。
- 改善书内链接跨段落、长段落及返回时的位置恢复。
- 本地 EPUB 目录会将正文文件映射到最近的有效目录条目,改善当前章节高亮和自动滚动。
正文图片
主题适配
对于高置信度的白底文字图、关系图和线稿,Reader 可以根据当前纸张主题调整纸面与笔画颜色。
例如暖纸或夜间模式下,一些原本大片纯白的图稿不会再显得突兀。
以下内容会保守保持原图:
- 照片。
- 明显彩色插画。
- 透明图片。
- 无法可靠判断为纸面文字 / 线稿的图片。
- 封面与原图预览。
图片预览与保存
全屏图片预览新增原图保存能力。
- 支持双指、鼠标滚轮和触控板缩放。
- 支持拖动查看放大区域。
- 单击预览区域可直接关闭。
- 可以保存 EPUB / Source 中的原始编码图片。
- 保存内容不是 Reader 截图,也不会经过主题重新着色。
- Windows 使用系统保存位置选择。
- Android / iOS 使用各平台对应的照片 / 文件能力。
阅读界面与设置
- 移动端 Reader 进入沉浸式阅读,并在页面底部显示时间、电量与进度。
- 阅读时保持屏幕常亮,退出 Reader 后恢复系统行为。
- 阅读设置面板重新设计。
- 纸张主题、字号、行距、段间距、页边距与翻页方式的调整更加集中。
- 强调色选择状态更加清晰。
- 调整设置后继续按语义位置重新分页。
- 「本章链接」整理为「本章注释」,脚注、章节引用和其他书内链接更容易查看。
- 阅读进度在书架等位置改为更简洁的整数百分比显示。
Windows 上,目录、进度、设置、脚注与其他 Reader 内容使用桌面面板显示;Android / iOS 继续使用触摸优先的底部弹层。
本地书籍与书架
- 重新设计本地书籍管理页面。
- 支持按 EPUB / TXT 查看本地内容。
- 重新解析流程更加明显,并继续尽量保留阅读位置。
- 本地书没有简介时不再显示空简介区域。
- 本地目录可以在详情页中直接预览。
- 改进章节标题继承与当前目录位置显示。
- 书架列表、继续阅读区域与详情页重新整理。
- 触摸设备长按书籍时显示更完整的操作面板。
- 本地 EPUB 可以直接从手机书架执行「重新解析」。
Android / iOS 连续分享导入
移动端的待导入收件箱现在支持连续接收多个独立分享批次。
以前在第一批文件尚未确认时,再从其他 App 分享新书可能会要求先回到 Shiori 处理。
现在可以:
- 从其他 App 分享 A 到 Shiori。
- 返回来源 App。
- 继续分享 B、C……
- 最后再打开 Shiori。
- 一次确认所有待导入书籍。
同时:
- Android 与 iOS 使用同一套多批待导入逻辑。
- 一次分享多个文件和多次分别分享都可以累计。
- 新分享不会覆盖之前已经安全保存的文件。
- 用户点击「全部导入」时只确认当时看到的文件;导入过程中后来到达的文件留到下一轮确认。
- 仍然不会自动解析或自动加入书架。
- 待导入文件经过应用重启后仍可恢复。
- 保持每个文件和整个收件箱的容量保护。
iOS 分享扩展
iOS 分享扩展同时重新整理了界面:
- 显示本次正在接收的文件数量和状态。
- 成功后明确显示「已收下」,而不是误写成「已导入」。
- 显示 Shiori 收件箱当前累计待导入数量。
- 可以关闭扩展回到来源 App,继续分享其他书籍。
- 增加文件摘要、明暗主题与辅助功能适配。
应用内更新
1.3.0 完善了 GitHub Release 驱动的应用内更新。
Android
- 检查 Stable / Beta 更新。
- 下载并校验更新包。
- 交给系统安装界面完成覆盖安装。
- 改善中断恢复和已验证下载包的保留。
Windows
- 支持应用内下载和校验更新。
- 使用独立更新程序关闭旧进程并替换文件。
- 改善更新中断、重启和事务清理。
「关于与更新」页面也重新整理:
- Stable / Beta 更新渠道。
- 当前版本与 Release 信息。
- Release Notes。
- 手动 / 自动检查更新。
- 下载与安装状态。
- GitHub 项目入口。
- 开源许可与版本信息。
重新解析旧 EPUB
1.3.0 期间 EPUB 解析器经过多次升级,当前解析版本为 19。
此前已经导入的 EPUB 仍然可以继续阅读;但要获得以下新增解析能力,需要执行一次「重新解析」:
- Ruby 注音。
- 新的书内链接与目标位置。
- 作者空白段落。
- 悬挂段落与尾部标签。
- 简单双列表格。
- 新的作者字号和装饰容器几何。
- 分侧边框、目录装饰链接等新版式信息。
无需删除后重新导入。
可以从本地书籍页面或本地书籍菜单执行重新解析;手机端也可以直接从书架长按本地书进行操作。
图片纸色适配和部分纯显示层改动不要求重新解析。
分发说明
- Windows 当前提供 未签名的 x64 便携 ZIP,请完整解压后运行
shiori.exe。 - Windows 的特殊 EPUB HTML 页面仍需要系统安装 Microsoft Edge WebView2 Runtime。
- 完整 fixed-layout EPUB 仍不在当前支持范围内;只有能够安全转换或符合受限特殊页面条件的内容会保留版式。
- EPUB 作者样式采用有界的原生兼容子集,不尝试实现完整浏览器 CSS。
- 白底图稿识别属于保守启发式,不保证所有出版物图片都会自动适配纸色。
- Android 覆盖安装需要保持相同签名。
- iOS 实际安装与分发仍取决于当前使用的签名 / TestFlight 环境。