
























距离我们 2020 年 9 月 24 号发布 1.4.0 已经过去了 545 天了,期间虽然有一些版本更新,但大多数都是 patch 修复版本。终于,在今天正式发布 1.5.0 版本。其中带来了大量的优化更新,下面为大家简单介绍一些亮点功能,详细更新日志可在本文末尾查阅。
在此版本中,新增了 contents 表专门用于存储文章内容。因为在以前的版本中,当站点有大量文章的时候会出现明显拖慢页面渲染速度的情况,这是因为在之前的版本中,查询文章列表会将内容字段也包含在其中,这就会导致数据越多就会越慢。所以在这个版本中,原本的 posts 表就不再包含 originalContent 和 formatContent 字段,在列表查询的时候也不会包含。需要注意的是,如果你是从 1.4 版本升级的话,目前我们是没有自动清空这两个字段的内容的。当然,你可以手动清空,以获得更好的效果。
性能对比:
ab -c 100 -n 10000 http://localhost:8090/1.4.17:

1.5.0:

注意:此测试可能并不是特别严谨,仅供参考。
目前后台已经修改为直接保存编辑器渲染的 html 内容,保证编写时和最终发布结果完全一致。另外,数学公式和 mermaid 图表已经针对此特性做了优化。数学公式仅需在前台引入 katex css 即可。mermaid 图表会被渲染为 svg 并保存,所以无需再引入 mermaid 依赖。
数学公式可以在前台引入:
<link rel="stylesheet" href="https://unpkg.com/katex@0.12.0/dist/katex.min.css" />




目前,我们已经统一使用 @halo-dev/markdown-renderer 进行 Markdown 渲染。
编辑器编辑区域修改为 Codemirror 编辑器,支持 Markdown 语法高亮,浏览文章会更加方便。

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

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

支持更多 Markdown 标记语法。

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

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


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

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

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

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

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

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


评论表单中的邮箱地址不再作为必填项。 halo-dev/halo#1535 @jerry-shao
重构文章表结构。
contents 表存储文章内容,将不再使用 posts 表中的 originalContent 和 formatContent 字段。 halo-dev/halo#1617 @guqingformatContent 已经废弃,将在下一个大版本中移除。后续使用 content 字段代替。 halo-dev/halo#1617 @guqingcontent_patch_logs 表用于存储变更记录。 halo-dev/halo#1617 @guqing后台使用 @halo-dev/admin-api 进行接口请求。 halo-dev/halo-admin#378 @ruibaby @guqing
修改后台页面标题后缀,由 Halo Dashboard 改为 Halo。 halo-dev/halo-admin#426 @ruibaby
默认后台布局改为左侧菜单布局。 halo-dev/halo-admin#441 @ruibaby
重构文章/自定义页面编辑逻辑,改为保存前端渲染内容,放弃后端渲染。 halo-dev/halo-admin#439 halo-dev/halo-admin#440 halo-dev/halo-admin#449 halo-dev/halo#1668 @ruibaby @guqing
Content API 的评论列表接口不再返回 ipAddress 和 email 字段。 halo-dev/halo#1729 @guqing
themeId 获取主题详情和设置的接口。 halo-dev/halo#1660 @guqingalpha 版本,安装主题无法通过版本验证的问题。 halo-dev/halo#1705 @JohnNiangalpha 版本,安装主题无法通过版本验证的问题。 halo-dev/halo#1747 @JohnNianghalo-dev/halo-admin 常规依赖升级。 halo-dev/halo-admin#453 halo-dev/halo-admin#513 @ruibabyhalo-dev/halo-admin 修改用于切换后台样式的 less 依赖 CDN 为 unpkg。此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。