Skip to content

🍍 专为程序员设计的Bolo菠萝博客-基于Solo | 🐧 视频教程,小白轻松部署 | 📝 离线博客, 本地登录 | ✏️ 免登录评论 | 📦 WAR包、Tomcat部署支持 | 📧 通知邮件提醒 | ✅ 同步原版更新 | 🔖 分类功能独立,解除与标签功能关联 | 🔧 独立权限控制,支持单独设置编辑器图床、文章评论同步到社区,不影响离线功能 | 🚚 轻松迁移 至Bolo / 迁回Solo | 👷 当前版本:bolo v1.1 稳定版 | ⏯ 视频教程请看 https://ftp.stackoverflow.wiki

License

Notifications You must be signed in to change notification settings

imiaoyu/bolo-solo

 
 

Repository files navigation

Bolo

基于 Solo 的离线多功能版 Bolo 博客,使用 Java 编写,专为程序员设计




公告

🎉 菠萝版本信息

菠萝当前版本:v1.1 稳定版
对应 Solo 原版版本号:v3.6.7(即支持 Solo v3.6.7即以下的用户轻松迁移/迁回)

当前版本注意事项:

  • v1.1 稳定版发布啦!Bolo 稳定版支持 Docker、Tomcat 部署,多种部署方法请看下方的《Bolo 多种安装方法》指引 👇
  • v1.1 版本支持邮件提醒评论被回复啦!升级后,在后台配置发信服务器,然后发条评论试试吧~
  • 稳定版可持续使用,欢迎你的体验、反馈、PR!

Bolo 预览图

点我查看 Bolo 预览图

使用 Bolo 驱动的博客

如果你也使用 Bolo 驱动你的博客,欢迎向本 README 提出 Pull Request ~

Bolo 的功能亮点

  • 本地登录
  • 提供持续的 WAR 包支持,支持 Tomcat 部署,支持 JAR 方式运行
  • 和黑客派社区同步文章、评论、个人联系方式、使用社区图床
  • 通过黑客派备份博客中的全部文章
  • 用户的评论,如果有人回复会通过用户设定的邮箱地址回复(管理员需在后台设置发信邮箱)
  • 视频教程,小白轻松部署

针对 Solo 博客的改进和优化

  • 轻松迁移
  • 本地评论功能(无需登录)
  • 分类功能优化(解除分类与标签的关联,超级好用)
  • 评论频率限制(60秒/2次)
  • 自定义主页存档显示数量
  • 本地化JS,防止CDN造成的加载失败
  • 自定义主页显示存档数量
  • 免登录评论

声明

BoloSolo 的修改版,我们始终支持 B3log 生态,支持与黑客派同步文章、评论、联系方式,使用社区图床。

为什么选择 Bolo

  • 核:基于强大的 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 多种安装方法

使用 Tomcat 安装 Bolo(推荐)

全新安装

点我!查看安装教程并下载最新版菠萝博客

Tomcat 轻松更新 Bolo

  1. 进入 Bolo 所在目录,备份 WEB-INF/classes/local.propertiesWEB-INF/classes/latke.properties
  2. 清空目录
  3. 从上方安装地址下载最新版 Bolo
  4. 解压至目录
  5. 将备份的两个文件替换回去
  6. 完成!

从 Docker 使用 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 在前台运行,这样你就可以看到日志了!

使用 Java 命令运行(不推荐)

下载最新的 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 / 迁回至 Solo

从 Solo 迁移至 Bolo

为防出现意外,请先备份原来的数据库

  1. 修改 Bolo 的数据库配置文件 local.properties,使 Bolo 连接至数据库;
  2. 清空(只清空数据,不删除表本身) b3_solo_userb3_solo_categoryb3_solo_category_tag 表;
  3. 执行SQL语句,在用户表中新建一个管理员用户:
INSERT INTO `b3_solo_user` (
	`oId`,
	`userName`,
	`userURL`,
	`userRole`,
	`userAvatar`,
	`userB3Key`,
	`userGitHubId` 
)
VALUES
	(
		'default',
		'{管理员用户名}',
		'{管理员的个人主页网址}',
		'adminRole',
		'{管理员的头像网址}',
		'{管理员密码}',
	'none' 
	);

如果你修改了b3_solo_user的表名,请记得在 SQL 语句中也加以修改(第一行)。
将 SQL 语句中的{管理员用户名}{管理员的个人主页网址}{管理员的头像网址}{管理员密码}修改。
启动 Bolo ,迁移完成~

从 Bolo 迁回至 Solo

  1. 清空(只清空数据,不删除表本身) b3_solo_categoryb3_solo_category_tag 表;
  2. 确定 b3_solo_user 表中的 userName 列用户名,和你的 GitHub 账户用户名相同,如果不同,请直接修改;
  3. 启动 Solo;
  4. 登录,在管理后台 - 工具 - 用户管理中,更新管理员账号的B3log Key为黑客派中的B3log Key。
  5. 大功告成~

如果不会操作,欢迎联系我~(请看我名片中的联系方式)

皮肤

由于特性原因,Bolo 不支持原版皮肤。但我们会在官方皮肤的基础上修改皮肤,并附带到 Bolo 当中。

预计很快就能移植绝大部分皮肤。

  • Bolo 使用 solo-nexmoe 作为默认皮肤。
  • Bolo 皮肤已自带,不需要额外下载。

当前支持且已移植并预置的皮肤:

  1. V1.0 及以上版本:solo-nexmoe → bolo-nexmoe
  2. V1.1 及以上版本:emiya -> bolo-emiya
  3. V1.1 及以上版本:bubble -> bolo-bubble
  4. V1.1 及以上版本:casper -> bolo-casper
  5. V1.1 及以上版本:pinghsu -> bolo-pinghsu

关于 Solo V4

Solo V4 版本将会有很大的变动,其将主要支持静态化页面。
届时 Bolo 不会完全更新 Solo V4 版本的内容,Bolo 会始终保持旧版本 Bolo 用户的平滑更新升级
Bolo 在 Solo V4 版本之后仍会跟随 Solo 的版本号同步更新,同时引入 Solo V4 的新功能与特性,但为了维持大家的使用习惯,Bolo 的更新内容将不会激进。

About

🍍 专为程序员设计的Bolo菠萝博客-基于Solo | 🐧 视频教程,小白轻松部署 | 📝 离线博客, 本地登录 | ✏️ 免登录评论 | 📦 WAR包、Tomcat部署支持 | 📧 通知邮件提醒 | ✅ 同步原版更新 | 🔖 分类功能独立,解除与标签功能关联 | 🔧 独立权限控制,支持单独设置编辑器图床、文章评论同步到社区,不影响离线功能 | 🚚 轻松迁移 至Bolo / 迁回Solo | 👷 当前版本:bolo v1.1 稳定版 | ⏯ 视频教程请看 https://ftp.stackoverflow.wiki

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 60.1%
  • FreeMarker 16.8%
  • JavaScript 14.1%
  • CSS 8.9%
  • Smarty 0.1%
  • Shell 0.0%