Files
halo-theme-WarmIsland/docs/changelog.md
T
nxxy335 c1b08ad915 docs: 补充「升级后部分页面配色不生效」排查记录
根因为「页面静态缓存」插件只随文章变更刷新缓存,主题升级/设置变更
不会失效,旧 HTML 停留在 v1.1.x(无 data-palette、旧 CSS)。
FAQ 新增专项条目与清缓存步骤;README 安装节加指引;changelog 补记。
2026-09-27 17:49:34 +08:00

207 lines
9.3 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.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