经过了漫长的准备,终于迎来了 Dream & Halo-Plus 的里程碑性发布!本次要介绍的是 Dream 2.3.0Halo-Plus 1.0.0 两个指定版本的组件,那么 Halo-Plus 是什么呢?

Halo-Plus 是小玖在 Halo 1.6.1 版本之上继续开发的 Halo 博客驱动程序版本,对 Halo 一些功能进行了优化,后续将在这个版本上持续开发,进行小功能迭代和版本问题修复。

一、Dream 2.3.0

Dream 2.3.0 是第一个在 Halo-Plus 上使用的主题版本,同时保留了对 Halo 1.x 的兼容性。

本次主要更新内容:

  • 优化评论区网络延迟时重复点击、重复评论问题。
  • 修改文章引用和版权模块的部分色调为主题色。
  • 修复分类页面标签边距错误、离屏文案特殊字符未转义问题。
  • 修复没有设置目标地址时点击广告页面被刷新问题。

可参见:https://github.com/nineya/halo-theme-dream/compare/2.2.1...2.3.0

二、Halo-Plus 1.0.0

第一个 Halo-Plus 版本,优化了附件分类、加密文章查询功能。

本次主要更新内容:

  • 默认主题改为使用 Dream 主题。
  • 附件支持分组。
  • 文件添加密码与文章隐藏逻辑分离,文章添加密码后也支持在首页列表显示。
  • 修复管理后台在新页面打开菜单项链接错误问题。

可参见:https://github.com/nineya/halo-plus/releases/tag/1.0.0

三、如何使用 Halo-Plus

对于使用过 Halo 的博主,Halo-Plus 只能由 Halo 1.6.1 升级而来,如果不是 1.6.1 版本则需要先升级到 1.6.1,然后再升级为 Halo-Plus。

Halo-Plus 的部署与 Halo 相仿,具体流程如下:

  1. 更换 jar 程序包,如果使用 docker 的用户更换镜像,Halo-Plus 的镜像为 nineya/halo-plus:1.0.0

  2. Halo 默认的用户目录为 .halo,Halo-Plus 默认的用户目录为 .halo-plus,启动服务前需先将 .halo 目录拷贝到 .hao-plus

cp -r ~/.halo ~/.halo-plus
  1. 检查使用的主题的 theme.yml 文件,其中博客系统版本限制(require)修改为 1.0.0
require: 1.0.0

详细流程可参考文档:https://docs.halo-plus.nineya.com

四、迭代计划

在今年,充分了解了 Halo 2.x 的特性之后,猛然发觉 Halo 好像离我期待中的博客系统越来越远了。经过长时间的考虑,最终决定不升级 Halo 2.x,在 1.6.1 上继续开发。

因为时间关系,小玖不会对 Halo-Plus 有太大的迭代,而且本身 Halo 1.6.1 也是一个非常完善的博客系统了。甚至原先并没考虑过开源,只准备自用,后来基于 GPL 3.0 开源协议的要求,开放了源码,也希望对使用 Halo 的博主能有所帮助吧。

五、版本适配

DreamHalo-Plus 会尽量适配 Halo 1.6.1 博客系统,但可能无法做到长久的适配性保证。

Halo 2.0 列表形式的配置方式太好用了,计划后续 Halo-Plus 也去支持这个功能,但这肯定就会影响到主题的适配性。

对于 Dream 主题: 尽量保证适配性,优先迭代不会影响对 Halo 适配性的功能。如果后续不再适配 Halo 1.6.1 了,将发布第三个大版本 3.0

对于 Halo-Plus: 也是尽量保证适配性,优先迭代不会影响 Halo 主题适配性的功能。后续如果无法适配 Halo 的主题,小玖将推出一个主题升级脚本,博主在使用主题前先用脚本一键升级主题,然后再进行安装。(不需要主题原作者进行适配,FreeMarker 渲染引擎不会改变)