Skip to content

v1.3.0

Latest

Choose a tag to compare

@github-actions github-actions released this 30 Sep 13:26
· 3 commits to develop since this release

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 处理。

现在可以:

  1. 从其他 App 分享 A 到 Shiori。
  2. 返回来源 App。
  3. 继续分享 B、C……
  4. 最后再打开 Shiori。
  5. 一次确认所有待导入书籍。

同时:

  • 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 环境。