省流

Data_Saver

Halo 的数据文件夹位置在 $HOME/halo2-dev (Linux) %USERPROFILE%/halo2-dev (Windows) 下, 而非 Halo 源码所处位置。

Tip: 本人大部分博客文章都会有省流部分。如果你的时间非常宝贵, 我希望你能尽快找到问题的解决办法。不过如果没有那么着急的话... 也可以来听听我的故事...? 我会很感激的。(>∀<☆)


所以就这样开始了

前两天参加了一下 1Panel App 的评论活动, 捞了一个 Halo Pro。本着不用白不用的心态, 咱还是搭个博客吧 =w=

Halo 现在的生态比较有限, 看了一圈已有的主题, 还是 LIlGGhalo-theme-sakura 颜值比较高 ( 感谢大佬的付出 (>ω<。人) )。

有一些样式的小细节想自己改一改, 就 fork 了一下, 准备本地搭 Halo 开发环境...

搭建 Halo 开发环境

由于当时过于自信, 跳过了 Halo 环境搭建文档的「准备工作」部分。(所以后面就卡了好久... TwT)

按照文档上面的说法, 用 pnpm 启动 UC / Console 前端, 然后再用 IDEA / Gradle 启动主进程。

UC / Console 前端启动的过程都还顺利, 但因为 IDEA Community 不支持 Springboot, 所以我当时打算用 Gradle 直接启动主进程。

执行完 ./gradlew bootRun --args="--spring.profiles.active=dev" 之后, Gradle 的进度最终卡在了这里: (图 2-1-1)

20250325_Halo_Theme_Dev#Halo_Gradle_Launch-kdun.png

△ 图 2-1-1 Gradle 进度卡住

重试了好几次都是这样, 当时也没有意识到问题 ; w ;

其实本来这个时候 Halo 已经启动好了, 从 http://localhost:8090 访问就可以了。没用过 Springboot 导致的。

后来傻傻地用 IDEA Ultimate (还是用 Edu 邮箱申请的...) 启动了主进程。(ノ_<。) 但总之还是跑起来了。

主题文件夹到底在哪?!

Halo 的文档里提到,

Halo 的主题存放于工作目录的 themes 目录下,即 ~/halo2-dev/themes,在该目录下新建一个文件夹,例如 theme-foo。当前一个最小可被系统加载的主题必须在主题根目录下包含 theme.yaml 配置文件。

由于跳过了 系统开发 - 准备工作 那部分, 我当时理所当然地以为 halo2-dev 指的是 Halo clone 下来的源代码目录。于是就在 ~/<...omitted...>/Development/GitHub/Minoricew/halo 下面新建了一个 themes 文件夹, 把主题仓库丢了进去。

但是发现 Halo 没有检测到主题... (如图 3-1-1)

20250325_Halo_Theme_Dev#Halo_Not_Found_New_Local_Theme.png

△ 图 3-1-1 主题去哪了呢...?

后来又尝试了诸如 ~/<...omitted...>/Development/GitHub/Minoricew/halo/application/src/main/resources/themes 之类的离谱位置, 但都没有用...

直到看到 Halo 主进程的控制台日志, 才发现路径真的是 $HOME/halo2-dev ... 太失败了 (×﹏×)

总结

以后看开发文档的时候 还是不要跳读了吧...

Ad astra per aspera