|
|
|
@ -4,7 +4,7 @@ description: 主题开发的环境搭建
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
:::info
|
|
|
|
|
Halo 的模板引擎为 Freemarker,建议在开发 Halo 的主题之前,先阅读一遍 Freemarker 的相关文档:<https://freemarker.apache.org>。
|
|
|
|
|
Halo 的模板引擎为 FreeMarker,建议在开发 Halo 的主题之前,先阅读一遍 FreeMarker 的相关文档:<https://freemarker.apache.org>。
|
|
|
|
|
:::
|
|
|
|
|
|
|
|
|
|
## 搭建开发环境
|
|
|
|
@ -13,7 +13,7 @@ Halo 的模板引擎为 Freemarker,建议在开发 Halo 的主题之前,先
|
|
|
|
|
|
|
|
|
|
Halo 的运行可参考上述 [系统开发](/developer-guide/core/prepare),或者直接下载打包好的程序启动,如下步骤:
|
|
|
|
|
|
|
|
|
|
1. 从 [Github release](https://github.com/halo-dev/halo/releases) 或者 [https://dl.halo.run](https://dl.halo.run) 下载最新的运行包。
|
|
|
|
|
1. 从 [GitHub release](https://github.com/halo-dev/halo/releases) 或者 [https://dl.halo.run](https://dl.halo.run) 下载最新的运行包。
|
|
|
|
|
2. 在终端中执行 `java -jar halo.jar --spring.profiles.active=dev`
|
|
|
|
|
|
|
|
|
|
启动完成之后,在电脑的用户目录即可看到 `halo-dev` 文件夹。
|
|
|
|
@ -21,7 +21,7 @@ Halo 的运行可参考上述 [系统开发](/developer-guide/core/prepare),
|
|
|
|
|
## 新建主题
|
|
|
|
|
|
|
|
|
|
1. 在 `~/halo-dev/templates/themes` 下新建一个文件夹,该文件夹就是你所新建的主题目录。
|
|
|
|
|
2. 使用你熟悉的编辑器打开你所新建的主题目录,这里我们推荐使用 [Visual Studio Code](https://code.visualstudio.com),并安装 [Freemarker](https://marketplace.visualstudio.com/items?itemName=dcortes92.FreeMarker) 扩展。
|
|
|
|
|
2. 使用你熟悉的编辑器打开你所新建的主题目录,这里我们推荐使用 [Visual Studio Code](https://code.visualstudio.com),并安装 [FreeMarker](https://marketplace.visualstudio.com/items?itemName=dcortes92.FreeMarker) 扩展。
|
|
|
|
|
|
|
|
|
|
:::info
|
|
|
|
|
我们同样为 Halo 主题开发了一个 `Visual Studio Code` Snippets 扩展,以简化一些操作,但目前处于 beta 状态,有需要的可以试试 [Halo theme develop Snippets](https://marketplace.visualstudio.com/items?itemName=halo-dev.halo-theme-dev-snippets-for-vs-code)。
|
|
|
|
@ -30,7 +30,7 @@ Halo 的运行可参考上述 [系统开发](/developer-guide/core/prepare),
|
|
|
|
|
## 开发约定
|
|
|
|
|
|
|
|
|
|
- 主题目录下必须存在 `theme.yaml(主题描述文件)`,`settings.yaml(主题配置文件)`,相关格式在后面会详细讲解。
|
|
|
|
|
- 如果要开源到 Github 我们建议将仓库名设置为 `halo-theme-主题名`,并设置仓库的 `topic` 为 `halo` 和 `halo-theme`,这样可以方便使用者搜索。
|
|
|
|
|
- 如果要开源到 GitHub 我们建议将仓库名设置为 `halo-theme-主题名`,并设置仓库的 `topic` 为 `halo` 和 `halo-theme`,这样可以方便使用者搜索。
|
|
|
|
|
- 所有模板文件的后缀为 `.ftl`。
|
|
|
|
|
- 主题目录需要以 `screenshot.png` 命名的预览图片,以供后台展示。
|
|
|
|
|
|
|
|
|
|