qin 发布于
>=2.26.0
更新内容
- 新增文章页大纲导航(响应 Issue #14):由正文二/三级标题自动生成;宽屏(≥1200px)为文章右侧 sticky 玻璃侧栏,窄屏为浮动按钮 + 右侧抽屉。
- 滚动高亮当前章节并保持其在列表内可见,页面底部兜底末条;点击条目平滑跳转,复用全局
scroll-padding-top,落点不被固定导航遮挡。 - 渐进增强与无障碍:
toc.js构建并以html.toc-ready门控——禁用 JS、正文标题不足两个或开关关闭时整块不渲染且布局保持单栏;抽屉支持 Esc / 遮罩 / 关闭按钮收起,aria-expanded/aria-controls/aria-label动态切换并管理开合焦点;尊重系统「减少动态」偏好。 - 主题设置新增「文章页」组「显示文章大纲」开关(默认开启,未配置按开启处理,老站点升级即生效)。
- 版本号按 minor 规则升至 1.4.0,README 与 CHANGELOG 同步。
真机验证
环境:Halo 2.26.1 本地真机(H2)+ headless Chrome CDP,41/41 断言通过。
- 升级安装 1.4.0 保留既有设置,主题 READY;
toc.js/style.css正常下发并带?v=1.4.0缓存破坏。 - 桌面 1440:双栏网格、sticky 侧栏滚动中段仍固定、8 条目(5×h2 + 3×h3,h4 排除)、标题 id 唯一、scrollspy 中段与底部兜底、锚点落点不被导航遮挡。
- 移动 390 / 320:浮动按钮可见、抽屉开合、焦点首条 / 归还按钮、body 滚动锁定、条目点击收起并跳转,无横向溢出。
- 少标题文章整块移除且单栏;既有文章复用原生标题 id;禁用 JS 正文完整且单栏;三档视口控制台零报错。
- 开关关闭变体包不渲染
toc-col/toc-fab,恢复官方包后回归正常。 - 临时验证文章已清理,站点恢复 7 篇,全路径 200 / 404 符合预期。
升级方式
- 下载附件
theme-luye.zip。 - Halo 后台 → 外观 → 主题 → 升级上传(要求 Halo ≥ 2.26.0)。
- 升级后大纲默认开启;如需关闭:主题设置 → 文章页 → 显示文章大纲。
附件校验
- 文件数:32
- SHA-256:
07a2deca4e07f9fb674f10781731038c0161aa694797c8566154ed7afa7c0e98 - 最低 Halo 版本:2.26.0
相关 PR:#16;关闭 Issue #14。完整历史见 CHANGELOG.md。
资源下载
- theme-luye.zip
