sky 发布于
>=2.26.0
发布时间:2026-09-30。
**对比基线:**正式 v0.9.46 至本次 v0.9.47(提交 cf504f15),共 28 个提交,见完整差异。
系统设置
- 重构前端系统设置,整理为外观、墙纸、Dock、菜单栏、导航菜单、小组件、通知中心、首屏加载、应用和高级十类,共 77 个配置路径。新增设置搜索、未应用提示和移动端分类返回,补充「取消」并统一底部操作区。
- 图片字段接入 Halo 附件库、图片地址和上传;图标字段接入按需加载的 Iconify 图标库,补充中文检索、分页、预览和选择。现有素材字段包括 5 个图片、7 个图标。
- 完善墙纸与颜色控件,菜单背景支持颜色和不透明度;应用设置采用入口列表与详情面板,保留草稿及各面板滚动位置。
- 桌面内容挂载、桌面管理和默认布局入口集中到「小组件」。Dock 增加内置「系统设置」入口及后台显示开关。
- 保存期间继续保留新增编辑;关闭后立即重开、权限检查取消和配置冲突均保留正确上下文。冲突提示要求核对草稿,避免误认为保存成功。
首屏加载
- 新增「首屏加载」设置,采用两种显示方式的缩略预览及紧凑分组,默认「普通显示」。普通模式提前投影桌面图标与组件占位,预留 Dock 空间,正式节点就绪后接管,减少布局跳动。
- 可选「开机启动」页面效果,支持每标签页首次播放或首次及主动刷新播放,以及苹果、站点和自定义标识。
- 演示使用当前草稿,不保存配置或播放记录;退出后恢复设置焦点和上下文。
- 效果等待 Shell、Dock、桌面或当前 App 就绪后结束,最多持续 2 秒;支持跳过、Escape 和减少动态效果。历史返回、页面恢复及自动恢复重载按规则跳过重复播放。
桌面、Dock 与窗口
- 统一 Dock 首帧与运行时的尺寸、间距、缩放和玻璃样式;初始化完成后启用过渡,修复窄屏几何和桌面底部空间计算。
- Dock 的空 SVG、缺失图片和加载失败图标提供文字兜底,并保留可访问名称。
- 恢复桌面空白区域滚动,修复高度变化后的节点坐标、设置取消后的滚动上下文以及窗口状态恢复。
- 点击指向当前完整 URL 的普通 Dock 图标可恢复最小化窗口;窗口控制按钮统一紧凑间距。
- 手机内页隔离背景桌面焦点,进入页面后转移焦点,返回首页或切换宽屏时恢复桌面交互。
小组件与布局保存
- 补齐首页和内页直达时的桌面组件数据加载,按可见性加载预览,共享请求与缓存,并提供失败重试。
- 随机标签和追番组件改进独立数据请求与缓存;豆瓣收藏完善加载、失败、空状态及重试。修复追番预览、豆瓣名称、组件添加按钮对比度、天气添加时序和手机标题遮挡。
- 组件配置变化及时同步预览;销毁后忽略迟到回调,释放事件和请求,避免旧组件覆盖当前界面。
- 布局保存模块加载失败时保留草稿。默认布局与自定义图标采用并发检查及三方合并,保留保存期间的新增、修改和删除;同名并发新增及过期布局不会直接覆盖最新配置。
导航与页面生命周期
- 统一 PJAX 点击判定、导航准入和离页守卫;获准离页后再暂停当前页面,取消或失败时恢复,历史导航失败时回滚浏览器状态。
- 下载、外站、新窗口、特殊协议等链接按原生行为处理;响应进入页面前核对实际 App 和对应资源,认证响应改为完整页面导航。
- 统一页面就绪、导航结束、错误回退及资源清理,避免旧请求、重复绑定和迟到回调干扰新页面。详细协议见主题导航契约。
内容应用与插件适配
- **Docsme:**修复正文内链和目录定位被吸顶工具栏遮挡;改进项目上下文搜索、标题锚点冲突及 Shiki/KaTeX/Mermaid 富内容的加载、取消与失败回退。
- **瞬间:**标签切换只更新列表区域,保留封面、头像和标题栏;分页随导航暂停或恢复。详情明确返回列表,手机列表可返回首页,评论容器按插件能力输出。
- **友链与朋友圈:**顶部视图切换复用现有组件,完善同 App 局部导航;接入插件官方访客申请能力检测、验证码和失败重试,未开放时回退留言入口。
- **追番:**改进状态计数异步加载、分页响应协议和请求 URL 校验,避免错误响应污染列表。
- **图库:**真实图片加载后再显示完成状态,失败图片提供明确提示;卸载后忽略迟到布局回调,评论入口按 Halo 评论能力显示。
- **豆瓣:**兼容新版扁平数据和旧数据结构;从 URL 恢复筛选、关键词及分页,题材和统计异步加载,失败时保留已加载列表。
- **Steam:**热力图累计拉取完整分页,校验总数、后续页及重复记录;失败时不展示部分累计值,视图切换后忽略旧请求结果。
- **装备:**加载更多失败后停止滚动触发的循环重试,提供显式重试按钮。
- **归档、作者与标签:**按公开文章构建完整年月目录并校验分页,短时缓存按访问身份隔离;完善作者无文章、默认内容源和无效分页恢复,修复浅色标签图标对比度。
- **阅读与 SEO:**修复冷打开评论锚点、目录标题冲突和编码 hash,卸载时清理监听;PJAX 仅修正可信 canonical 对应列表的分页结构化数据,保留子实体身份。
- **Halo 与插件:**最低 Halo 要求由
>=2.25.0提高至>=2.26.0;新增插件页面html(head, content)布局,整理 24 个主题相关插件的 51 个功能范围、版本标记和生命周期边界。各范围实际采用及测试的插件版本见插件适配契约。
登录
- 修复有公钥时密码加密失败仍可能回退明文的问题:仅提交隐藏密文字段;加密不可用、失败或超出密钥容量时阻止提交并显示错误。
- 新增密码显示/隐藏按钮及可访问状态,保留原有用户名/密码两步登录和 Halo 登录入口。
构建、依赖与验证工具
- 固定 Node
>=24.21.0 <25、pnpm12.5.1,更新 Alpine、Vite、Tailwind CSS、Playwright 等依赖及第三方声明;继续使用冻结安装与最小发布时间策略。 - 改进动态分块和共享模块划分,保留合法的
persistence-conflict.js,构建后检查静态及动态资源引用,避免误删分块和运行时缺失。 - 同步构建版本、源码指纹、资源 URL 和 CSS 身份片段;启动复用已校验的资源清单,微信二维码库在打开分享时按需加载。
- 增加导航、登录、组件、设置、首屏、Dock、移动端焦点及错误报告回归检查;真页报告核对实际构建,保留 Shell JS 145 KiB、CSS 64 KiB 的 gzip 预算。
- CI 改为手动触发,并在检查前准备 Chromium;公开 GitHub Release 后仍由官方 CD 完成打包、制品上传及 Halo 应用市场同步。
文档
- 按当前功能完善 33 份现行文档,重整 README 与任务式文档索引,补充首屏加载、素材操作和装备指南。
- 修正配置数量、真实菜单路径、插件功能范围、验证命令及发布包参数;历史发布记录和当前验收范围分别保留。
- 补充导航契约、分阶段构建和回归记录,保留兼容性、缺少样本及真实业务操作的验收边界。
升级与验证说明
- 使用本次代码前需将 Halo 升级至
2.26.0或更高版本;升级前保留主题配置及上一稳定 ZIP。 - 本次版本为
0.9.47 / 79c9ed2a8831,完整pnpm run check、构建、资源预算和构建 smoke 通过;两份版本声明、生成资源和源码指纹一致。Shell 静态 JS gzip 为143580B,CSS 为65515B,均满足原有预算。 - 正式标签目标提交
cf504f15d15a3365df759ffbfb51e04b8d35e23f的 CI 检查通过;线上 Playwright Smoke 因未配置SMOKE_BASE_URL被跳过。 - 本地认证只读首页返回 200,版本和指纹正确,服务端 manifest、Shell JS 与 CSS 和本地一致。reload 接口已调用;匿名首页 302 跳转登录,完整 Reload/页面 smoke 的首页身份前置检查受阻,未作为通过证据。
- 历史构建
0.9.46 / f4cc217c2418的设置专项及 6 组隔离浏览器检查保留其原始范围,真实配置写入为 0。 - 前一构建
4cd9e2e00aa6的完整检查、13 路由 Reload 与 24 场景 smoke 是该构建的历史证据,不能作为新版本候选包的通过记录。 - 版本声明已同步为
0.9.47;生成资源及本地验证结果见项目进度。真实账号配置持久化、认证提交、插件业务写入和真机触摸的剩余范围见项目进度及发布与回滚。
Generated from v0.9.47
资源下载
- theme-sky-blog-3-0.9.47.zip