基于 Solo 的离线多功能版 Bolo 博客,使用 Java 编写,专为程序员设计
菠萝当前版本:v1.1 稳定版
对应 Solo 原版版本号:v3.6.7(即支持 Solo v3.6.7即以下的用户轻松迁移/迁回)
- v1.1 稳定版发布啦!Bolo 稳定版支持 Docker、Tomcat 部署,多种部署方法请看下方的《Bolo 多种安装方法》指引 👇
- v1.1 版本支持邮件提醒评论被回复啦!升级后,在后台配置发信服务器,然后发条评论试试吧~
- 稳定版可持续使用,欢迎你的体验、反馈、PR!
如果你也使用 Bolo 驱动你的博客,欢迎向本 README 提出 Pull Request ~
- 本地登录
- 提供持续的 WAR 包支持,支持 Tomcat 部署,支持 JAR 方式运行
- 和黑客派社区同步文章、评论、个人联系方式、使用社区图床
- 通过黑客派备份博客中的全部文章
- 用户的评论,如果有人回复会通过用户设定的邮箱地址回复(管理员需在后台设置发信邮箱)
- 视频教程,小白轻松部署
- 轻松迁移
- 本地评论功能(无需登录)
- 分类功能优化(解除分类与标签的关联,超级好用)
- 评论频率限制(60秒/2次)
- 自定义主页存档显示数量
- 本地化JS,防止CDN造成的加载失败
- 自定义主页显示存档数量
- 免登录评论
Bolo
是 Solo
的修改版,我们始终支持 B3log 生态,支持与黑客派同步文章、评论、联系方式,使用社区图床。
- 核:基于强大的 Solo 进行修改,解析快、占用资源少
- 根:本地化环境,数据存储于本地服务器。使用本地账号登录 / 评论
- 稳:更适合求稳、专心写文的博主:如非必要,不必升级 Bolo
- 易:轻松在 Solo / Bolo 之间切换
- 能:强化分类功能,每个文章只拥有一个分类,分类功能独立
- 跨:支持 Tomcat / Jetty / Docker 部署 Bolo(原版Solo v3.6.7 及以上已更新至 Latke 框架,不再支持 Tomcat / Jetty)
- 选:Bolo 支持 B3log 体系,可选支持黑客派的 B3log Key 实现图床及社区文章评论、联系方式同步功能
- 随:跟随 原版 Solo 同步更新版本号及功能,同步支持最新版本 Solo / Bolo 之间切换
- 安:完全去除对 GitHub 的支持, Bolo 是完全独立的博客,B3log Key 也仅是调用 API:除你自己,没人能操作你的博客,确保数据的安全
- 兼:版本更新不会去掉已有大功能(例如:本地H2数据库、Servlet框架等),保证对旧版本用户的友好,确保旧版本用户可流畅更新至最新版本
- 听:与官方保持更新的同时,更新人性化、简洁、实用的小功能,感谢你提出各种BUG、建议、意见
- 教:Bolo 将全面更新 Bolo 迁移、新建、管理的教学视频(对小白十分友好)及文档,解决你遇到的绝大部分问题(2020年之前完成)
👷 | 👷 | 👷 |
---|---|---|
@88250 | @csfwff | @InkDP |
Solo 原作者 | Bolo 测试、Logo 绘制、前端技术支持 | 默认皮肤 bolo-nexmoe 原作者 |
- 进入 Bolo 所在目录,备份
WEB-INF/classes/local.properties
和WEB-INF/classes/latke.properties
- 清空目录
- 从上方安装地址下载最新版 Bolo
- 解压至目录
- 将备份的两个文件替换回去
- 完成!
先克隆 Bolo 的源代码:
git clone https://github.com/AdlerED/bolo-solo
再进入到 Bolo 项目的根目录,构建 Docker 镜像:
docker build -t "bolo" .
最后,每次输入下面的命令启动 Bolo:
docker run -it -d -p8080:8080 --env RUNTIME_DB="MYSQL" \
--env JDBC_USERNAME="root" \
--env JDBC_PASSWORD="123456" \
--env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" \
--env JDBC_URL="jdbc:mysql://192.168.2.253:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC" \
--rm \
bolo --listen_port=8080 --server_scheme=http --server_host=192.168.2.253
将 JDBC_USERNAME
修改为你的 MySQL数据库用户名
JDBC_PASSWORD
修改为数据库密码
修改 JDBC_URL
下的 192.168.2.253
为你服务器的域名(如没有域名,填写IP地址)
server_host
也需要改为你的域名(或IP地址)
-p8080:8080
和 --listen_port=8080
为端口参数,把三个8080改为你想设置的端口即可。
记得要先在 MySQL 数据库中创建空的 solo
数据库哦~
如果启动后无法访问,可以去掉命令中的 -d
参数,使 Bolo 在前台运行,这样你就可以看到日志了!
下载最新的 Bolo 压缩包解压,进入解压目录执行:
Windows: java -cp "WEB-INF/lib/*;WEB-INF/classes" org.b3log.solo.Starter
Unix-like: java -cp "WEB-INF/lib/*:WEB-INF/classes" org.b3log.solo.Starter
视频教程公开在云存储
中,请点击这里在线观看。
为防出现意外,请先备份原来的数据库
- 修改 Bolo 的数据库配置文件
local.properties
,使 Bolo 连接至数据库; - 清空(只清空数据,不删除表本身)
b3_solo_user
、b3_solo_category
和b3_solo_category_tag
表; - 执行SQL语句,在用户表中新建一个管理员用户:
INSERT INTO `b3_solo_user` (
`oId`,
`userName`,
`userURL`,
`userRole`,
`userAvatar`,
`userB3Key`,
`userGitHubId`
)
VALUES
(
'default',
'{管理员用户名}',
'{管理员的个人主页网址}',
'adminRole',
'{管理员的头像网址}',
'{管理员密码}',
'none'
);
如果你修改了b3_solo_user
的表名,请记得在 SQL 语句中也加以修改(第一行)。
将 SQL 语句中的{管理员用户名}
、{管理员的个人主页网址}
、{管理员的头像网址}
、{管理员密码}
修改。
启动 Bolo ,迁移完成~
- 清空(只清空数据,不删除表本身)
b3_solo_category
和b3_solo_category_tag
表; - 确定
b3_solo_user
表中的userName
列用户名,和你的 GitHub 账户用户名相同,如果不同,请直接修改; - 启动 Solo;
- 登录,在
管理后台 - 工具 - 用户管理
中,更新管理员账号的B3log Key为黑客派中的B3log Key。 - 大功告成~
如果不会操作,欢迎联系我~(请看我名片中的联系方式)
由于特性原因,Bolo 不支持原版皮肤。但我们会在官方皮肤的基础上修改皮肤,并附带到 Bolo 当中。
预计很快就能移植绝大部分皮肤。
- Bolo 使用 solo-nexmoe 作为默认皮肤。
- Bolo 皮肤已自带,不需要额外下载。
当前支持且已移植并预置的皮肤:
V1.0
及以上版本:solo-nexmoe → bolo-nexmoeV1.1
及以上版本:emiya -> bolo-emiyaV1.1
及以上版本:bubble -> bolo-bubbleV1.1
及以上版本:casper -> bolo-casperV1.1
及以上版本:pinghsu -> bolo-pinghsu
Solo V4 版本将会有很大的变动,其将主要支持静态化页面。
届时 Bolo 不会完全更新 Solo V4 版本的内容,Bolo 会始终保持旧版本 Bolo 用户的平滑更新升级。
Bolo 在 Solo V4 版本之后仍会跟随 Solo 的版本号同步更新,同时引入 Solo V4 的新功能与特性,但为了维持大家的使用习惯,Bolo 的更新内容将不会激进。