Halo 可能是最好的 Java 博客系统。
🇨🇳简体中文 | 🇺🇸English
简介
Halo [ˈheɪloʊ],意为光环。当然,你也可以当成拼音读(哈喽)。
轻快,简洁,功能强大,使用 Java 开发的博客系统。
QQ 交流群: 162747721 | Telegram 交流群:https://t.me/HaloBlog | Telegram 频道:https://t.me/halo_dev | WeHalo 小程序。
演示站点
前台地址:https://demo.halo.run 后台地址:https://demo.halo.run/admin 用户名:admin,密码:123456
快速开始
Docker 部署:
# 拉取镜像
$ docker pull ruibaby/halo
# 运行
$ docker run -d --name halo -p 8090:8090 -v ~/halo:/root/halo -e DB_USER=root -e DB_PASSWORD=123456 ruibaby/halo
# 注意:DB_USER 和 DB_PASSWORD 务必修改并记下
Docker Compose 部署:
# 下载 Nginx 配置文件模板
$ curl https://raw.githubusercontent.com/jwilder/nginx-proxy/master/nginx.tmpl > /etc/nginx/nginx.tmpl
# 获取 docker-compose.yaml 文件
$ yum install -y wget && wget -O docker-compose.yaml https://git.io/fpS8N
# 修改 docker-compose.yaml
# 1. 修改 VIRTUAL_HOST,LETSENCRYPT_HOST 为自己的域名。
# 2. 修改 LETSENCRYPT_EMAIL 为自己的邮箱。
# 3. 修改 DB_USER 数据库用户名,注意:这是自定义的,请不要使用默认的!下面数据库密码同理。
# 4. 修改 DB_PASSWORD 数据库密码。
# 运行
$ docker-compose up -d
脚本部署(不推荐):
# 安装 Halo
$ yum install -y wget && wget -O halo-cli.sh https://git.io/fxHqp && bash halo-cli.sh -i
# 更新 Halo
$ bash halo-cli.sh -u
注意:如使用 Idea,Eclipse 等IDE运行的话,需要安装Lombok插件,另外暂不支持JDK10,主题管理和主题上传会有问题。 更多请参考 Halo 使用文档 或者 Wiki。
博客示例
主题
除了内置的 Anatole 和 Material ,还有下列主题没有集成在项目里,如有需要,请自行下载之后通过后台上传上去使用。
- Vno - 来自 Jekyll 的一款主题,作者 Wei Wang。
- Hux - 来自 Jekyll 的一款主题,作者 Xuan Huang。
- Story - 来自 Typecho 的一款主题,作者 Trii Hsia。
- NexT - 来自 Hexo 的一款主题,作者 iissnan。
- Casper - 来自 Ghost 的一款主题,作者 Ghost。
- Pinghsu - 来自 Typecho 的一款主题,作者 Chakhsu.Lau。
声明:不接受任何对移植主题功能上的意见和建议。
许可证
Halo 使用 GPL-v3.0 协议开源,请尽量遵守开源协议,即便是在**。
感谢
Halo 的诞生离不开下面这些项目:
- Spring Boot:Spring 的快速开发框架
- Freemarker:模板引擎,使页面静态化
- H2 Database:嵌入式数据库,无需安装
- Spring-data-jpa:不需要写 sql 语句的持久层框架
- Ehcache:缓存框架
- Lombok:让代码更简洁
- oh-my-email:可能是最小的 Java 邮件发送库了,支持抄送、附件、模板等
- Hutool:一个 Java 基础工具类库
- Thumbnailator:缩略图生成库
- AdminLTE:基于 Bootstrap 的后台模板
- Bootstrap:使用最广泛的前端 ui 框架
- Animate:非常好用的 css 动效库
- SimpleMDE - Markdown Editor:简洁,功能够用,且轻量级的 Markdown 编辑器
- Bootstrap-FileInput:基于 Bootstrap 的文件上传组件
- Font-awesome:使用最广泛的字体图标库
- JQuery:使用最广泛的 JavaScript 框架
- Layer:个人认为最实用最好看的弹出层组件,没有之一
- JQuery-Toast:消息提示组件
- Pjax:pushState + ajax = pjax
- OwO:前端表情库
捐赠
如果 Halo 对你有帮助,可以请作者喝杯
☕️ 。
支付宝/微信/QQ |
---|