- 首页固定模糊半径只改 opacity;Hero 离屏停绘;Navbar 滚动状态去重 - 恢复首屏整屏吸附:仅接管 0 ↔ 内容区顶部边界,scrollend + 600ms 兜底解锁 - CSS scroll-snap proximity 实际不吸附(缺页面顶部吸附点),已移除避免与 scrollTo 冲突 - 版本 1.2.5,requires >=2.27.0;源码仓库与问题反馈改为 git.nxxy335.top - 更新 README / FAQ / 开发指南 / 更新日志,补充性能与发版说明
281 lines
14 KiB
Markdown
281 lines
14 KiB
Markdown
# 更新日志
|
||
|
||
## v1.2.5
|
||
|
||
### 兼容性与元数据
|
||
|
||
- ⬆️ Halo 版本要求提升至 **2.27.0+**(页面布局契约、微信读书页面依赖 2.27 的能力)
|
||
- 🔗 源码仓库与问题反馈地址统一为 `https://git.nxxy335.top/nxxy335/halo-theme-WarmIsland`
|
||
- 📚 完善安装、开发、FAQ 文档,修正过时的技术栈与构建打包说明
|
||
|
||
### 性能优化
|
||
|
||
- 🚀 **首页滚动顺滑性**:移除逐帧改写全屏 `backdrop-filter` 模糊半径的逻辑。
|
||
旧实现让 Chromium 每个滚动帧都重做一次全屏背景采样 + 高斯模糊,是首页掉帧主因;
|
||
现改为固定模糊半径 + 只调整 `opacity`(合成层操作),并缓存进度值避免重复写 DOM
|
||
- 🚀 **首屏离屏即停**:滚过首屏后 Hero 已被不透明内容区完全盖住,此时隐藏 Hero
|
||
并暂停光球动画,长页面后半段不再有额外绘制
|
||
- 🚀 **首屏整屏吸附回归(顺滑版)**:v1.2.5 初版改用 CSS `scroll-snap: y proximity` 后吸附
|
||
实际失效——内容区顶部是唯一吸附点、页面顶部 `0` 没有吸附点,`proximity` 几乎不触发;
|
||
换成 `mandatory` 又会把长内容反复拉回内容区顶部。现改为**边界吸附**:只在
|
||
`0 ↔ 内容区顶部` 接管一次滚轮 / 触摸,进入内容区后完全交给原生滚动惯性;解锁用
|
||
`scrollend` + 600ms 兜底(原为固定 800ms 输入锁),已在目标位置时不再接管
|
||
- 🚀 **导航栏滚动状态去重**:只在状态真正变化时写 class,不再每帧触发样式重算
|
||
- ♿ 补充 `prefers-reduced-motion` 支持:减少动态效果时关闭平滑滚动与光球 / 指示箭头动画,
|
||
吸附改为即时定位(不再关闭吸附)
|
||
- 🖼️ 首页文章列表继续使用 `content-visibility: auto` 跳过视口外渲染,图片保持懒加载
|
||
|
||
## v1.2.4
|
||
|
||
### 问题修复
|
||
|
||
- 🐛 **彻底修复首页页脚被 Hero 盖住(v1.2.3 的修复不完整)**:仅取消 main 的
|
||
层叠上下文(`z-index: auto`)不足以让固定 Hero 稳定落在页脚之下。现改为
|
||
**双保险**:
|
||
1. `.hero` 由 `z-index: 0` 改为 `z-index: -1`,作为固定全屏背景沉到根层叠
|
||
上下文的负 z 层,绘制在一切正常内容(含页脚)之下——这是固定背景的规范做法;
|
||
2. 保留首页 main `z-index: auto`(仍是必须项:否则 main 若保持 `z-index: 1`
|
||
会成为层叠上下文,把负 z 的 Hero 困在自己内部、整块仍压在页脚之上)。
|
||
页脚因此始终保持无 z-index 的状态,既不会被 Hero 盖住,也不会回退到早期
|
||
「页脚盖住评论区翻页下拉」的问题。经无头浏览器在真实构建产物上验证:
|
||
滚到页底时 `elementFromPoint` 命中 `footer-inner`,页脚完整可见。
|
||
|
||
## v1.2.3
|
||
|
||
### 问题修复
|
||
|
||
- 🐛 **初步修复首页页脚被 Hero 盖住(不完整,已被 v1.2.4 取代)**:取消首页
|
||
main 的层叠上下文(`z-index: auto`)。这一项单独作用时仍不够稳健,
|
||
请直接参考 v1.2.4 的完整修复。
|
||
|
||
## v1.2.2
|
||
|
||
### 问题修复
|
||
|
||
- 🐛 **修复移动端抽屉菜单不显示二级菜单**:子菜单的 `th:block` 写在了 `th:each` 循环外,
|
||
循环变量出了循环即失效,二级菜单从未渲染过;现在子菜单与父项一起循环输出
|
||
- 🐛 **修复页脚遮挡内容弹层**:页脚的 `z-index: 1` 与内容区同级且靠后,
|
||
会盖住评论区翻页下拉等浮层;同时把 `.wi-main` / `.wi-content-wrap` 的
|
||
`overflow-x: hidden` 改为 `clip`,不再产生会纵向裁掉弹层的滚动容器
|
||
- 🐛 **修复深浅色切换不同步**:页脚背景是渐变(`background-image`),
|
||
无法参与过渡动画,切换时页脚瞬变而内容区还在 300ms 渐变;
|
||
改为可过渡的 `background-color` + 遮罩渐隐色层,全站同步过渡
|
||
- 🐛 **修复玻璃卡片悬浮时顶部边框消失**:Chromium 下带 `backdrop-filter` 的元素
|
||
一旦发生位移(悬浮上移),合成层会吃掉顶部 1px 边框。已移除瞬间、友链页、
|
||
友链圈、订阅页卡片的 `backdrop-filter`(卡片背后是纯页面背景,模糊无可见效果),
|
||
并给瞬间卡片悬浮时加描边高亮
|
||
|
||
### 功能与优化
|
||
|
||
- 🎨 **新增瞬间详情页主题化模板**(`moment.html`):覆盖插件默认模板,
|
||
复用瞬间列表页的卡片视觉(头像 + 昵称 + 时间 + 正文 + 九宫格 + 点赞),
|
||
评论区默认展开,附返回列表入口与空态兜底;支持灯箱看图
|
||
- 🎨 **Steam 游戏库页**:统计数据加载失败时不再整块隐藏,改为显示 `-` 并给出
|
||
原因提示(Steam 接口超时 / 游戏库隐私 / 插件配置);「最近游玩」卡片成就进度
|
||
移到右侧并增加奖杯标识
|
||
|
||
## v1.2.1
|
||
|
||
### 问题修复
|
||
|
||
- 🐛 **修复升级后整站没有样式**:Astro 会给 CSS/JS 加内容哈希,升级后旧文件被删除,被缓存的 HTML 仍请求旧文件名,
|
||
Halo 直接抛 `FileNotFoundException` 返回 500,样式全部丢失。主题现在会把各版本的哈希资源一并保留
|
||
(`compat/assets` 在构建时合并进 `templates/assets`,已覆盖 v1.1.7 起的所有版本)
|
||
- 🐛 **避免页面出现 500**:新增构建期静态资源引用校验,模板引用的任一缺失资源都会让构建失败
|
||
- 🐛 **修复鼠标点击效果开启后没有任何作用**:旧实现用 `th:if` 判断开关、且直接读取配置值,
|
||
一旦配置项未随版本写入(或被 Thymeleaf 整体移除属性)就读取为空,脚本直接跳过;
|
||
同时修复了多种特效在插入节点后随即改写 `transform` / `opacity`,导致浏览器把初态与终态合并、
|
||
transition 完全不触发的问题(表现为点了没反应)
|
||
- 🐛 次要修复:点击特效节点统一挂载到 `body` 下的独立图层(`z-index: 12050`),不再被导航栏、页脚遮挡
|
||
|
||
### 其他
|
||
|
||
- 🧰 新增构建脚本:`pnpm snapshot`(历史资源快照)、`pnpm package`(打安装包)、`pnpm smoke`(点击特效冒烟测试)
|
||
|
||
### 补充排查记录:升级后部分页面配色/新样式不生效
|
||
|
||
上线后收到反馈:更换主题配色后,**首页与瞬间页不跟随**,其他页面正常。经排查
|
||
(对比浏览器实际加载的资源、CDP 读取计算样式、比对响应头)确认:
|
||
|
||
- 浏览器拿到的首页/瞬间 HTML 是 **v1.1.11 / v1.1.12 时期**的旧页面(引用旧哈希 CSS、
|
||
`<html>` 上没有 v1.2.0 新增的 `data-palette` 属性)
|
||
- 响应头 `X-Halo-Cache-At` 与 `Cache-Control: max-age=3, s-maxage=120` 表明这些页面
|
||
被 **「页面静态缓存」插件** 缓存,而该插件只随文章变更自动刷新,
|
||
**主题升级 / 主题设置变更不会刷新缓存**
|
||
- 裸 `curl`(无浏览器请求头)会绕过该缓存拿到新 HTML,因此服务端"看起来"一切正常
|
||
|
||
这是缓存层行为、不是主题缺陷,**在 Halo 后台点一次「刷新页面缓存」即可**;
|
||
排查步骤已写入 [FAQ](faq.md#升级主题或修改配色后部分页面的新样式配色不生效)。
|
||
|
||
## v1.2.0
|
||
|
||
### 主题配色系统
|
||
|
||
- ✨ 新增「主题配色」设置(总体样式 → 主题配色),内置 11 套官方预调配色:暖屿·赤陶(默认)、抹茶、黛蓝、樱粉、暮紫、海盐、琥珀、梅酒、石墨、可拿铁、天青
|
||
- 🎨 每套配色包含浅色 / 深色两套完整色板,玻璃拟态、遮罩、阴影色调自动跟随当前配色
|
||
- 🎨 自定义「强调色」改为留空跟随所选配色;填写后仍可单独覆盖
|
||
- 📱 浏览器地址栏 theme-color 随配色与明暗模式联动(含切换按钮)
|
||
|
||
### Hero 首屏
|
||
|
||
- ✨ 一言文字新增独立颜色配置(浅色 / 深色模式各一项,此前只能跟随副标题颜色)
|
||
- ✨ 新增「文字显示效果」设置:阴影 / 光晕 / 半透明遮罩层 / 渐变遮罩 / 容器(半透明边框圆角矩形 + 加大留白)
|
||
- 🐛 默认改为无任何效果:移除标题、副标题与一言自带的白色散光投影
|
||
|
||
### 问题修复
|
||
|
||
- 🐛 修复 /douban 页面 500:适配豆瓣插件 v1.2.6 的 SQLite 数据结构(字段由 `item.spec.*` / `item.faves.*` 扁平化为 `item.*` / `item.faves*`)
|
||
- 🐛 修复友情链接卡片悬浮光圈被裁切的问题(卡片容器不再裁切悬浮阴影与上移位移)
|
||
- 🐛 修复瞬间页面顶图与最新一条瞬间卡片的边框贴合的问题,顶图下方增加间距
|
||
- 🐛 友情链接卡片徽章简化为仅展示站点可达性(绿点 = 可访问,红点 = 异常),不再联合反链检测结果判断
|
||
|
||
### 其他
|
||
|
||
- ⬆️ Halo 版本要求提升至 **2.26+**
|
||
|
||
## v1.1.1
|
||
|
||
### 瞬间页面
|
||
|
||
- 🗑️ 移除时间轴(Timeline)布局,简化为卡片(Cards)和瀑布流(Masonry)两种样式
|
||
- 🎨 卡片样式成为新的默认展示样式,采用一栏式居中布局
|
||
- 🧹 清理时间轴相关的 HTML、CSS 和 JS 代码
|
||
|
||
### 移动端阅读体验优化
|
||
|
||
- 📱 全面增大移动端字体尺寸,提升文章阅读舒适度
|
||
- 📱 优化文章正文行高(1.75 → 1.8),段落间距更宽松
|
||
- 📱 移动端标题字号适配(h2/h3/h4 在 768px 以下适当放大)
|
||
- 📱 优化全局排版变量(text-xs ~ text-5xl 基准值上调)
|
||
- 📱 优化引用块、代码块、表格在移动端的显示
|
||
- 📱 优化文章卡片在移动端的标题和摘要字号
|
||
- 📱 优化瞬间页面卡片在移动端的文字和间距
|
||
|
||
### 导航修复
|
||
|
||
- 🐛 修复导航菜单 target 属性渲染错误,导致部分链接在新标签页打开的问题
|
||
- 🐛 修复 Halo 菜单项 `spec.target` 枚举对象解析为 `target="null"` 的问题
|
||
|
||
### 错误处理增强
|
||
|
||
- 🛡️ 添加全局 unhandledrejection 捕获,抑制浏览器扩展产生的控制台错误
|
||
- 🛡️ 复制链接按钮添加 clipboard API 失败回退逻辑
|
||
- 🛡️ Logo 图片加载失败时自动隐藏并显示站点标题
|
||
|
||
## v1.1.0
|
||
|
||
### 分享功能增强
|
||
|
||
- ✨ 新增 QQ 分享按钮(Font Awesome 图标)
|
||
- ✨ 新增微信扫码分享(二维码弹窗)
|
||
- ✨ 新增分享渠道配置项,可自由选择显示哪些分享按钮
|
||
- 📋 复制链接按钮始终显示,不可关闭
|
||
- 🎨 各分享按钮独立品牌色 hover 效果(QQ 蓝、微信绿、微博红等)
|
||
- 🌐 i18n 国际化支持新增 QQ、微信、微信扫码相关翻译
|
||
|
||
### 移动端优化
|
||
|
||
- 📱 修复文章上下篇导航在移动端分成两行的问题,改为单行省略截断
|
||
- 📱 修复目录悬浮球按钮位置偏上,调整到右下角更合理位置
|
||
- 📱 优化移动端灯箱体验:增大导航按钮触摸区域、小屏隐藏 EXIF 信息
|
||
- 📱 优化移动端分享按钮触摸目标大小
|
||
|
||
### 灯箱优化
|
||
|
||
- 🖼️ 修复关闭画廊后 lg-sub-html 不跟随到底部的问题
|
||
- 🖼️ 修复打开画廊时 lg-sub-html 和 lg-inner 直接跳位而非平滑过渡的问题
|
||
- 🖼️ 优化移动端灯箱导航按钮和缩略图栏布局
|
||
- 🖼️ 小屏幕下隐藏 EXIF 参数信息,简化界面
|
||
|
||
### 分享修复
|
||
|
||
- 🐛 修复微信扫码分享 QR 码生成相对路径而非完整 URL 的问题
|
||
- 🐛 修复复制链接按钮复制相对路径而非完整 URL 的问题
|
||
- 🐛 修复 QQ 分享链接不可用,改为弹窗分享方式并正确编码 URL
|
||
|
||
### 性能优化
|
||
|
||
- ⚡ 添加 content-visibility 优化(首页、文章、归档、瞬间等区域)
|
||
- ⚡ Prism.js 脚本延迟加载
|
||
- ⚡ LightGallery 初始化改用 requestIdleCallback
|
||
- ⚡ 封面图优先加载(loading="eager")
|
||
- ⚡ 正文图片自动添加 lazy loading
|
||
- ⚡ 微信二维码 QR 码库按需加载(仅微信分享启用时加载)
|
||
|
||
### 全局优化
|
||
|
||
- 🎨 添加 theme-color meta 标签,适配移动端浏览器地址栏颜色
|
||
- 🎨 主题切换时动态更新 theme-color
|
||
- 🛡️ 多层 overflow-x: hidden 防止横向滚动条
|
||
- 📱 移动端搜索按钮不再隐藏
|
||
|
||
### 布局修复
|
||
|
||
- 📐 恢复文章详情页为 800px 全宽布局(不使用 wide 模式)
|
||
- 📐 封面图在 800px 容器内显示
|
||
|
||
## v1.0.0
|
||
|
||
首次发布 🎉
|
||
|
||
### 核心功能
|
||
|
||
- 🎨 暖色调设计语言,呼吸动效光球、毛玻璃导航栏
|
||
- 🌙 深色模式支持(跟随系统 / 浅色 / 深色三种方案)
|
||
- 📱 响应式布局,移动端专属菜单与交互体验
|
||
- ✨ 滚动渐入动画、光感跟随效果
|
||
|
||
### SEO 与结构化数据
|
||
|
||
- 🔍 Open Graph 元标签,优化社交媒体分享预览
|
||
- 📋 JSON-LD 结构化数据,提升搜索引擎理解与展示
|
||
|
||
### 国际化
|
||
|
||
- 🌐 i18n 国际化支持(简体中文、繁体中文、英语)
|
||
- 🔄 跟随浏览器语言自动匹配,也可手动指定
|
||
- 🍪 支持通过后台设置强制指定语言,自动管理 language cookie
|
||
|
||
### 文章页增强
|
||
|
||
- 📑 目录展开模式选项(仅展开当前分组 / 全部展开)
|
||
- 📰 相关文章推荐,帮助读者发现更多内容
|
||
- 🔗 分享功能(微博 / X / Facebook / Telegram / 复制链接)
|
||
- 🖼️ 图片懒加载 blur-up 效果,优化加载体验
|
||
|
||
### 页面模板
|
||
|
||
- 🏠 Hero 首屏(一言 API / 自定义描述 / 背景图片)
|
||
- 📝 文章详情页(侧边目录 / 阅读进度条 / 代码高亮 / 图片灯箱 / 点赞)
|
||
- 📂 归档页面(时间线布局)
|
||
- 🏷️ 分类和标签页面
|
||
- 💡 瞬间页面(Timeline / Cards / Masonry 三种样式)
|
||
- 📷 图库页面(Masonry / Grid / Carousel 三种样式)
|
||
- 🔗 友情链接页面(Cards / Grid / List 三种样式)
|
||
- 👥 朋友圈页面
|
||
- 💬 留言板自定义模板
|
||
- 📦 扩展页面支持(豆瓣 / 装备 / Steam)
|
||
|
||
### 导航与交互
|
||
|
||
- 🔍 搜索集成(支持 Ctrl+K 快捷键)
|
||
- 🎯 三种导航栏样式(Glass / Minimal / Float)
|
||
- 🌓 主题切换按钮
|
||
|
||
### 性能与体验
|
||
|
||
- ⚡ preconnect / dns-prefetch 资源提示,优化外部资源加载
|
||
- 🖼️ 图片懒加载 blur-up 渐显效果
|
||
- 🔤 使用系统默认字体栈,提升加载速度
|
||
|
||
### 错误页面
|
||
|
||
- 🐘 404 / 500 错误页增强(导航栏 + 页脚 + 多语言支持)
|
||
|
||
### 配置与自定义
|
||
|
||
- ⚙️ 丰富的主题设置面板(13 个配置分组)
|
||
- 🎨 可自定义强调色、圆角风格、容器宽度
|
||
- 📝 自定义 CSS 支持
|
||
- 🔧 页脚社交链接和自定义 HTML
|