Files
halo-theme-WarmIsland/docs/changelog.md
T

256 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 更新日志
## 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