个人博客系统的设计与实现_一款小而美的博客系统,专为程序员设计
简介
Solo 是一款小而美的开源博客系统,专为程序员设计。Solo 有着非常活跃的社区,文章自动推送到社区后可以让很多人看到,产生丰富的交流互动。
项目地址
https://github.com/b3log/solo
案例
功能
- Markdown / Emoji
- 聚合分类 / 标签
- 自定义导航链接
- 随机文章 / 相关文章 / 置顶 / 更新提醒
- 自定义文章永久链接 / 签名档
- 配置站点 SEO 参数 / 公告 / 页脚
- 代码高亮 / 数学公式 / 流程图
- 多皮肤,多端适配 / 社区皮肤
- 多语言 / 国际化
- 友情链接管理
- 多用户写作,团队博客
- Hexo / Jekyll / Markdown 导入
- SQL / JSON / Markdown 导出
- Atom / RSS / Sitemap
- CDN 静态资源分离
- GitHub 仓库展示 / 自动备份文章到仓库
- 内置 HTTPS+CDN 文件存储
界面
开始使用
后台首页
编辑文章
选择皮肤
前台界面
皮肤
安装
本地试用
下载最新的 Solo 包解压,进入解压目录执行:
- 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
如果你有 Java 开发环境,可参考这里通过源码构建运行。
请注意:我们不建议通过 war 发布包或者源码构建部署,因为这样的部署方式在将来有新版本发布时升级会比较麻烦。 这两种方式请仅用于本地试用,线上生产环境建议通过 Docker 部署。
Docker 部署
获取最新镜像:
docker pull b3log/solo
- 使用 MySQL
先手动建库(库名 solo,字符集使用 utf8mb4,排序规则 utf8mb4_general_ci),然后启动容器:
docker run --detach --name solo --network=host --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://127.0.0.1:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC" b3log/solo --listen_port=8080 --server_scheme=http --server_host=localhost
为了简单,使用了主机网络模式来连接主机上的 MySQL。
- 使用 H2 Database
docker run --detach --name solo --volume ~/solo_h2/:/opt/solo/h2/ --publish 8080:8080 --env RUNTIME_DB="H2" --env JDBC_USERNAME="root" --env JDBC_PASSWORD="123456" --env JDBC_DRIVER="org.h2.Driver" --env JDBC_URL="jdbc:h2:/opt/solo/h2/db;MODE=MYSQL" b3log/solo --listen_port=8080 --server_scheme=http --server_host=localhost
启动参数说明:
- --listen_port:进程监听端口
- --server_scheme:最终访问协议,如果反代服务启用了 HTTPS 这里也需要改为 https
- --server_host:最终访问域名或公网 IP,不要带端口号
完整启动参数的说明可以使用 -h 来查看。
Docker 升级
- 拉取最新镜像
- 重启容器
文档
- 《提问的智慧》精读注解版:https://hacpai.com/article/1536377163156
- 用户指南:https://hacpai.com/article/1492881378588
- Solo 从设计到实现:https://hacpai.com/article/1537690756242
- 皮肤开发:https://hacpai.com/article/1493814851007
个人博客系统的设计与实现_一款小而美的博客系统,专为程序员设计相关推荐
- 鸿蒙系统将实现全民众测,鸿蒙系统推送在即,华为多款App开启众测,旨在迎接鸿蒙全新设计...
原标题:鸿蒙系统推送在即,华为多款App开启众测,旨在迎接鸿蒙全新设计 近日,网上一知名数码博主发现,华为旗下的多款系统级App在昨日同时在会员中心的众测区域开启众测,参与众测的App包括会员中心.智 ...
- Alvas.Audio专门为C#和VB.Net程序员设计
Alvas.Audio专门为C#和VB.Net程序员设计 Alvas.Audio库使C#和VB.Net程序员能够创建执行(包括混合声音信息).捕获.转换和编辑音频的应用程序. Alvas.Audio音 ...
- 韭菜云监工_一款免费的玩客云监工软件
近期和团队朋友配合,前段Vue,后端Go+Java开发了一套免费的云监工产品. 玩客云大概是17年底出道,我是18年初接触,经历了1年多.网上存量留下的监工产品有几款,大多功能齐备,均已经完成了用户积 ...
- 美国款游戏计算机,美国一程序员设计计算机游戏 悼念早逝爱子(图)
据美国<今日>网站4月25日报道,美国科罗拉多州的程序员赖安•格林(Ryan Green)设计了一款叫做"癌症:那条猛龙"的游戏,以此纪念爱子约耳(Joel)短暂的一生 ...
- 中国象棋程序的设计与实现(九)–棋子点,棋子的小窝
中国象棋程序的设计与实现(八)-如何构造一个棋子(車馬炮等)...
本篇简要介绍,在中国象棋程序中,容纳棋子的棋子点. 由于棋子位于棋盘中,为了方便讲解本篇,需要先简要介绍下棋盘的结构. 棋盘的结构 // 棋子点,共90个,横9*纵10 public ChessPoi ...
- 程序员设计的这些作品震惊UI界!真让人抓狂!直接笑还是走程序?
大家有没有想过,如果程序员gg们来做设计,这个世界会变成什么样子? 如果哪天设计师消失了,这个世界会变成什么样? 经常逛淘宝的朋友会发现,在淘宝或者其他电商网站,有一个"设计"流派 ...
- 基于python的个人博客系统的设计开题报告_基于SSM的个人博客系统设计开题报告...
本 科 毕 业 设 计(论文)开 题 报 告 题 目:基于SSM的个人博客系统设计与实现 专题题目(若无专题则不填): 本课题来源及研究现状: 关于博客的未来:在创办了博客中国(blogchina) ...
- 基于Java的设计开题报告_基于Java的电子邮件的收发系统的设计与实现开题报告...
基于Java的电子邮件的收发系统的设计与实现开题报告 (8页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.90 积分 开题报告 基于 Java 的电子 ...
- 牛客网数据开发题库_练习SQL利器,牛客网SQL实战题库
牛客网SQL实战网址:https://www.nowcoder.com/ta/sql 持续更新--记录自己在牛客网SQL的做题过程 更新进度:61题,2019-4-3,更完了 1.查找最晚入职员工的所 ...
最新文章
- atitit..主流 浏览器 js 发动机 内核 市场份额 attialx总结vOa9
- NPOI的excel导出1
- opcclient远程连接opc服务器_软件 | 服务器远程连接软件MobaXterm
- 『Numpy』内存分析_高级切片和内存数据解析
- sql android客户端,XSGManage: 学生成绩管理系统---客户端,基于Android+Django+sqlit3开发...
- jsp网页实现登录用户名于密码的验证(不涉及数据库操作)
- 力扣题目——88. 合并两个有序数组
- SSH 远程管理软件 SecureCRT 下载安装教程
- chrome-推荐13个插件
- 一个简洁的PNG ICO转换工具 支持多分辨率的ICO生成
- 郑州高新区计算机,郑州高新区电脑维修
- unity2D横版游戏教程-3 Cinemachine镜头移动
- HTML-图文排版如何以代码实现
- c语言拼图小游戏编程,c语言控制台输出制作拼图小游戏
- Direct2D编程入门
- 云计算的认识和看法_个人对云计算的看法 我对云计算的认识
- 金蝶K3生产任务单批次号和工单号同步需求实现
- 【鼠标§鼠标右键菜单清理四招】
- 时分复用共享和空分复用共享的介绍
- excel内容拆分怎么做?
热门文章
- 深入学习SAP UI5框架代码系列之四:SAP UI5控件的元数据实现
- rxjs of操作符传入数组的单步执行
- SAP Spartacus internationalization(i18n) 的实现 - 关于多语言,翻译支持的实现
- Windows环境下,如何在Docker里运行SAP UI5应用
- why my SAP CRM One Order custom callback is not called
- why metadata request for GM4 via http will be redirected to https via 307 s
- SAP UI5 Label related stuff and accessibility研究
- delete in ST05 trace - deletion will also lead to many DB access first
- ABAP Pattern usage - define own custom user exit
- workflow and email in QD3 - IS_INBOX_USER method