新起点丨开源建站工具Halo发布2.0版本

2024-02-29 11:30

本文主要是介绍新起点丨开源建站工具Halo发布2.0版本,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2022年12月1日,FIT2CLOUD飞致云旗下开源建站项目Halo(github.com/halo-dev)正式发布v2.0版本。这是Halo项目继v1.0版本后的第二个里程碑版本,研发团队采用全新架构进行项目重写,实现了从单用户机制向多用户体系的转变,提供全新设计的插件机制和主题机制,改进了附件管理方式,为用户提供富文本编辑器,同时提供后台全局搜索能力。

Halo是一款好用又强大的开源建站工具,它让你无需太多的技术知识就可以快速搭建一个博客、网站或者内容管理系统。

截至目前(2022年12月1日),Halo已经在Docker Hub获得了超过150万次下载,GitHub Star数突破24k,并拥有一百多名社区贡献者。我们在此对所有参与到Halo产品及社区建设的朋友们表达由衷的感谢。

Halo2.0发布视频

亮点功能

■ 多用户与权限体系

Halo 1.0版本仅支持单管理员机制,这极大限制了Halo的多人使用场景。在Halo 2.0中,我们引入了多用户及RBAC权限体系,支持多用户同时登录管理Halo,并且支持用户权限的细粒度控制,可以为不同的用户分配不同的权限,从而实现不同的用户角色。

在这里插入图片描述

■ 灵活可扩展的插件机制

Halo 2.0带来了全新设计的插件机制,这也是2.0版本底层架构变动的主要原因。在Halo 1.0时,我们因为无法对功能进行拓展,所以随着版本不断迭代会导致系统越来越臃肿。比如我们在1.0集成了市面上常见的云存储方案,但绝大部分用户都不会使用到所有的存储方案,这些功能对于Halo来说就变成了一种负担。在Halo 2.0中,我们将这些功能抽离出来,通过插件的形式进行集成,这样用户可以根据自己的需求自由选择,不再会因为一些不需要的功能而导致系统的臃肿。同时也可以实现不更新整个Halo应用,对插件进行单独更新,降低用户更新使用新功能的代价。

我们为插件机制提供了以下能力:

ꔷ 插件的动态加载、卸载、升级;

ꔷ 自定义模型的接入,方便插件的数据存储;

ꔷ 接入Halo的配置模块,方便插件的配置管理;

ꔷ 以及拓展后端、管理端、主题端的能力。

在这里插入图片描述

从上图可以看到:

ꔷ 我们将评论组件和搜索组件做成了插件,这是为了方便主题直接使用,而不需要主题单独为这两个功能进行开发;

ꔷ 1.0的友情链接管理功能也被抽离出来,成为了一个独立的通用插件;

ꔷ 阿里云OSS的存储策略也使用插件提供,安装了这个插件即可将附件上传至阿里云OSS;

ꔷ Umami插件提供了对Umami的集成,可以在Halo控制台直接查看网站访问情况;

ꔷ Unsplash插件提供了对Unsplash的集成,可以在编写内容的时候从Unsplash选择图片。

相信随着我们对Halo的持续迭代和生态建设的持续投入,Halo的插件生态会越来越丰富。

目前已支持Halo 2.0的插件可以访问https://github.com/halo-sigs/awesome-halo查阅。

■ 全新的主题机制

Halo 2.0在主题机制上,有以下主要改进:

ꔷ 使用Thymeleaf作为默认的模板引擎;

ꔷ 支持主题预览,可以在不启用主题的情况下预览主题效果;

ꔷ 支持多语言;

ꔷ 全新的设置表单定义机制,支持更多的输入选项,支持表单验证和条件判断;

ꔷ 全新设计的主题可视化设置界面,支持预览不同设备的效果,支持保存设置之后实时预览效果。

在这里插入图片描述

■ 全新的默认主题

我们为Halo 2.0提供了全新的默认主题,并命名为Earth,我们计划在未来以太阳系成员的命名方式提供一系列的官方默认主题。
在这里插入图片描述

■ 可扩展的附件管理

在Halo 1.0时,社区用户呼声比较高的需求之一就是改进附件管理方式。在2.0版本,我们全新设计了附件的功能,支持分组管理、存储策略等功能。分组管理功能可以帮助用户更好地组织管理不同使用场景的附件。存储策略功能可以让用户定义多个不同的附件存储位置,同时也可以通过插件来拓展外部云存储,比如上面提到的阿里云OSS。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

此外,选择附件时还可以通过插件支持更多的附件来源,比如上面提到的Unsplash插件,可以做到在编辑内容的时候直接从Unsplash网站选择配图。

在这里插入图片描述

■ 强大的富文本编辑器

在2.0,为了解决Markdown编辑器无法对一些复杂的排版场景进行支持的问题,我们默认提供了富文本编辑器,它能够很好地支持图片插入、表格、任务列表等。不过考虑到部分用户对Markdown有较强的需求,我们将在后续版本中提供对Markdown格式编辑的支持。除此之外,你也可以通过安装插件的方式使用你最喜欢的编辑器。

在这里插入图片描述

■ 便捷的后台全局搜索

我们在后台提供了全局搜索功能,可以快速搜索后台的页面、文章、附件、主题等资源。并且提供了快捷键(Ctrl+K,Mac下为Cmd+K)来快速打开搜索框,提高后台的操作效率。

在这里插入图片描述

■ 支持搜索引擎

在Halo 1.0的时候,我们搜索文章是通过SQL模糊匹配的方式来实现的,这种方式的搜索效率和准确性都不够理想。在2.0中,我们默认使用了Apache Lucene来提供搜索引擎的支持,也为主题端提供了通用的搜索框组件,大大提高了搜索功能的实用性。同样的,搜索引擎我们也支持通过插件来展,比如集成Elasticsearch、MeiliSearch等。

在这里插入图片描述

完整变更日志

关于Halo 2.0的完整特性和变更日志,请访问GitHub Release页面。

https://github.com/halo-dev/halo/releases

接下来

在Halo 2.0正式版发布之后,我们会继续完善Halo的功能和文档,并在每个月按时发布一个功能版本。同时将持续投入对Halo生态的建设,让用户能够更加方便地使用Halo搭建各式各样的网站,构建心中的理想站点。此外,我们也将在不久之后开启应用市场的开发,让用户获取主题、插件更加便捷。同时我们也会不断加大对前沿技术及用户体验的探索,让Halo朝着好用又强大的零代码建站工具的目标持续迈进。

Halo此前的成绩离不开每一位参与者的贡献与支持,踏上这个新的起点,Halo的未来也仍需各位共同努力。

这篇关于新起点丨开源建站工具Halo发布2.0版本的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/758631

相关文章

Java中的工具类命名方法

《Java中的工具类命名方法》:本文主要介绍Java中的工具类究竟如何命名,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Java中的工具类究竟如何命名?先来几个例子几种命名方式的比较到底如何命名 ?总结Java中的工具类究竟如何命名?先来几个例子JD

MySql match against工具详细用法

《MySqlmatchagainst工具详细用法》在MySQL中,MATCH……AGAINST是全文索引(Full-Textindex)的查询语法,它允许你对文本进行高效的全文搜素,支持自然语言搜... 目录一、全文索引的基本概念二、创建全文索引三、自然语言搜索四、布尔搜索五、相关性排序六、全文索引的限制七

基于Java实现回调监听工具类

《基于Java实现回调监听工具类》这篇文章主要为大家详细介绍了如何基于Java实现一个回调监听工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录监听接口类 Listenable实际用法打印结果首先,会用到 函数式接口 Consumer, 通过这个可以解耦回调方法,下面先写一个

使用Python构建一个Hexo博客发布工具

《使用Python构建一个Hexo博客发布工具》虽然Hexo的命令行工具非常强大,但对于日常的博客撰写和发布过程,我总觉得缺少一个直观的图形界面来简化操作,下面我们就来看看如何使用Python构建一个... 目录引言Hexo博客系统简介设计需求技术选择代码实现主框架界面设计核心功能实现1. 发布文章2. 加

售价599元起! 华为路由器X1/Pro发布 配置与区别一览

《售价599元起!华为路由器X1/Pro发布配置与区别一览》华为路由器X1/Pro发布,有朋友留言问华为路由X1和X1Pro怎么选择,关于这个问题,本期图文将对这二款路由器做了期参数对比,大家看... 华为路由 X1 系列已经正式发布并开启预售,将在 4 月 25 日 10:08 正式开售,两款产品分别为华

JS+HTML实现在线图片水印添加工具

《JS+HTML实现在线图片水印添加工具》在社交媒体和内容创作日益频繁的今天,如何保护原创内容、展示品牌身份成了一个不得不面对的问题,本文将实现一个完全基于HTML+CSS构建的现代化图片水印在线工具... 目录概述功能亮点使用方法技术解析延伸思考运行效果项目源码下载总结概述在社交媒体和内容创作日益频繁的

基于Python打造一个全能文本处理工具

《基于Python打造一个全能文本处理工具》:本文主要介绍一个基于Python+Tkinter开发的全功能本地化文本处理工具,它不仅具备基础的格式转换功能,更集成了中文特色处理等实用功能,有需要的... 目录1. 概述:当文本处理遇上python图形界面2. 功能全景图:六大核心模块解析3.运行效果4. 相

springboot项目中常用的工具类和api详解

《springboot项目中常用的工具类和api详解》在SpringBoot项目中,开发者通常会依赖一些工具类和API来简化开发、提高效率,以下是一些常用的工具类及其典型应用场景,涵盖Spring原生... 目录1. Spring Framework 自带工具类(1) StringUtils(2) Coll

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

基于Python实现高效PPT转图片工具

《基于Python实现高效PPT转图片工具》在日常工作中,PPT是我们常用的演示工具,但有时候我们需要将PPT的内容提取为图片格式以便于展示或保存,所以本文将用Python实现PPT转PNG工具,希望... 目录1. 概述2. 功能使用2.1 安装依赖2.2 使用步骤2.3 代码实现2.4 GUI界面3.效