Halo 博客系统 -0.4.0 发布

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

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 应用程序开发提供集成的框架。

    940 引用 • 1458 回帖 • 159 关注
  • 博客

    记录并分享人生的经历。

    270 引用 • 2386 回帖 • 2 关注

相关帖子

欢迎来到这里!

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

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

    多对多双向,需要一个是 ManyToMany 注解 + 一个 mappedBy。具体看一下 jpa 的说明。应该是你配置的问题,而不是 fetch.LAZY 的问题。而且如果我没记错的话,LAZY 应该是默认的吧

    1 回复
  • 其他回帖
  • lizhongyue248 1

    第一次见用 spring boot 写的博客,自己也常用 spring boot,多多学习,已 star

    内置主题 Material 特别喜欢,页面很友好,特别是 文章的渲染,感觉比起 solo 要好看点,非常喜欢这点,建议文章加个目录,对于长文章阅读会方便很多。

    想问问有没有考虑过和 solo 一样同步社区啥的?

    感觉因为社区的存在,自己写的东西才会被更好的收录和看见而不需要花费太多的时间去做 seo 或者宣传,这点简直大爱 solo。

    1 回复
  • 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 回复
  • wuhongxu

    我并没有指责的意思啦,只是说因为我以前用了很长一段时间这个主题,对这个主题映像很深刻,情不自禁的说了一下,我的错我的错。😂

    1 回复
  • 查看全部回帖

推荐标签 标签

  • 安全

    安全永远都不是一个小问题。

    189 引用 • 813 回帖 • 1 关注
  • MongoDB

    MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是一个基于分布式文件存储的数据库,由 C++ 语言编写。旨在为应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 JSON 的 BSON 格式,因此可以存储比较复杂的数据类型。

    90 引用 • 59 回帖 • 2 关注
  • LaTeX

    LaTeX(音译“拉泰赫”)是一种基于 ΤΕΧ 的排版系统,由美国计算机学家莱斯利·兰伯特(Leslie Lamport)在 20 世纪 80 年代初期开发,利用这种格式,即使使用者没有排版和程序设计的知识也可以充分发挥由 TeX 所提供的强大功能,能在几天,甚至几小时内生成很多具有书籍质量的印刷品。对于生成复杂表格和数学公式,这一点表现得尤为突出。因此它非常适用于生成高印刷质量的科技和数学类文档。

    9 引用 • 32 回帖 • 169 关注
  • jsDelivr

    jsDelivr 是一个开源的 CDN 服务,可为 npm 包、GitHub 仓库提供免费、快速并且可靠的全球 CDN 加速服务。

    5 引用 • 31 回帖 • 42 关注
  • Chrome

    Chrome 又称 Google 浏览器,是一个由谷歌公司开发的网页浏览器。该浏览器是基于其他开源软件所编写,包括 WebKit,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。

    60 引用 • 287 回帖 • 2 关注
  • 程序员

    程序员是从事程序开发、程序维护的专业人员。

    531 引用 • 3528 回帖
  • OkHttp

    OkHttp 是一款 HTTP & HTTP/2 客户端库,专为 Android 和 Java 应用打造。

    16 引用 • 6 回帖 • 54 关注
  • Tomcat

    Tomcat 最早是由 Sun Microsystems 开发的一个 Servlet 容器,在 1999 年被捐献给 ASF(Apache Software Foundation),隶属于 Jakarta 项目,现在已经独立为一个顶级项目。Tomcat 主要实现了 JavaEE 中的 Servlet、JSP 规范,同时也提供 HTTP 服务,是市场上非常流行的 Java Web 容器。

    162 引用 • 529 回帖
  • Flume

    Flume 是一套分布式的、可靠的,可用于有效地收集、聚合和搬运大量日志数据的服务架构。

    9 引用 • 6 回帖 • 592 关注
  • 阿里云

    阿里云是阿里巴巴集团旗下公司,是全球领先的云计算及人工智能科技公司。提供云服务器、云数据库、云安全等云计算服务,以及大数据、人工智能服务、精准定制基于场景的行业解决方案。

    89 引用 • 345 回帖 • 2 关注
  • CloudFoundry

    Cloud Foundry 是 VMware 推出的业界第一个开源 PaaS 云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。

    5 引用 • 18 回帖 • 149 关注
  • golang

    Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。

    491 引用 • 1383 回帖 • 374 关注
  • Android

    Android 是一种以 Linux 为基础的开放源码操作系统,主要使用于便携设备。2005 年由 Google 收购注资,并拉拢多家制造商组成开放手机联盟开发改良,逐渐扩展到到平板电脑及其他领域上。

    333 引用 • 323 回帖 • 70 关注
  • TensorFlow

    TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。

    20 引用 • 19 回帖
  • 服务

    提供一个服务绝不仅仅是简单的把硬件和软件累加在一起,它包括了服务的可靠性、服务的标准化、以及对服务的监控、维护、技术支持等。

    41 引用 • 24 回帖 • 4 关注
  • WebClipper

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

    3 引用 • 9 回帖 • 4 关注
  • Git

    Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

    205 引用 • 357 回帖 • 1 关注
  • 负能量

    上帝为你关上了一扇门,然后就去睡觉了....努力不一定能成功,但不努力一定很轻松 (° ー °〃)

    85 引用 • 1201 回帖 • 455 关注
  • Markdown

    Markdown 是一种轻量级标记语言,用户可使用纯文本编辑器来排版文档,最终通过 Markdown 引擎将文档转换为所需格式(比如 HTML、PDF 等)。

    163 引用 • 1450 回帖 • 1 关注
  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    395 引用 • 3408 回帖
  • 笔记

    好记性不如烂笔头。

    303 引用 • 777 回帖
  • BND

    BND(Baidu Netdisk Downloader)是一款图形界面的百度网盘不限速下载器,支持 Windows、Linux 和 Mac,详细介绍请看这里

    107 引用 • 1281 回帖 • 19 关注
  • 创造

    你创造的作品可能会帮助到很多人,如果是开源项目的话就更赞了!

    172 引用 • 990 回帖
  • Solidity

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

    3 引用 • 18 回帖 • 349 关注
  • SEO

    发布对别人有帮助的原创内容是最好的 SEO 方式。

    35 引用 • 200 回帖 • 24 关注
  • Docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的操作系统上。容器完全使用沙箱机制,几乎没有性能开销,可以很容易地在机器和数据中心中运行。

    476 引用 • 899 回帖
  • BookxNote

    BookxNote 是一款全新的电子书学习工具,助力您的学习与思考,让您的大脑更高效的记忆。

    笔记整理交给我,一心只读圣贤书。

    1 引用 • 1 回帖 • 2 关注