halo主题开发环境搭建
前言
环境配置, 确实挺简单, 但是长时间不配, 现配确实挺耗时间, 毕竟现在很多开发工具内置自动下载环境, 想当年JDK还要自己手动配环境变量, 在此做个记录
准备工作 | Halo 文档主要是这部分环境的配置
JDK安装
open jdk 要求版本17 去存档的 OpenJDK GA 发行版 (java.net)下载相应的windows版本即可
下载完毕解压
配置环境变量
windows直接搜索环境变量- 系统变量->编辑Path->增加解压目录下的
bin目录, eg.D:\06-Green\gradle-8.6\bin
搜索cmd, 命令行输入java, 显示一堆帮助信息就是配完了
nodejs安装
直接用Releases · coreybutler/nvm-windows (github.com), 专门管理多版本nodejs工具, 可随时切换, 一键安装
安装完后nvm install 指定nodejs版本号
使用nvm use 版本号切换nodejs版本
nvm list查看当前使用的nodejs版本
cmd下输入node判断是否安装成功
pnpm安装
npm install -g pnpm
gradle安装
下载后配置环境变量同jdk安装, path eg.D:\06-Green\gradle-8.6\bin
halo运行
克隆项目, 参考开发环境运行 | Halo 文档
单纯开发主题就没必要用IDEA运行了
直接项目根目录cmd运行gradlew.bat downloadPluginPresets
UI服务也是根目录cmd运行gradlew.bat :ui:dev
数据, 主题, 配置文件目录在C:\Users\用户名\halo2-dev\
然后localhost:8090就可以了
C:\Users\用户名\halo2-dev\themes 下新建主题
后记
主题开发其实很简单就是套数据, halo用的模板引擎是Thymeleaf, 早期记得是用的freemarker, 那个引擎有个缺点不能实时显示
各个语言的模板引擎语法基本都差不了哪去
如果要是移植主题更简单, 别人的样式和JS交互都写好了, 关键是看懂那些JS, CSS, 毕竟现在前端工程化以后出了好多新的花样, 各种新晋的预编译语言, 框架, 包管理工具, 比如sass typescript npm pnpm yarn …, 后端一般看到这些就头疼, js那灵活性, 看别人的代码简直是一种折磨…