Halo 是一款以Java开发的轻量博客系统程序。我们有一些玩转Java的朋友可能会选择使用,对于我们大部分个人建站的朋友可能较多的还是用PHP+MYSQL的比较多。老蒋在前面也有介绍到 "几款值得安装的Halo博客主题推荐" ,如果我们有自己开发或者仿主题移植到Halo,也是可以做的,这里简单的把 Halo主题开发准备和对应目录介绍一下。
第一、搭建博客环境
我们可以在本地或者服务器端搭建Halo安装环境。具体的我们可以参考 "利用宝塔面板Docker快速安装Halo轻量博客程序"。我们也可以在本地部署。
第二、新建主题
我们这里有可以看到主题的目录。
~/halo-dev/templates/themes
我们在该目录下创建自己的目录。
使用我们熟悉的编辑器打开你所新建的主题目录,这里推荐使用 Visual Studio Code,并安装 Freemarker 扩展。
主题目录下必须存在 theme.yaml(主题描述文件),settings.yaml(主题配置文件),如果要开源到 Github 我们建议将仓库名设置为 halo-theme-主题名,并设置仓库的 topic 为 halo 和 halo-theme,这样可以方便使用者搜索。所有模板文件的后缀为 .ftl。主题目录需要以 screenshot.png 命名的预览图片,以供后台展示。
第三、主题的目录文件
这里我们可以参考主推的官方目录,然后对应创建名称。
├── module // 公共模板目录
│ ├── comment.ftl // 比如:评论模板
│ ├── layout.ftl // 比如:布局模板
├── source // 静态资源目录
│ ├── css // 样式目录
│ ├── images // 图片目录
│ ├── js // JS 脚本目录
│ └── plugins // 前端库目录
├── index.ftl // 首页
├── post.ftl // 文章页
├── post_xxx.ftl // 自定义文章模板,如:post_diary.ftl。可在后台发布文章时选择。
├── sheet.ftl // 自定义页面
├── sheet_xxx.ftl // 自定义模板,如:sheet_search.ftl、sheet_author.ftl。可在后台发布页面时选择。
├── archives.ftl // 归档页
├── categories.ftl // 分类目录页
├── category.ftl // 单个分类的所属文章页
├── tags.ftl // 标签页面
├── tag.ftl // 单个标签的所属文章页
├── search.ftl // 搜索结果页
├── links.ftl // 内置页面:友情链接
├── photos.ftl // 内置页面:图库
├── journals.ftl // 内置页面:日志
├── 404.ftl // 404 页
├── 500.ftl // 500 页
├── README.md // README,一般用于主题介绍或说明
├── screenshot.png // 主题预览图
├── settings.yaml // 主题选项配置文件
└── theme.yaml // 主题描述文件
依照此目录,我们可以对主题进行移植的时候对应文件名不能错,这是系统需要识别的。
本文出处:老蒋部落 » Halo Java轻量博客主题开发准备和目录清单(Halo主题开发准备) | 欢迎分享( 公众号:老蒋朋友圈 )