Halo 博客系统 -0.4.0 发布

本贴最后更新于 1912 天前,其中的信息可能已经时移俗易

Halo 是一款使用 Java 开发的动态博客系统,可以给更多有写博客习惯的同学多一个选择。

直到目前的 0.4 版本,Halo 已经新增了更多特性,比如:

  1. 支持 i18n
  2. 由 editor.md 更换为 simplemde,更简洁好用的 Markdown 编辑器
  3. 支持 Docker Compose 部署,只需十分钟,自动完成 Halo 的运行,Nginx 的转发,以及 SSL 的配置(全自动)
  4. 支持自定义模板,形如:page_xxx.ftl
  5. 支持又拍云 /七牛云存储,以及展示
  6. 支持 Hexo/Jekyll,以及导出 Hexo/Jekyll 格式文档(方便使用 Halo 和弃用 Halo )
  7. 新增 Casper 和 Pinghsu 主题,非常感谢原作者
  8. 支持文章搜索
  9. 大量 bug 修复

主要特性:

  1. 使用 Spring Boot 框架,方便部署和更新,只需要一行命令便可完成安装。
  2. 完备的 Markdown 编辑器以及文章 /页面系统,包含分类 /标签 /预览图等。
  3. 内置图库,需要主题支持。
  4. 完备的附件管理,后续会做云存储(七牛云,又拍云等)
  5. 比较完备的评论系统(邮件提醒,盖楼,表情)。
  6. 完备的模板(主题)系统(目前已有 8 款主题),可以随意切换主题而不需要重启应用,针对主题可以进行单独的设置,后台支持上传新主题,另外,主题开发文档也已经基本完善( https://halo-doc.ryanc.cc/theme )。
  7. 完善的系统设置,包括 seo,文章设置,评论设置,邮箱设置等。

预览图:

Snipaste_2019-01-28_13-25-44.png
Snipaste_2019-01-28_13-27-44.png
Snipaste_2019-01-28_13-26-38.png
Snipaste_2019-01-28_13-27-04.png

开源地址:

Github: https://github.com/ruibaby/halo

Gitee: https://gitee.com/babyrui/halo

欢迎大家 Star,Pr 呀。

  • Halo
    3 引用 • 33 回帖
  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    941 引用 • 1458 回帖 • 155 关注
  • 博客

    记录并分享人生的经历。

    270 引用 • 2386 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • linker

    建议考虑下用 mapdb 作为缓存层,非常快,很方便。

    1 回复
  • 其他回帖
  • someone11732
    作者

    你这种我还是建议用 mybatis 吧 😂,感觉 hibernate 关联查询好复杂

  • 请教楼主一个问题,我现在有两张表 user 和 role 多对多查询,查看你的源代码中 manyToMany 实体类多对多映射的时候使用了 fetch = FetchType.LAZY 懒加载,但是我自己在实际中尝试的时候发现报错 org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role,修改 fetch = FetchType.EAGER 后又报错 org.hibernate.loader.MultipleBagFetchException: cannot simultaneously fetch multiple bags,然后修改 ListSet 后多对多又无限死循环查询,即 user 表里面有 roles 字段,role 表里面有 users 字段,然后两个互相死循环查询直到堆栈溢出。求解为啥楼主的多对多写法就没问题? 现在迫不得已多对多只能写一边,另外一边不能多对多查询,要自己写 sql 查询难受死。。。

    2 回复
  • user 里面

        @ManyToMany
        @JoinTable(name = "sys_user_role",
                joinColumns = {@JoinColumn(name = "user_id", nullable = false)},
                inverseJoinColumns = {@JoinColumn(name = "role_id", nullable = false)})
        private List<SysRole> roles = new ArrayList<>();
    

    role 里面

        @ManyToMany(mappedBy = "roles")
        @JsonIgnore
        private List<SysUser> users = new ArrayList<>();
    

    然后报错就是像上面说的那样的,没办法解决,后面就退而求次改配置文件

    `jpa:`
        properties:
          hibernate:
            enable_lazy_load_no_trans: true
    

    但是这样又会多个 n+1 性能问题,不过只有先暂时用着。。。

    1 回复
  • 查看全部回帖

推荐标签 标签

  • WebClipper

    Web Clipper 是一款浏览器剪藏扩展,它可以帮助你把网页内容剪藏到本地。

    3 引用 • 9 回帖 • 6 关注
  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    536 引用 • 672 回帖
  • Elasticsearch

    Elasticsearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

    116 引用 • 99 回帖 • 267 关注
  • ZooKeeper

    ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现,是 Hadoop 和 HBase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

    59 引用 • 29 回帖 • 17 关注
  • ngrok

    ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。

    7 引用 • 63 回帖 • 599 关注
  • frp

    frp 是一个可用于内网穿透的高性能的反向代理应用,支持 TCP、UDP、 HTTP 和 HTTPS 协议。

    15 引用 • 7 回帖 • 9 关注
  • 深度学习

    深度学习(Deep Learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。

    40 引用 • 40 回帖
  • FreeMarker

    FreeMarker 是一款好用且功能强大的 Java 模版引擎。

    23 引用 • 20 回帖 • 426 关注
  • 大数据

    大数据(big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。

    89 引用 • 113 回帖 • 1 关注
  • Sublime

    Sublime Text 是一款可以用来写代码、写文章的文本编辑器。支持代码高亮、自动完成,还支持通过插件进行扩展。

    10 引用 • 5 回帖
  • Gitea

    Gitea 是一个开源社区驱动的轻量级代码托管解决方案,后端采用 Go 编写,采用 MIT 许可证。

    4 引用 • 16 回帖 • 1 关注
  • 服务器

    服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。

    124 引用 • 580 回帖
  • Typecho

    Typecho 是一款博客程序,它在 GPLv2 许可证下发行,基于 PHP 构建,可以运行在各种平台上,支持多种数据库(MySQL、PostgreSQL、SQLite)。

    12 引用 • 60 回帖 • 470 关注
  • Ant-Design

    Ant Design 是服务于企业级产品的设计体系,基于确定和自然的设计价值观上的模块化解决方案,让设计者和开发者专注于更好的用户体验。

    17 引用 • 23 回帖 • 1 关注
  • ReactiveX

    ReactiveX 是一个专注于异步编程与控制可观察数据(或者事件)流的 API。它组合了观察者模式,迭代器模式和函数式编程的优秀思想。

    1 引用 • 2 回帖 • 126 关注
  • OnlyOffice
    4 引用 • 26 关注
  • Solidity

    Solidity 是一种智能合约高级语言,运行在 [以太坊] 虚拟机(EVM)之上。它的语法接近于 JavaScript,是一种面向对象的语言。

    3 引用 • 18 回帖 • 349 关注
  • CodeMirror
    1 引用 • 2 回帖 • 116 关注
  • 职场

    找到自己的位置,萌新烦恼少。

    126 引用 • 1699 回帖
  • Bug

    Bug 本意是指臭虫、缺陷、损坏、犯贫、窃听器、小虫等。现在人们把在程序中一些缺陷或问题统称为 bug(漏洞)。

    77 引用 • 1741 回帖 • 2 关注
  • 工具

    子曰:“工欲善其事,必先利其器。”

    273 引用 • 679 回帖
  • SMTP

    SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。

    4 引用 • 18 回帖 • 588 关注
  • Oracle

    Oracle(甲骨文)公司,全称甲骨文股份有限公司(甲骨文软件系统有限公司),是全球最大的企业级软件公司,总部位于美国加利福尼亚州的红木滩。1989 年正式进入中国市场。2013 年,甲骨文已超越 IBM,成为继 Microsoft 后全球第二大软件公司。

    103 引用 • 126 回帖 • 448 关注
  • Windows

    Microsoft Windows 是美国微软公司研发的一套操作系统,它问世于 1985 年,起初仅仅是 Microsoft-DOS 模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家户户人们最喜爱的操作系统。

    215 引用 • 462 回帖 • 1 关注
  • 分享

    有什么新发现就分享给大家吧!

    242 引用 • 1746 回帖 • 2 关注
  • NGINX

    NGINX 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 NGINX 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。

    311 引用 • 546 回帖 • 34 关注
  • danl
    63 关注