Halo 主题开发
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_005ed4ba/halo-theme-dev。
技能介绍
要解决什么问题
Halo 用 Spring Boot + WebFlux + Thymeleaf 渲染前台页面;主题本质是模板目录 + theme.yaml(及可选的 settings.yaml)。版本迭代里 API、VO 字段名、模板变量 会变,单靠训练数据写 Finder 调用或读变量,很容易对不上当前版本。
技能如何组织内容
- 开发流程:在 Halo 工作目录
themes/下建与metadata.name同名的主题包 → 写配置 → 在templates/写模板 → 控制台安装激活;开发期可关 Thymeleaf 缓存(如SPRING_THYMELEAF_CACHE=false)。 - 起步模板:
assets/theme-minimal/(无构建链、8 个模板文件)适合快速原型;assets/theme-vite/集成 vite-plugin-halo-theme,适合新主题(布局片段、CSS 工具链)。 - Thymeleaf 速查:技能内附核心语法要点,并指向官方教程全文链接。
- References 索引:按场景拆文档——结构与配置、Vite 插件、模板路由与变量、全局变量(
site/theme/theme.config)、各类 Finder API、静态资源引用、自定义标签、i18n、官方插件、注解字段、打包 CLI、Halo 侧 Thymeleaf 实践等;写模板或查数据前先对表读对应 reference。
边界与注意点
Important(技能原文强调):访问模板变量或调用 Finder 前,务必先查 References 中的在线文档,不要凭记忆猜字段名或方法签名。纯 HTML 主题与 Vite 主题在资源引用、include/slot 语法上路径不同,选 starter 后应跟对应 reference(如vite-plugin.mdvsstatic-resources.md)。
使用场景
- 自托管 Halo 站点需要换皮,要在 `themes/` 下新建主题并写齐 `theme.yaml` 与 `templates/` 八类页面路由
- 选用 `theme-vite` 起步包,要配置 vite-plugin-halo-theme、布局 fragment 与 Tailwind 等 CSS 工具链
- 在文章列表/详情模板里用 postFinder、categoryFinder 拉数据,升级 Halo 后字段对不上,需对照 references 里的 Finder 与变量文档
- 主题要支持中英切换或控制台可配项,需按 references 写 settings.yaml、`.properties` 与模板里的 `#messages` / `#locale`
适合人员
- 维护公司内网 Halo 博客、要把默认主题改成品牌版式与自定义菜单的前端工程师
- 接外包 Halo 主题单、希望用 Vite 模板而非纯 HTML 静态引用的独立主题作者
- Halo 小版本升级后主题报错,需要按官方 reference 核对 VO 字段与 Finder 方法签名的站点运维
- 要把主题打成 ZIP 上架或分发,需用 `@halo-dev/theme-package-cli` 和规范目录结构的发布维护者