Generated from v0.2.1
Generated from v0.2.1
详情请参阅更新日志(在 GitHub 上查看)。
Please refer to Changelog (view on GitHub) for details.
howiehz-higan-zh-hans.zip为简体中文默认安装包,仅包含.br。
howiehz-higan-zh-hans-tiny.zip为简体中文轻量安装包,移除默认字体资源,默认 logo 资源将替换为 1x1 占位图,不包含预压缩文件,且不注入 Mermaid / instant.page 运行时。
howiehz-higan-zh-hans-full-precompressed.zip为简体中文完整预压缩包,包含.gz/.br/.zst。
howiehz-higan-en.zipis the English default package with.bronly.
howiehz-higan-en-tiny.zipis the English tiny package that removes the default font assets, replaces the default logo asset with a 1x1 placeholder image, omits precompressed assets, and excludes Mermaid / instant.page runtime injection.
howiehz-higan-en-full-precompressed.zipis the English full precompressed package with.gz/.br/.zst.
Full Changelog: v1.2.1...v1.3.0
Generated from v1.3.0
haloCommentEnabled)且当前文章已有公开评论;评论插件关闭或没有公开评论时不再调用 commentFinder,也不再渲染空侧栏区块。--halo-cw-* 样式变量桥接到主题强调色与正文色(含深色模式、提交按钮对比色与评论内图片最大宽度),评论区视觉与 Rackora 配色一致。docs/plugin-compatibility.md 补充 Halo / Comment Widget 版本矩阵:主题仍声明 >=2.20.0,Comment Widget 3.4.0+ 需站点先升到 Halo >=2.27.0。安装包:theme-rackora-0.9.9.zip
完整提交对比:v0.9.8...v0.9.9
Generated from v0.9.9
本版本要求 Halo >= 2.26.0。
Full Changelog: v1.9.0...v1.10.0
Generated from v1.10.0
本次 1.1.2 更新统一了主题定位与上架文档,并完成一轮工程质量修复:
Generated from 1.6.17
发布日期:2026-10-28。兼容 Halo >= 2.26.0。
本次未宣称完成原版全部功能同步。故事/技术文章配置、列表筛选排序、专属侧栏等后续差异见 功能对照。
pnpm install --frozen-lockfile、pnpm test、pnpm lint、pnpm build、git diff --check 通过;14 项回归测试通过。可选插件的全部版本组合未逐一回归。iOS/Android 真机触摸与软键盘仍待验收;构建保留大型异步图表分包和 DaisyUI @property 警告。ZIP 安装与兼容版本验证不能替代上述尚未完成的集成验收。
本地验收制品:dist/theme-clarity-1.6.16.zip,SHA-256:7ce94c894deb4ede89f596af903cbfeab068c8605c6b9ff2bb05177d3f39eba8。GitHub 发布流程会从标签重新构建,正式下载制品以 Release 附件为准。
Generated from 1.6.16
需要 Halo 2.27.0 或更高版本。
通过 197 项自动化测试(108 项后端、85 项评论组件、4 项后台 UI)、前后端类型检查与完整 Gradle 构建。在 Halo 2.27.0 中验证了评论及回复提交、片段评论点击展开、公开读者榜、邮箱替换与权限限制,验收数据已清理。
文章片段评论可在“基本设置 → 启用文章片段评论”中关闭。读者榜入口位于默认富文本编辑器的插入菜单,侧边栏组件不会自动改动主题布局。
Full Changelog: 1.0.12...1.0.13
Generated from 1.0.13
本次更新完善多设备推送的故障告警与恢复通知,并完成 Halo 2.27.1 验证。
Generated from 1.0.0-rc2
本次更新带来全新个人资料体系与评论体验:
/rm、/redo,支持 Bot 用户名后缀和命令使用提示,避免将命令文字同步为瞬间。{id} 按内容固定图片。(@LIlGG,#671)layout.html,支持插件页面复用 Sakura 主题布局。(@LIlGG,#676)Full Changelog: v2.5.0...v2.6.0
Generated from v2.6.0
本版本需要 Halo 2.26.0 及以上版本,免费功能需要 Halo 应用市场插件 1.19.0 及以上版本。
第一个版本发布啦 🎉🎉🎉
本次更新聚焦阅读可读性与交互一致性:
| 配置项 | 变更 | 你需要做什么 |
|---|---|---|
| 无刷新加载 | 原「Pjax 加载」开关(true/false)→ 下拉三选一:关闭 / Pjax(旧)/ Swup(推荐) | 到后台重新选一次;旧值会让下拉显示为空(站点仍按 Swup 运行) |
| Service Worker 并发 CDN 源 | 默认值换成 3 个实测更快的源;新增 /npm 路径说明 |
已保存过配置的站点不自动更新,想用新默认值请手动替换或恢复默认 |
| 相关文案 | 「Pjax 配置」→「无刷新加载配置」等 | 仅改名,配置内容不受影响 |
assets/lib 下约 1.7MB 的静态副本,图标与功能表现不变。setSafeSrc is not defined)、页面资源与布局不同步(相册不加载、侧栏不隐藏)。Full Changelog: 1.25.1...1.26.0
Generated from 1.26.0
适用 Halo >=2.26.0。本版完成 Halo 2.27 与新版官方插件适配;商城新版能力按服务端版本启用,可选插件仍遵循各自的最低 Halo 要求。
docs/商城/演示素材/,本地演示商品改用 Halo 附件;测试专用图片放入 scripts/fixtures/images/,不作为正式运行资源。完整构建、契约与运行回归、许可证及安装包内容校验通过。登录验证码浮层和图库评论布局已在桌面、手机验证;本地已知外站图标加载错误保留原始记录。安装包约 983 KB,无 DEMO 原图、开发文档或测试素材。
Generated from v0.9.50
Generated from v1.0.1
首个版本发布啦 🎉🎉🎉
Full Changelog: v1.1.0...v1.2.0
Generated from v1.2.0
ChunkLoadError、GET /plugins/portfolio/assets/ui/chunks/*.js 404plugin.yaml 的最低 Halo 版本提升到 2.27.0 后,前端打包器把资源基础路径切换为 /plugins/portfolio/assets/ui/,但插件 JAR 仍把控制台资源打包在 console/ 目录,导致入口能加载、异步分包全部 404ui/,与 Halo 的资源路由和打包器基础路径保持一致,构建时同时清理遗留的 console/ 目录ui/main.js 存在、console/main.js 不再打包,且基础路径为 /plugins/portfolio/assets/ui/升级后请强制刷新控制台页面(macOS Cmd+Shift+R,Windows/Linux Ctrl+Shift+R),避免浏览器复用旧的控制台模块。
Generated from 1.1.2
本次为维护性发布,功能与 1.1.0 保持一致,仅重新构建并更新版本号,用于重新发布到 Halo 应用商店。
>=2.27.0Generated from 1.1.1
登录工坊的首个版本:无需修改主题,即可定制 Halo 的登录、注册、找回密码和退出界面。表单仍由 Halo 原生认证流程处理,插件只负责外观。
/login、/signup、/logout、密码重置链接和后台登录都在当前页面的弹窗中完成,手机上为底部抽屉。可在「基础设置」中改为独立页面。auth-ui__* 工具,Claude Code、Codex 等 AI 助手可以读取、创建、检查、预览和启用登录设计。1.0.1 文档修订:清理 README 中的本地开发地址与维护者脚本/测试命令,补充通用角色配置说明;功能未变。
🔧 体验增强 + 兼容性维护:适配 Halo 2.27、与 Shiki 折叠共存
localStorage(按页面路径 + 代码块序号),不上传服务端;可在后台「记住代码块展开状态」中关闭@media print 下强制展开所有折叠的代码块与长图并隐藏按钮。此前打印/导出 PDF 只能得到前几行aria-label[!code fold:start] 折叠控件(类名 .fold-tail-control / .fold-start),命中则跳过该代码块,避免出现两套折叠控件;Shiki 已启用但无折叠标记的代码块仍照常自动折叠sticky 的祖先元素 overflow 改为 clip,对 overflow: hidden 视觉等价,但会废掉 overflow: auto / scroll 真实滚动容器的滚动能力,导致正文被裁剪、内容不可达。现已识别真实滚动容器并完全跳过改写1.0.0 首个正式版:首页双栏与滚动探针、文章抽屉、瞬间浮层与前台删除/引用转发、安静的评论区、写作页打字机模式、暖墨光标、暗色夜读纸面,以及完整的主题设置与响应式适配。
refactor(layout): 将主题布局抽取至 modules/layout 并保留原引用兼容
本版本为安全整改版本,建议所有使用者升级。
console.gallery.halo.run 接口组承载管理类接口,与该组相关的
/sources、/diagnose、/sync、/push-to-photos、/photos 不再向访客放行。
api.gallery.halo.run 现在只剩 /items 与 /random 两个只读接口。
/diagnose 触发服务端对外请求并读到图源地址与错误信息。/diagnose 不再返回响应正文(bodyHead)与调用堆栈(stackTop),
bodyLength 与 looksLikeJson 这类结论性字段。http/https 协议,
gallery.html 放在源码根目录,static/ 与 ui/ 均为空目录,打成 JAR 后不存在。
src/main/resources/static/,并补充 extensions/reverseProxy.yaml
/plugins/api-gallery/assets/static/gallery.html。/sources,来源筛选改为从已加载数据推导,访客可直接访问。LICENSE 文件并打入 JAR,plugin.yaml 增加 repo 与 issues 字段。/sources、/diagnose 等接口路径已迁移到新的管理组,若你在脚本中调用过这些地址,
api.gallery.halo.run 换成 console.gallery.halo.run。公开接口不受影响。/console/photos 里的记录只增不减(此前会随每轮采样持续膨胀)。想让图片更新更明显,可把「最多累积」调小。每轮同步会换进「采样次数」张新图:
| 最多累积 | 采样次数 | 效果 |
|---|---|---|
| 60 | 30 | 每轮替换约一半,变化明显 |
| 200 | 30 | 每轮替换约 15%,变化较慢 |
https://t.paiii.cn/api/random?format=json)。/sources 与 /diagnose 新增 intervalMinutes(当前实际生效周期)、
nextSyncAt(下次同步时间)、secondsUntilNextSync(距下次同步秒数)、lastSync、errors,
首个版本。
{items:[...]} / 单个对象三种响应结构Photo 记录,不占本地存储/items、/sources、/random、/sync、/push-to-photos、/photosfrontend/gallery.html(瀑布流 + 懒加载 + 灯箱 + 按源筛选)participateUsers 时前台概览页渲染失败的问题。>=2.26.0升级后请重载插件,并重新访问之前无法打开的主体页面。如果页面仍使用旧模板缓存,请重载当前主题并清理主题模板缓存。
Generated from v1.1.1
本次重构了前台UI并为主题开发者提供模版片段。
templates/layout.html 注入自己的页头、页脚和页面布局。packages/issue-static 接入 Gradle 构建,启动、重载和打包时自动构建并打入插件 JAR。static/webAssets。generateApiClient 重新生成 API 客户端和 TypeScript 类型。升级插件后建议:
templates/layout.html,同时重载主题并清理主题模板缓存。Generated from 1.0.0
第一个版本
Full Changelog: v1.7.1...v1.7.2
Generated from v1.7.2
th:block,确保 Thymeleaf 按正确顺序求值。main.js 完成滚动显现初始化后添加 reveal-ready;脚本未加载或未执行时,.reveal 内容保持可见。--title 变量,字重 400 → 450。#e2e2e2 → #d0d0d0,暗底上不再刺眼。localStorage.night 的 true/false,脏值回退默认主题;背景图加载前用主题底色兜底,不再闪白。Full Changelog: 1.25.0...1.25.1
Generated from 1.25.1
安装后访问 /music,并在 Halo 控制台的菜单里新增自定义链接 /music。无需新建页面或修改主题文件。
播放由平台版权、地区、登录和订阅状态决定,不解锁受限歌曲。
本版本需要 Halo 2.27.0 或更高版本,请先升级 Halo 再安装插件。
Failed to fetch 的问题。旧徽章若仍保存为 Iconify 图标名称,可在后台重新选择图标并保存,将图标内容存入配置。默认图标已随插件内置。
本次通过 148 项自动化测试,并在 Halo 2.27.0 中验证了真实 AI 连续生成、评论及回复提交。
Full Changelog: 1.0.11...1.0.12
Generated from 1.0.12
safebox-share.html 覆盖,解锁页继续支持主题模板覆盖。private, no-store,解锁页与分享页设置 no-store 与 no-referrer。GET、HEAD 读取和下载,修改类请求仍需密码解锁及站点自身权限。完整变更:1.0.0...1.1.0
Generated from 1.1.0
Generated from 1.1.0
.column-main:点链接只换正文,导航栏、banner、侧栏、页脚、head 保持首屏节点,音乐播放器、特效、访问统计不再被重建。<script src>、内联 <style>/<script> 都能随页面生效;外链按文档顺序串行执行,内联即时执行。preload,下载与内容替换并行;初始化分级,不依赖脚本的(目录、图片预览、导航高亮)先跑,不让正文等网络。const 重复声明#424242 → #1f1f1f、标题 #333 → #1a1a1a;辅助文字(#888、#9a9a9a 等)整体加深,白底上不再发虚。#ccc → #d6d6d6、标题 #d0d0d0 → #e2e2e2;辅助文字整体提亮,暗底阅读不刺眼。300 → 400,自定义字体下不再显得细弱。Full Changelog: 1.24.2...1.25.0
Generated from 1.25.0
为文章生成封面图,支持 AI 图像生成与提示词优化、可视化封面设计、随机图库和文章首图。
Halo 2.27 本地构建、Java 与前端共 23 项测试通过;现有 Chrome 会话验证 AI 图像实际生成、模型选择、随机图片、首图提取、自定义封面与上传预览。提示词优化已覆盖自动化成功与失败用例,当前演示环境未配置文本模型。
Generated from v1.2.0
Full Changelog: v1.0.0...v1.1.0
Generated from v1.1.0
Full Changelog: v1.2.0...v1.3.0
Generated from v1.3.0
要求 Halo >= 2.22.0。
要求 Halo >= 2.22.0。
Full Changelog: v3.0.6...v3.0.7
Generated from v3.0.7


Issue #8 反馈:希望前台能有一个控制台入口(参考 Earth 主题),并且能在主题设置里控制是否放开该入口——避免向前台访客暴露后台地址。
| 位置 | 表现 |
|---|---|
| 导航栏右侧 | 新增控制台图标按钮 .console-btn,与搜索按钮同规格:38×38 圆形毛玻璃、16px 线性图标、hover 时主题绿描边 |
| 页脚联系方式行 | 新增「控制台」胶囊按钮 |
| 主题设置 → 基础 | 新增「显示控制台入口」开关(默认开启)与「控制台路径」文本(默认 /console) |
两处入口共用同一个开关,关闭后同时消失,不留残影。console_path 可自定义,适配修改过后台路径的站点。
settings.yaml:基础组新增 show_console(checkbox,value true)与 console_path(text,value /console)。templates/modules/header.html:在 nav-right 区域、search-btn 之后插入控制台按钮。判定条件为 theme.config.basic?.show_console == null or theme.config.basic?.show_console——未配置时按开启处理,老站点从 1.2.0 升级后无需手动保存设置即可看到入口。templates/modules/footer.html:联系方式行末尾追加控制台胶囊,判定条件同上。templates/assets/css/style.css:
.search-btn 选择器扩展为 .search-btn, .console-btn,共用圆角、玻璃底与 focus-visible 描边;@media (max-width:640px):隐藏导航栏控制台按钮(页脚入口保留);@media (max-width:480px)(新增断点):收紧导航间距与内边距、天气图标 30→28px、.logo 改为可收缩、站点名过长以省略号截断。窄屏溢出(本轮发现并修复):控制台按钮加入导航栏右侧后,390px 视口下 .nav 实际宽度 417px > 视口 390px,汉堡按钮被切掉;414px 溢出 4px。根因是 .nav-right 为 flex:0 0 auto 不参与收缩,右侧元素总宽超出可用空间。
.logo 可收缩,站点名过长时省略号截断。顺带修掉 320px 的既有横向溢出(与本次改动无关,关掉控制台按钮同样溢出):根因是 .logo 为 flex:0 0 auto 不参与收缩、站点名过长不换行。修复后 320px 下 logo 由 197px 收窄至 138px。
安全兜底:开关缺省为「开启」而非「关闭」——Issue 诉求是「增加入口」,装上即用;不想要的站长一键关掉即可。未登录访问 /console 由 Halo 自身 302 到 /login,主题不接管认证逻辑。
环境:Halo 2.26.1(JDK 21),H2 本地实例,--server.port=8090。发版前用正式包 theme-luye-1.3.0.zip 重新升级复验。
POST /apis/api.console.halo.run/v1alpha1/themes/theme-luye/upgrade → 200;主题列表确认 theme-luye 1.3.0 / READY / LayoutTemplateSupported。theme.yaml version=1.3.0、requires=2.26.0;settings.yaml 含 show_console / console_path;header.html 含 console-btn 与 /console 兜底;footer.html 含控制台胶囊;style.css 含 .console-btn 样式、≤640 隐藏规则、≤480 断点、省略号截断;README 含 1.3.0 条目与设置表条目——16 项全部通过。GET /apis/api.console.halo.run/v1alpha1/themes/theme-luye/setting 确认 basic 组含 show_console | checkbox | 显示控制台入口 | true 与 console_path | text | 控制台路径 | /console;升级后 ConfigMap 自动合并默认值。<a class="console-btn" href="/console" aria-label="控制台" title="控制台">,页脚出现「控制台」胶囊。show_console=false → 导航栏与页脚两处同时消失。console_path=/my-console → 两处 href 同步变更。show_console / console_path(模拟 1.2.0 存量)→ 入口仍按开启渲染,href 回落 /console。.console-btn 均为 display:flex、38×38、border-radius:9999px、图标 16×16。boundingRect):
nav.scrollWidth === nav.clientWidth 且 documentElement.scrollWidth === clientWidth——全部无横向滚动条;开关 ON / OFF 两态各验一遍,结论一致。GET /console → 302 /login?authentication_required。后台 → 外观 → 主题 →「绿野 Luye」→ 升级 → 上传 theme-luye-1.3.0.zip。
若你不想向前台暴露后台地址,在主题设置「基础」中关闭「显示控制台入口」即可,导航栏与页脚会同时隐藏。
本次更新以 pjax 稳定性为主,同时新增 Halo 页面布局契约支持。
升级前必读
新增
~{layout :: html(head, content)}),自动隐藏左右侧栏、正文占满;移动端侧栏 widget 仍进导航抽屉.column-main 自上而下揭示并淡入(0.34s)修复
DreamConfig / video 重复声明)导致整页强制重载mew-music 多次进入后播放器样式失效(head 被整块替换后样式缺失)优化
window.onresize / onmousemove 等独占属性,避免顶掉第三方回调Full Changelog: 1.23.4...1.24.2
Generated from 1.24.2
本次更新以 pjax 稳定性为主,同时新增 Halo 页面布局契约支持。
升级前必读
新增
~{layout :: html(head, content)}),自动隐藏左右侧栏、正文占满;移动端侧栏 widget 仍进导航抽屉.column-main 自上而下揭示并淡入(0.34s)修复
DreamConfig / video 重复声明)导致整页强制重载mew-music 多次进入后播放器样式失效(head 被整块替换后样式缺失)优化
window.onresize / onmousemove 等独占属性,避免顶掉第三方回调Full Changelog: 1.23.4...1.24.1
Generated from 1.24.1
本次更新以 pjax 稳定性为主,同时新增 Halo 页面布局契约支持。
升级前必读
新增
~{layout :: html(head, content)}),自动隐藏左右侧栏、正文占满;移动端侧栏 widget 仍进导航抽屉.column-main 自上而下揭示并淡入(0.34s)修复
DreamConfig / video 重复声明)导致整页强制重载优化
Full Changelog: 1.23.4...1.24.0
Generated from 1.24.0
升级到此版本后,需要在主题设置中重新配置友情链接。
Generated from 4.0.7
AI 页面工坊首个正式版本:用自然语言为 Halo 创建页面,结合当前主题风格和站点内容,完成编辑、预览与发布。
需要 Halo 2.26.0 或更高版本,且仅超级管理员可用。AI 生成和导入安全审查需要 AI Foundation 1.1.1 或更高版本;外部 Agent 接入需要 MCP Server 1.3.0 或更高版本。
本次更新适配 Halo 2.27:审核更完整、私密内容有标注、通知点进去直达那一条讨论。
#halo-comment=…),点击直达那条评论或回复的位置——楼中楼里的每一条都有自己的入口。requires 保持 2.26.0 不变,老版本站点不受影响。{#…} 的问题,避免正文出现编码后的锚点字符串;不删除原 Markdown 或代码中的同类文字。plugin-my-docs-1.7.6.jar,在 Halo Console 插件页升级。{#…} 标记不会自动改写:升级后重新导入对应文章到同一库即可更新。重新导入会覆盖文档正文中的手动修改,请先备份需要保留的编辑。Generated from v1.7.6
完整更新记录:https://github.com/xianyuwu/halo-plugin-ai-suite/releases/tag/v0.4.4
在线文档:https://ai-suite-docs.rainwu.cn/
灵构 UI 1.0.3 新增第三方集成能力:其他 Halo 插件和主题可以在自己的表单中选择灵构作品,保存项目 ID,再在页面中展示最新保存版本。
linguiProjectSelect,支持关键词搜索、分类过滤、分页、清空和预览,可用于插件与主题设置。LinguiProjectSelect 和 LinguiProjectRender,方便其他插件在 Halo 页面中接入作品。plugin-lingui-1.0.3.jar 安装或升级。第三方插件与主题集成文档 · 使用文档 · 问题反馈
Generated from v1.0.3
反馈:BBS · 互动增强
Generated from v1.0.1
此前主题所有页面共用同一个 <title>(站点标题),既没有 canonical 也没有社交分享标签。对搜索引擎来说首页、文章页、分类页无法区分;文章分享到社交平台时也只有纯文本,没有卡片预览。
| 能力 | 说明 |
|---|---|
| 独立页面标题 | 首页用站点标题 + 副标题;文章、独立页、分类、标签、作者页各用自己的名称 |
| 分页标题 | 自动追加「第 N 页」,canonical 保留当前页而非一律指向首页 |
| 规范链接 | 每页输出绝对地址的 <link rel="canonical"> |
| Open Graph | og:type / og:site_name / og:title / og:url / og:description / og:image;文章页额外输出 article:published_time 与 article:modified_time |
| Twitter Card | 有封面时 summary_large_image,无封面时 summary |
| 结构化数据 | 文章页输出 BlogPosting JSON-LD(headline、url、description、image、datePublished、dateModified、author) |
| 个人主页入口 | 主题设置新增「基础 → 个人主页链接」,填写后在导航栏与页脚显示入口 |
两个 SEO 开关位于主题设置 → SEO:
两个开关默认开启,且不影响页面标题——标题始终输出。站点 description、文章摘要、分类与标签描述仍由 Halo 侧维护,主题不重复注入同名标签。
error.html 移入 templates/error/ 子目录,对齐 Halo 错误页的模板查找路径。alt(取文章标题)与 decoding="async" / fetchpriority="high",改善可访问性与首屏加载。active 状态误加到指向外部域名的链接上。在 Halo 2.26.0 上用正式发布包完成验证,主题显示 1.2.0 / READY,布局契约 LayoutTemplateSupported 正常。
11 条路径的 SEO 标签逐项核对全部通过:每页恰好一个 <title>、一个绝对地址 canonical、无重复 description;OG 与 Twitter Card 完整;文章 JSON-LD 可被正常解析,@type=BlogPosting,headline 与作者与正文一致;有封面时 twitter:card 为 summary_large_image,无封面为 summary。
| 页面 | 标题 | canonical | og:type |
|---|---|---|---|
| 首页 | 站点标题(+ 副标题) | / |
website |
| 首页第 2 页 | …- 第 2 页 | /page/2 |
website |
| 归档 | 文章归档 - … | /archives |
website |
| 归档分页 | 文章归档 - 第 2 页 - … | /archives/page/2 |
website |
| 文章详情 | 文章标题 - … | /archives/{slug} |
article |
| 分类 / 标签 | 分类名 - … | /categories/{slug} |
website |
| 作者页 | 作者名 - … | /authors/{name} |
profile |
| 404 | 资源不存在 - … | 不输出 | — |
两处风险点已专项验证:
error.html 移入子目录后 404 页是否仍正常 —— 正常渲染,<title> 正确、robots noindex 生效、样式无破损(附无头浏览器截图核验)。已用 1.1.2 的包回滚做对照,确认某些请求返回 JSON 是Halo 的既有行为,与本次改动无关。nextUrl 为空时路径拼接是否报错 —— 实测末页渲染正常,canonical 正确回退到 /archives,无异常。视觉回归:首页与 404 页截图均无异常。静态校验:两个 YAML 文件解析通过,17 个模板标签闭合检查全部通过。
theme-luye-1.2.0.zip原有主题设置保存在 ConfigMap 中,升级不会丢失。升级后建议强制刷新浏览器(Ctrl/Cmd + F5)清除缓存的 HTML/CSS。
若你已安装 SEO 插件,请到主题设置 → SEO 关闭对应开关,避免与插件重复输出相同标签。
Halo >= 2.26.0,与前序版本一致。本次无破坏性变更。
本次正式版将 AI 模型切换迁移到工作台,统一单方案与多方案的需求输入,并修复工作台布局和服务商错误提示。
plugin-lingui-1.0.2.jar 安装或升级。Generated from v1.0.2
本次预发布将 AI 模型切换迁移到工作台,统一单方案与多方案的需求输入,并修复工作台布局和服务商错误提示。
plugin-lingui-1.0.2-rc4.jar 安装或升级。Generated from v1.0.2-rc4
安装并启用 highlight.js 代码高亮 或 Shiki 代码高亮 插件后,代码块的插件配色不生效:代码块背景与文字被压成主题的深绿/浅绿,语法着色几乎看不出来。
.post-content code
background:rgba(125,217,166,0.10); color:#A9E8C6——插件注入的 hljs 类代码块同样命中这条规则,插件的整套文字配色被主题绿覆盖。.post-content pre 设置了 background:#0A1712,插件代码块的背景同样被盖住。| 位置 | 修复前 | 修复后 |
|---|---|---|
| 行内/块级代码配色 | .post-content code 无条件上色 |
.post-content code:not(.hljs),绿色仅作未高亮内容的兜底 |
| 代码块容器背景 | .post-content pre 无条件深绿底 |
新增 .post-content pre:has(>code.hljs){background:none},已高亮的代码块让出背景 |
| 块内代码文字色 | .post-content pre code 无条件上色 |
.post-content pre code:not(.hljs),插件已接管时完全不干预 |
| 页面配色声明 | 无 | <html data-color-scheme="dark">,供 Shiki 等插件识别深色外观 |
code.hljs 的背景与文字色完全由插件主题接管,主题不再干预;语法着色正常显示。已在 Halo 2.26.0 本机实例上用正式发布包完成验证:
主题升级返回 200,已装版本显示 1.1.2 / READY,布局契约 LayoutTemplateSupported 正常。
Halo 实际提供的 style.css(非仅开发态)确认包含全部三条修复规则。
无头浏览器读取计算样式:
| 元素 | 1.1.1(修复前) | 1.1.2(修复后) |
|---|---|---|
pre:has(code.hljs) 背景 |
rgb(10,23,18)(被主题覆盖) |
rgba(0,0,0,0)(让出给插件) |
code.hljs 背景 |
rgba(0,0,0,0) |
取插件配色 |
code.hljs 文字色 |
rgb(199,227,210)(主题绿) |
取插件配色 |
未高亮 pre 背景 |
rgb(10,23,18) |
rgb(10,23,18)(兜底不变) |
对照实验直接证明:同一段 HTML 加载两个版本的 CSS,1.1.2 确实把配色让给了插件,而未高亮代码块的主题绿兜底不受影响。
document.documentElement 的 data-color-scheme 读取为 dark。
全路径扫描全部正常:首页、分页、归档、分类、标签、文章详情(含代码块验证页)、作者页均返回 200,404 页返回 404。
Halo >= 2.26.0,与前序版本一致。CSS 使用了 :has() 选择器,现代浏览器均已支持(Halo 后台与主流现代浏览器环境无兼容问题)。
theme-luye-1.1.2.zip若升级后代码块仍显示旧样式,请强制刷新浏览器(Ctrl/Cmd + F5)清除缓存的 CSS。
完整发布说明与 SHA-256 校验值见 GitHub Release。
pnpm lint、pnpm typecheck、pnpm build,安装包结构及关键资源校验通过。Generated from v1.0.2
| 类型 | 内容 |
|---|---|
| 🎨 样式 | 主题色系重构:单一色源 + color-mix 派生,全站强调色统一由「主题色」派生 |
| 🐛 修复 | 修改主题色后派生色(hover / light / bg / border)残留旧青绿、各页调色板不跟随的问题 |
| 🔧 调整 | 收敛各页面重复的青绿调色板,统一指向全局色变量 |
| ♻️ 重构 | main.css 只保留公共样式,页面专属样式拆分为独立 CSS 文件(新增 5 个页面 CSS) |
| ✨ 新功能 | 新增 Live2D 看板娘 TIPS 适配(适配 plugin-live2d,随主题静态资源发布) |
| ✨ 新功能 | 「基础设置」新增「隐藏 Live2D 看板娘」开关,可全站隐藏看板娘 |
color-mix 派生(src/css/main.css · src/fragments/head.html)原派生色(--color-primary-hover/-light/-bg/-border)为硬编码青绿,改主题色后不跟随、残留旧色;各页还各自维护一套重复的青绿调色板。现改为:
color-mix(in srgb, var(--color-primary, 兜底) …%) 实时派生,后台一改主题色即自动扩散到 hover / 浅底 / 边框 / 发光。fragments/head.html 在 :root 内以 !important 注入 --color-primary,明暗双模均由同一基色驱动;[data-theme="dark"] 仅调整派生方向(向白偏)。docs.css · doc.css · photos.css · moments.css · links.css · login.css)各页面原先各自维护一套重复的青绿调色板,现统一指向全局色变量(--color-primary 系列);登录页 --c-* 系列改用 color-mix 从 --c-primary 派生,网关各页注入 --c-primary,色系保持一致。
src/css/*)原先 main.css 混杂了各页面专属样式,体积臃肿、复用边界不清。现按「公共 / 页面专属」切分:
main.css 仅保留公共样式:CSS 变量、Reset、背景、Container、Header、Layout Grid、Card、文章列表、标签徽章、按钮、侧边栏小组件、分页、页脚、Utility、.page-hero、.image-viewer、公共响应式。index.css(首页精选/轮播)、post.css(文章详情/目录/阅读进度)、archives.css(归档时间线)、taxonomy.css(分类/标签页 + TOPIC HERO)、feeds.css(RSS 资讯三栏布局)。<head> 的 head 插槽内引入自己的页面 CSS,与公共 main.css 一并加载。.content-area、.sidebar、.sidebar[data-sticky])归位 main.css。Hero 多段渐变兜底、页脚 6 色统计图标组、个人中心下拉紫 / 绿项、docs.css 功能徽标色与 .alert-success 等语义色,属刻意设计的多色美术,未纳入变量收敛。
public/assets/live2d/tips.json · settings.yaml · src/fragments/head.html)新增静态文件 assets/live2d/tips.json,用于适配第三方插件 plugin-live2d:看板娘渲染时自动读取当前主题的该文件,鼠标悬停 / 点击主题元素(logo、导航、搜索框、文章卡片、标签、侧边栏、分页、文章工具条等)即弹出主题文案(9 组悬停 + 9 组点击)。主题提供的 TIPS 只生效 mouseover / click;未安装该插件时无任何影响;不改模板、不动 CSS。
同时在「基础设置」新增「隐藏 Live2D 看板娘」开关(hide_live2d):开启后 head.html 输出 live2d-context { display: none !important; } 隐藏样式,全站隐藏看板娘及其切换按钮;布尔条件以 ?: false 兜底,插件停用或未安装时该开关无任何副作用。
使用 v1.0.10 的站点建议升级到本版本。需要 Halo 2.26.0 或更高版本。
Full Changelog: 1.0.10...1.0.11
Generated from 1.0.11
/ 时触发主题全局搜索的问题,保留编辑器自身的 / 命令。#22 #25Full Changelog: 1.0.9...1.0.10
Generated from 1.0.10
本版本将外部 AI 接入迁移到 Halo 官方 MCP Server,移除灵构自建 MCP 服务及专用密钥管理。这是破坏性升级,旧 MCP 地址与密钥不再生效,需要重新配置外部 AI 客户端。
/mcp 地址和官方 Bearer 访问密钥,在 Halo「工具 → MCP 服务」逐项授权工具。app-gwmrhmax,发布 GitHub Release 时自动构建并同步版本。>=1.3.0 & <2.0.0。plugin-lingui__get_guidance(topic="skill") 读取创作 Skill。plugin-lingui-1.0.1.jar,或通过 Halo 应用市场升级。Generated from v1.0.1
灵构 UI 首个正式版本:通过 AI 对话与可视化搭建,像积木一样组合交互组件,再将作品放进 Halo 文章、侧边栏、页脚或主题模板。
plugin-lingui-1.0.0.jar,在 Halo 后台安装并启用。HALO 2 博客主题
一款专为 Halo 打造的 Fuwari 风格增强型主题
欢迎使用 Ethereal 主题 v2.0.1。本次更新主要完善 Halo 生态兼容性,补齐页脚注入、插件配色与自定义路由支持,并带来通用错误页与 SEO 设置;同时优化首屏加载与卡片悬浮效果,修复分类导航滑块、打赏页深色模式等问题。
请注意,本次更新将「认证」分组更名为「杂项设置」,原「登录界面」设置不会自动迁移,升级后需重新确认,详见 设置项迁移
主题使用中遇到问题或者建议,欢迎在 Issue 中提交,也可前往 主题交流群 进行讨论
新增 插件配色支持,插件前台组件可跟随主题明暗切换
修复 页脚注入不生效:补齐页脚扩展点,后台「代码注入 → 页脚」与页脚类插件恢复工作
修复 插件前台页标题重复输出的问题
新增 通用错误页:其他错误状态统一显示状态码、提示与返回首页按钮
修复 后台自定义路由前缀下归档 / 分类 / 标签链接失效的问题
新增 「杂项设置 → SEO 设置」,可统一开关 canonical 与社交分享标签
修复 文章页、独立页面与六个自定义页缺失 canonical 的问题
修复 首页描述与系统 SEO 描述重复的问题
修复 站点图标重复输出的问题,改由 Halo 统一注入
优化 页面内联脚本体积,首页由 135KB 降至 72KB
优化 卡片封面加载,按屏幕选择 400 / 800 两档,1x 屏幕约省一半流量
优化 备案图标体积,由 19.3KB 降至 1.1KB
优化 归档页分类数据查询,减少服务端开销
修复 封面图片带查询参数时压缩失效的问题
优化 卡片悬浮效果:深色模式提亮更柔和,技能 / 日程日历 / 关于页卡片统一底色,过渡统一为 300ms
修复 打赏页收款卡在深色模式下的显示问题
优化 高亮宽度的动画,避免抖动;系统减少动效时直接落位
修复 滑块在点击与滚动时左右抽搐的问题
修复 自定义路由前缀下分类导航高亮消失的问题
从 2.0.0 升级到 2.0.1 后,以下设置需重新确认。
全仓按 prettier 规范化格式,精简注释与文档;构建链加入类型检查
依赖升级:Astro 7.3.8、Svelte 5.57.2、Prettier 3.9.10 等
依赖安全:锁定 brace-expansion、source-map-js、postcss-selector-parser 修复版
更新 README
版本号提升至 v2.0.1
<halo:footer />,页脚注入类插件无法生效(v1.0.0 起遗留)Full Changelog: v2.0.0...v2.0.1
Generated from v2.0.1
修复制卡签发页面的地址串用问题:先选定一张卡片的地址后,再确认其他卡片打包,曾可能覆盖后者地址并使通知邮件发往错误邮箱。本版本让打包保留当前卡片原有地址和邮箱。
验证:后端 230 项、前端 28 项测试与类型检查通过,完整构建及本地 Halo 2.23.2 热重载通过。
升级说明:本版本阻止新的地址串用,不会自动修复已有异常绑定或补发历史邮件。已有记录需依据申请和审计逐条核对后修正。
Generated from v2.3.35
这一版把几处和 X 官网不一致的界面细节全部对齐了 —— 所有数值都是对 X 官网实测反推出来的,不是拍脑袋调的。
布局
左栏导航行高 46px → 58px
之前导航项上下各 10px 内边距,和 X 比显得紧。X 实测是「图标 26 + 上下 16 ≈ 58px」,现在一致了,导航区更舒展。
宽屏右栏 350px → 400px
X 在宽屏(≥1300px)下用 275 / 600 / 400 的三栏分配(常规宽度才是 350),右栏内容列实际 326px。这一版在 ≥1300px 时整体对齐:右栏 400、内容列 326、容器同步加宽到 1315(仍是居中 + 左右各 20 留白)。1265–1300 之间维持原来的 350 规格,折叠断点行为完全不变。
视觉
右栏卡片改为 X 风格
卡片从「灰底无边框」(旧版 X 的样式)换成 与页面同底 + 1px 细边框 —— 这是 X 现在所有卡片的统一画法,Lights out / Dim / Light 三档配色下都更贴近。
发帖框图标:蓝 → 灰
发帖输入框下那排小图标(图片 / 话题 / 日历)原来常亮蓝色,X 上默认是灰的。现在默认灰、悬停才亮蓝(带淡蓝圆底)。
「更多」图标:三点 → 圆环三点
左栏导航的「更多」图标原来和帖子菜单一样是裸三点,X 的导航「更多」是圆环内含三点。现在换上了新图标(帖子卡片和菜单里的「···」保持原样,和 X 一致)。
交互
顶栏操作区右对齐
首页顶栏的「登录 / 注册」(以及登录后的账号头像)原来紧跟在「主页」标题右边,现在推到顶栏最右侧 —— 和 X 的顶栏布局一致,也顺带修复了详情页顶栏「返回 + 标题 + 账号」挤在一起的问题。
安装
下载 halo-theme-x-1.12.12.zip → Halo 后台 外观 → 主题 → 安装主题。要求 Halo >= 2.26.0。
本主题的绝大部分代码由 WorkBuddy(模型 DeepSeek V4.1 Flash) 生成,人工负责提出需求、审阅与验收。
Full Changelog: v1.1.1...v1.2.0
Generated from v1.2.0
th:with 定义的变量,而 Thymeleaf 会先执行 th:if 再执行 th:with,判断时变量尚未定义;变量定义已移到外层元素,构建检查会拦截同类写法。<body> 上,而主题在 <html> 上派生强调色,页面始终显示默认绿色;现在浅色模式直接使用所选颜色,深色模式自动提高亮度。以前改过强调色的站点,升级后会按当时所选的颜色显示。store.halo.run/app-id),便于 Console 识别已安装的 Rackora 并提示应用市场中的更新。安装包:theme-rackora-0.9.8.zip
完整提交对比:v0.9.7...v0.9.8
Generated from v0.9.8
这是继 v1.0.0 后的正式发布,包含 v1.1.0 阶段新增的可选 Halo MCP Server 集成,以及自动化操作的重试、并发编辑和操作前检查改进。现提供 43 个基础工具 + 2 个默认关闭的敏感工具,覆盖软件、版本、下载源、分类、标签和专题;未安装 MCP Server 时插件仍可独立运行。相对于 v1.1.0 阶段新增 9 个查询工具,已有工具名称和必填参数保持兼容。
六类创建工具均接受可选 requestId(UUID)。同一资源类型下,相同 ID 和相同输入只尝试创建一次;换用不同输入会返回 IDEMPOTENCY_CONFLICT。
OPERATION_IN_PROGRESS。get_create_operation,查询 pending/writing/succeeded/failed/unknown 状态。回执只保存输入摘要、目标名称和操作状态,不保存输入正文或敏感值。当前不自动清理回执;管理员清理记录或回退数据库会改变防重复保障。无法确认结果的请求保留 unknown,不自动重建。
普通读取增加 editRevision。普通更新及发布时,除 expectedVersion 外传入 expectedEditRevision,即可在业务内容未变的情况下接受统计或元数据造成的版本变化。
实际落库仍发生版本冲突时,最多重新读取并重试两次。每次重试重新检查业务内容和引用,不覆盖其他人的业务修改。
只传 expectedVersion 时继续严格校验。敏感配置更新和删除仍使用严格版本,不能使用该宽容机制。敏感值不参与普通业务摘要;普通更新保留最新敏感配置。editRevision 表示当前内容,不是修改历史序号。
新增 check_app_publication、check_topic_publication 及六类 check_*_deletion。
allowed 表示当前领域规则是否允许操作;ready 还要求没有准备度警告。预检查是当前快照,不锁定资源,也不改变原有发布规则。它不验证远程文件能否下载或登录、验证码流程能否成功;实际执行仍重新校验。
plugin-software-1.2.0.jar。requestId,重试复用同一 ID 和输入;编辑读取最新详情并携带 expectedEditRevision。新增参数均为可选。旧客户端继续可用,但不会自动获得创建去重或容忍统计变更的能力。重放创建返回的是原回执,后续编辑前需要重新读取资源。
从 v1.0.0 升级前,需先将 Halo 升级至 2.26.0 或更高版本(v1.0.0 的最低要求为 2.25.0)。源码构建使用 Java 21。当前编译使用 MCP API 1.3.0,保留 1.0.0 调用契约,可选插件依赖仍为 MCP Server >=1.0.0 & <2.0.0;不嵌入 MCP API/SDK。基础工具不依赖 AI Foundation;AI Foundation 编译 API 为 1.1.1,可选依赖范围保持 >=1.0.0-SNAPSHOT & <2.0.0。
新增内部 Extension operations.software.jiewen.run/v1alpha1/SoftwareCreateOperation 及两项引用索引,既有六类业务 GVK、Console API 和业务数据结构保持兼容。内部请求记录未向普通软件角色或匿名用户开放原始资源权限。
完整参数、工具目录和失败处理见 MCP 接入文档。1.1.0 设计背景见 原实现方案。
app-todmqfve;本次不自动同步 README。验证日期:2026-10-16。使用独立 Halo 2.26.0 容器、文件型 H2 数据库、官方 MCP Server 1.0.0,通过 /mcp Streamable HTTP 联调。
| 检查 | 结果 |
|---|---|
| 完整 Gradle 构建 | 通过,生成 1.2.0 安装包 |
| Java 单元与契约测试 | 193 项通过,无失败或跳过(含提交前审查新增的 4 项) |
| 前端测试 | 14 个文件、55 项通过 |
| 前端类型检查与 lint | 通过 |
| 真实 MCP 联调 | 全部 45 个工具调用成功,61 项检查通过 |
| JAR 内容 | 含 Console JS/CSS、新服务及内部模型;无 MCP API/SDK 类 |
真实联调覆盖六类创建/查询/编辑/删除、同一请求重放和不同输入拒绝、四个并发请求只创建一条资源、保存资源后恢复回执、插件重载和整站进程重启后的去重、删除资源后不再重建、不确定结果不重建、业务版本与统计版本冲突、发布准备及引用影响、敏感配置脱敏、密钥白名单、匿名访问拒绝,以及 MCP 停用和恢复。
单元测试另覆盖回执存储失败、取消与超时恢复、业务并发竞争、有限重试、敏感字段不进入摘要、检查数量上限及全部工具输出 Schema。联调修复了 Halo 将存储重名异常转换为 HTTP 400 异常的兼容问题:重试先读取并核验已存在请求,不依赖异常消息文字。
提交前对抗审查修复了两项边界问题:引用校验不再接受已标记删除但尚未清理的软件、分类或 Secret 等资源;专题发布预检查遇到旧数据中的空条目时返回隐藏条目警告,避免 Reactor 拒绝空元素而中断检查。4 项回归用例先复现失败,修复后通过;上述真实 MCP 联调记录来自修补前,本轮修补通过完整本地构建和回归验证,未重复执行整套真实 MCP 联调。
依赖更新后,Gradle 9.8.1 完整构建、193 项 Java 测试、55 项前端测试、lint 和类型检查再次通过。保持新 API 编译结果不变,仅将测试运行时替换为 AI Foundation API 1.0.1 / MCP API 1.0.0 后,193 项 Java 测试再次通过;安装包保留 Console JS/CSS,不包含可选插件 API 或 MCP SDK。此阶段未重复执行真实 Halo 安装、升级、编辑器 UI 和 MCP 联调。
本次未进行 PostgreSQL/MySQL 联调、生产数据压力测试、全部 MCP 1.x 版本测试或特定 AI 客户端的界面验收。跨资源工作流、批量导入和 AI 异步作业仍不在本版本范围内。
正式版本号为 1.2.0,Git 标签为 v1.2.0,安装包为 plugin-software-1.2.0.jar。发布安装包不会自动升级已安装插件的站点;站点升级需在 Halo Console 中执行。
Generated from v1.2.0
为 Halo 提供个人日记功能。日记默认写给自己,想分享的再单独分享。
/diary 都能写;日期可以补写,一天可以写多篇,标题、心情、天气都可以留空FOR MYSELF),访客只看已分享的(SHARED PAGES)<head> 的插件可以生效下载 plugin-warm-diary-1.0.0.jar,在 Halo 后台 → 插件 → 安装 → 上传并启用。
/diary 写日记;日期可以补写,一天可以写多篇,标题、心情、天气都可以留空/diary 等路径需留给插件使用反馈:BBS · 暖阳日记
Generated from v1.3.0
仿 X 开屏加载页(1.12.9)
打开任何页面时,先显示一整屏居中的站点标识(背景跟随当前配色),页面就绪后快速淡出 —— 就是 X App 启动画面那个感觉。
标识不写死:自动跟随「账号信息与标识」里的设置 —— X Logo / 自定义图片 / 文字 + 副标题
脚本正常时:页面就绪 150ms 后主动淡出并移除
脚本不可用时:CSS 动画 3 秒兜底,任何情况下不会把访客堵在开屏页
系统开了「减弱动效」:直接跳过开屏
开屏显示时机可选(1.12.10)
上一版加了仿 X 的开屏加载页,这一版把「什么时候显示」也做成了设置 —— 主题设置 → 布局 → 开屏显示时机:
选项 行为
仅首次访问(默认) 每个浏览器会话只在打开站点时显示一次;站内跳转、刷新都不再出现
每次加载都显示 每打开一个页面都显示(上一版的行为)
「仅首次」在 里就做完了判断(body 里的开屏元素还没解析就已经决定去留),跳过时零闪烁;浏览器存储不可用时静默退化为每次都显示,不影响进入页面。
设置结构重排(1.12.11)
设置页从 6 组整理为 8 组,每组各管一摊,找东西不用再翻长列表:
组 管什么
外观配色 配色、字号、圆角
账号信息与标识 logo、头像、资料、封面与认证
布局 栏位显示、右栏卡片、开屏
内容展示(新) 统计数、封面、时间线形态、阅读时长、加入日期
功能开关 点赞、评论、搜索、趋势、编辑资料
瞬间(新) 投稿入口、站内发布、评论组设置
导航自定义 导航项、菜单、自定义条目
地址与登录入口 登录注册入口与各页面地址
原来的「内容与交互」一坨 15 项(点赞、封面、瞬间、通知全混在一起),现在按职责拆成了三组。
升级注意
设置项的分组名是配置的存储键。这次挪过组的 12 项都做了过渡回退——升级后在你保存设置之前,行为和旧版完全一致,不用急着重新配置。
但在后台保存过一次设置之后,如果你以前改过这 12 项里的某几项(主要是:时间线形态、瞬间投稿相关、首页发帖入口、导航里的瞬间 / 通知开关),建议顺眼核对一下,个别项会以默认值显示。
安装
下载 halo-theme-x-1.12.11.zip → Halo 后台 外观 → 主题 → 安装主题。要求 Halo >= 2.26.0。
本主题的绝大部分代码由 WorkBuddy(模型 DeepSeek V4.1 Flash) 生成,人工负责提出需求、审阅与验收。
右栏可以自己加卡片了;顺带修掉两个「会跟着帖子滚走」的栏。
新增:右栏自定义卡片
主题设置 → 布局 → 右栏自定义卡片,卡片式条目,可自由增删、拖动排序,想加几张加几张。显示在右侧栏账号卡片的下方。
每张卡片三样东西:
字段 说明
标题 留空则没有标题行
内容 多行文本,换行按原样显示
链接 可留空;链接文字不填时显示「了解更多」,外链自动新窗口打开
标题、内容、链接全空的条目不会渲染 —— 所以升级之后右栏外观不会有任何变化,想用了随时加。
卡片外壳复用现有的卡片体系,和账号卡片、「正在发生」摆在一起观感一致。
修复:两处「跟着帖子滚」的横栏
① 右栏(桌面端第三栏)会跟着帖子流一起滚走,滚两屏右边就空了。
根因:.x-app 是 align-items: flex-start 的 flex 容器,右栏外壳 .x-rail__inner 只有内容那么高 → 里面 sticky 的包含块跟着变矮 —— 粘了,但一滚就到底。修法是给外壳补 align-self: stretch,让它撑到与主栏等高。
② 作者页「帖子」tab 栏也会跟着滚。主页、瞬间页的 tabs 都长在顶栏内部、跟随整体固定,唯独作者页这条独立在资料区之外,压根没做吸顶。现在它粘在顶栏下沿(与归档页的年份标题同一套路),滚过资料区后就一直可见。
这次怎么验证的
先在线上站点「注入修复样式」做 A/B,滚动到多个位置对比坐标;再用改后的真实 CSS 替换线上样式、逐页滚动核对:右栏恒 0 不动,作者页 tab 栏滚到 54px 后停住,左栏 / 顶栏 / 归档年份栏不受影响。
新增的卡片功能走真实 Thymeleaf 渲染测试(弹层工程在 .probe/tplcheck):全空条目过滤、链接文字回退、多行换行都验证过,最后把渲染结果注入线上右栏截图确认了视觉。
顺带查清了一个一直没坐实的技术点:Halo 的 theme.config 实际是 JsonNode,但 Halo 给模板求值注册了 JsonPropertyAccessor,所以设置项用 item.field 这种点号写法是官方支持的 —— 自定义导航、账号菜单一直就这么工作的。
安装
下载 halo-theme-x-1.12.8.zip → Halo 后台 外观 → 主题 → 安装主题。要求 Halo >= 2.26.0。
本主题的绝大部分代码由 WorkBuddy(模型 DeepSeek V4.1 Flash) 生成,人工负责提出需求、审阅与验收。
此版本要求 Halo ≥ 2.27.0。
zh-CN。en-US。


Generated from v1.2.0
此版本要求 Halo 2.27.0 或更高版本。
--halo-cw-primary-contrast-color,支持自定义主色按钮的文字颜色 by @SinonJZH in #257--halo-cw-content-img-max-width,支持限制评论内容中的图片宽度 by @ruibaby in #259Full Changelog: v3.3.2...v3.4.0
Generated from v3.4.0
