Dream 主题之 Halo 2.0 适配,以及适配前后的一些异同

news/2024/11/17 21:24:54/

经过一段时间的适配,目前 Dream 已经发布了基于 Halo 2.x 的第一个预发版本。目前对主题所有功能都完成了适配,但是由于 Halo 2.x1.x 的一些不同,以及 Thyeleaf 模板引擎与 FreeMaker 模板渲染引擎的一些不同的特性,适配前与适配后在具体功能上还有一些明显的差异。
目前也有一些博主对是否升级 Halo 2.x 持观望态度,本文从 Dream 主题的角度出发,阐述了 Halo 2.3.0 版本与 1.6.1 这两个版本上的一些不同之处。

先放上适配前后的主题截图:

适配前主题截图

适配后主题截图

一、关于主题配置

Halo 2.x 引入了 repeatercode 配置类型,主题配置以及元数据的配置更加的美观优雅,特别表现在侧边栏这一块的配置,不会再像之前那么繁琐。其他的一些列表型的配置项也可以不再用 “|” 做分隔。

这是非常好的一个优化点。

Halo 2.3.0 主题配置界面

二、一些功能的缺失

2.1 RestAPI

很遗憾的一点是,Halo 2.3.0 目前应该是没有 RestAPI 的,这导致一些点赞这类的功能将无法实现,以及 mew-link 这类通过 RestAPI 实现或增强的自定义标签失效。

2.2 相册、日志与友链页面

Halo 2.x 版本计划是不内置这些功能的,希望通过插件进行实现,但目前也是没有相关的插件能够进行实现的,所以这些功能页面目前都是缺失状态。

2.3 友链与最近评论侧边栏

友链侧边栏是因为没有了友链功能而丧失的,最近评论这个侧边栏因为没有找到合适的 Finder API 也是缺失状态,后续可能会随着 Halo 的版本迭代进行侧边栏的补充。

2.4 增强功能

Halo 2.x 不再能支持 Html 文本内容压缩了,还有在主题配置界面注入 Logo 和交流群的功能也不再支持了。

2.4 文艺风模板

还有一个文艺风文章模板,由于目前主题开发文档没有关于文章模板这块相关的说明,所以这块功能目前也没实现。

三、关于插件

我从一个主题开发者的角度考虑,其实我是非常不愿意插件过多地干涉到前端展示过来的,更希望插件专注于后端功能的丰富,主题专注于前端页面的美化。

从开发层面考虑,前端的显示就有些脱离了主题的掌控,一些 JS/CSS 的引入是否会互相影响,以及脚本引入可能会导致 Pjax 的实现受阻等等……从用户角度考虑,不同插件可能都有着自己的风格,他们不一定能够与主题的风格完美结合,例如看板娘的风格,例如搜索插件与评论插件的黑夜模式适配。

3.1 搜索插件

Halo 2.x 搜索功能通过搜索插件实现。

Halo 2.x 搜索插件

3.2 评论插件

Halo 2.x 搜索功能目前也通过内置的评论插件实现,使用不再是主题内置的评论插件,这个对 Dream 来说变化还是比较大的,一些原先 Dream 内置评论插件相关的功能目前已全部移除。

Halo 2.x 评论插件

3.3 看板娘插件

由于 Halo 2.x 目前已有一个看板娘插件,功能配置相比于主题内置的看板娘插件也更为丰富,所以适配后主题移除了内置的看板娘插件,如果需要看板娘需要通过插件引入。

四、功能变化

4.1 代码块

还有关于代码块相关的功能,目前在主题上依旧是支持通过 | 分隔指定代码块名称,但是这也需要编辑器的支持,如果使用的编辑器不能直接使用 MarkDown 文档,那也是没办法实现的。

4.2 首页大图

适配前的首页大图是通过给置顶文章添加轮播元数据配置实现的,将部分文章作为了大图轮播的素材。但是这种方式在 Thymeleaf 模板下不是很好实现,所以改为了通过主题后台配置的方式选择大图轮播内容。


http://www.ppmy.cn/news/40996.html

相关文章

九【springboot】

Springboot一 Spring Boot是什么二 SpringBoot的特点1.独立运行的spring项目三 配置开发环境四 配置开发环境五 创建 Spring Boot 项目1.在 IntelliJ IDEA 欢迎页面左侧选择 Project ,然后在右侧选择 New Project,如下图2.在新建工程界面左侧&#xff0c…

linux crontab 使用conda env 运行 python脚本 不生效 怎么解决

写了一个python脚本,想每天定时运行,但是任务一直没有开始,脚本里的都是绝对路径,命令行是能正常运行的,查阅各种资料一步步排查。 最初的crontab 定时任务命令是: # m h d mon w command 30 9 * * * pyt…

【设计模式之美 设计原则与思想:规范与重构】36 | 实战二(上):程序出错该返回啥?NULL、异常、错误码、空对象?

我们可以把函数的运行结果分为两类。一类是预期的结果,也就是函数在正常情况下输出的结果。一类是非预期的结果,也就是函数在异常(或叫出错)情况下输出的结果。比如,在上一节课中,获取本机名的函数&#xf…

【Golang Mac环境安装教程】

Golang Mac 安装教程 1.使用Homebrew安装 Homebrew是Mac下一个流行的软件包管理器,有良好的国内源支持。以下是使用Homebrew安装Golang的命令: 安装Homebrew /bin/bash -c "$(curl -fsSL https://cdn.jsdelivr.net/gh/ineo6/homebrew-install/i…

C++总结(二)

二叉搜索树(搜索二叉树、二叉排序树) 二叉搜索树又称二叉排序树,它要么是一棵空树,要么是具有以下性质的二叉树: 1.若它的左子树不为空,则左子树上所有节点的值都小于根节点的值 2.若它的右子树不为空,则右子树所有节点的值都大于根节点的值 3.它的左右子树也分别为二叉…

【跟着陈七一起学C语言】今天总结:C语言的输入/输出相关知识

友情链接:专栏地址 知识总结顺序参考C Primer Plus(第六版)和谭浩强老师的C程序设计(第五版)等,内容以书中为标准,同时参考其它各类书籍以及优质文章,以至减少知识点上的错误&#x…

python 变量类型标注

目录 一、概述 1、描述 2、常用的数据类型 3、mypy模块 二、使用 1、基本使用 2、函数参数返回值添加类型标注 1. 指定多个参数的方式 2. Callable 3. Iterator 2、混合类型检查改进 1.联合运算符 3、类型别名更改 一、概述 1、描述 变量类型注解是用来对变量和函…

matplotlib 齐次坐标系 绘制 2D 闪烁斑点

绘制闪烁的斑点群,需要考虑几个群体属性:群体的生成位置 (xylim),斑点数量 (n),斑点的半径均值 (r),斑点的寿命均值 (delta) 而对于每一个斑点,又需要考虑斑点个体属性:出生时间 (start)、出生位…