距离我们 2020 年 9 月 24 号发布 1.4.0 已经过去了 545 天了,期间虽然有一些版本更新,但大多数都是 patch 修复版本。终于,在今天正式发布 1.5.0 版本。其中带来了大量的优化更新,下面为大家简单介绍一些亮点功能,详细更新日志可在本文末尾查阅。

版本亮点

文章表拆分

在此版本中,新增了 contents 表专门用于存储文章内容。因为在以前的版本中,当站点有大量文章的时候会出现明显拖慢页面渲染速度的情况,这是因为在之前的版本中,查询文章列表会将内容字段也包含在其中,这就会导致数据越多就会越慢。所以在这个版本中,原本的 posts 表就不再包含 originalContentformatContent 字段,在列表查询的时候也不会包含。需要注意的是,如果你是从 1.4 版本升级的话,目前我们是没有自动清空这两个字段的内容的。当然,你可以手动清空,以获得更好的效果。

性能对比:

  • 版本:1.4.17 vs 1.5.0
  • 测试数据:文章数 1000,每篇 4000 字符。
  • 测试工具:Apache Benchmark
  • 测试平台:MacBook Pro M1 Pro
  • 测试参数:ab -c 100 -n 10000 http://localhost:8090/

1.4.17:

Screen Shot 2022-03-23 at 15.55.46

1.5.0:

Screen Shot 2022-03-23 at 16.03.46

注意:此测试可能并不是特别严谨,仅供参考。

文章保存逻辑修改

目前后台已经修改为直接保存编辑器渲染的 html 内容,保证编写时和最终发布结果完全一致。另外,数学公式和 mermaid 图表已经针对此特性做了优化。数学公式仅需在前台引入 katex css 即可。mermaid 图表会被渲染为 svg 并保存,所以无需再引入 mermaid 依赖。

数学公式可以在前台引入:

<link rel="stylesheet" href="https://unpkg.com/katex@0.12.0/dist/katex.min.css" />

Screen Shot 2022-03-23 at 14.41.51
Screen Shot 2022-03-23 at 14.42.22
Screen Shot 2022-03-23 at 14.44.14
Screen Shot 2022-03-23 at 14.44.24

目前,我们已经统一使用 @halo-dev/markdown-renderer 进行 Markdown 渲染。

编辑器重构

编辑器编辑区域修改为 Codemirror 编辑器,支持 Markdown 语法高亮,浏览文章会更加方便。

Screen Shot 2022-03-23 at 14.53.18

编辑器可以通过快捷键打开图片选择,目前也已经支持多选图片和选择之后直接插入文章。

Screen Shot 2022-03-23 at 14.52.41

预览区域支持代码块高亮。

Screen Shot 2022-03-23 at 14.51.53

支持更多 Markdown 标记语法。

Screen Shot 2022-03-23 at 14.54.15

表格编辑体验优化。众所周知,使用 Markdown 语法编写表格的体验是非常难受的,不仅编写困难,而且格式会非常难以阅读。所以我们使用了一个叫做 mte-kernel 的库来解决这个问题,不仅可以让编辑体验升级,而且会自动格式化表格。

CleanShot 2022-03-23 at 14.54.38

标签支持设置颜色

在这个版本中,我们添加了对标签设置颜色的功能,灵感来自于 GitHub Issues 的标签颜色。这样可以比较直观地区分不同的标签。

Screen Shot 2022-03-23 at 14.13.04
Screen Shot 2022-03-23 at 14.13.17

文章管理重构

重构了批量操作的逻辑,目前已经不需要提前通过文章状态筛选文章之后才能批量选择。可以任意批量选择之后进行文章状态的批量操作。

Screen Shot 2022-03-23 at 14.16.14

文章列表不再展示回收站的文章,改为单独为回收站提供一个入口。

Screen Shot 2022-03-23 at 14.16.00

文章设置弹窗进行了重构,改为更直观地显示方式,并且可以在弹窗中进行上下篇的切换。可以非常快速的预览文章设置并进行对文章设置的修改。

Screen Shot 2022-03-23 at 14.16.39

附件管理重构

目前支持将鼠标放在附件项即可显示勾选图标,不再需要提前进入批量管理功能。

Screen Shot 2022-03-23 at 14.15.17

附件详情也和文章设置一样,修改为弹窗的形式,可以进行上下项的快速切换,方便预览以及进行修改删除等操作。

Screen Shot 2022-03-23 at 14.15.32

主题设置重构

主题设置由原来的全屏抽屉形式改为单独的页面。并优化了布局,不再显示主题缩略图,将更多的空间留给设置表单。同时在界面上也展示了主题的相关信息。

Screen Shot 2022-03-23 at 14.17.16

Screen Shot 2022-03-23 at 14.18.44

版本日志

Breaking changes

Features

Improvements

Bug Fixes

Dependencies


halo-dev/halo@v1.4.17…v1.5.0

相关信息