Solo 博客系统 1.7.0 发布 - 新版 MD 编辑器
本次发布主要是更新了 Markdown 编辑器,加入了全屏、Emoji 自动完成、粘贴时自动转换为 MD 格式的特性。(1.7.0 版本变更记录请看这里)
目前的 Markdown 编辑器有多好用呢?请看:
另外在开发方面,这个版本我们加入了大量的单元测试用例,目前覆盖率已达 47%,后续还会不断补充 :)
简介
Solo 是一款一个命令就能搭建好的 Java 开源博客系统,并内置了 15+ 套精心制作的皮肤。除此之外,Solo 还有着非常活跃的社区,文章分享到社区后可以让很多人看到,产生丰富的交流互动。
功能
Solo 沉淀至今的每一个功能你应该都会用到。我们不会将只有“20%”用户使用的功能添加进来,只有这样才能保持博客系统本该有的纯净,足够轻量才能带来简约的使用体验。
- Markdown / TinyMCE / KindEditor
- 自定义导航(页面、链接)
- 草稿夹
- 评论/回复邮件提醒
- 随机文章 / 相关文章 / 置顶 / 更新提醒
- 自定义文章永久链接
- 自定义站点 SEO 参数
- 自定义公告 / 页脚
- 多个签名档
- 代码高亮
- 多皮肤,多端适配 / 社区皮肤
- 多语言 / 国际化
- 上传七牛云
- 友情链接管理
- 多用户写作,团队博客
- SQL 文件导出
- 插件系统
- Atom / RSS 订阅
- Sitemap
- MetaWeblog API
- CDN 静态资源分离
如果有新版可用,升级过程也是非常简单的,只需要重新部署新版本就可以,不用运行额外的任何脚本。
另外,如果你想让我们将 Solo 修改为 CMS,我们只能对你说:“出门右转”。
安装
JDK 环境准备好之后下载最新的 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
执行完成后顺利的话你就可以看到 Solo 的初始化界面了 :tada:
详细的配置请浏览用户指南。如果你碰到问题,请提 issue 或到社区发帖,我们会尽量在第一时间帮助你解决问题。
另外,如果你想用 Solo 但又不想自己维护服务器,那可以尝试购买我们搭建好的 Solo 直接使用。
技术
- 后端框架:为了尽量降低服务器的内存占用,顺带尝试一些技术构想,我们开发了 Latke 框架,并在此基础上构建了 Solo、Sym、XiaoV 等产品。这些产品反过来也会对框架提出需求,这是一个相互促进,共同演化的良性发展过程
- 前端框架:Solo 的前端部分为了降低复杂度, 只依赖于 jQuery、编辑器、代码高亮等组件。管理后台的 SPA 框架、皮肤响应式 UI 都是我们自己实现的
没有最好的轮子,只有最适合的轮子。 BTW,如果你想研究如何制造 Web 轮子,Solo 是一个不错的入口。
另外,为了保证 Solo 的质量,我们也做了很多努力,包括:
- 统一规范的编码风格
- 完善的 javadoc 注释
- 严格的分支、缺陷追踪管理
- 不断完善的单元测试用例
文档
版本历史
Solo 的第一个版本发布于 2010 年,我们对每个版本都进行了详细的变更记录,这里可以看到 Solo 成长的全貌。
每一次开发新版本时我们都会在开发分支上进行,尽量避免给其他开发者们带来困扰。因为我们知道只有专业和尽责才能让 Solo 这个开源项目走得更远,谁让你我的征途是星辰和大海呢!
鸣谢
Solo 的诞生离不开以下开源项目:
- jQuery:使用最广泛的 JavaScript 工具库
- CodeMirror:Markdown 编辑器内核
- KindEditor:一个富文本编辑器
- TinyMCE:又一个富文本编辑器
- SyntaxHighlighter:一个代码高亮库
- Highlight.js:又一个代码高亮库
- emojify.js:前端 Emoji 处理库
- jsoup:Java HTML 解析器
- pegdown:Java Markdown 处理库
- Apache Commons:Java 工具库集
- emoji-java:Java Emoji 处理库
- FreeMarker:好用的 Java 模版引擎
- H2:Java SQL 数据库
- Jetty:轻量级的 Java Web 容器
- Latke:简洁高效的 Java Web 框架
- NetBeans:全宇宙暂时排名第三的 IDE
贡献
Solo 的主要作者是 Daniel 与 Vanessa,所有贡献者可以在这里看到。
我们非常期待你加入到这个项目中,无论是使用反馈还是代码补丁,都是对 Solo 一份满满的爱 :heart:
Solo 博客系统 1.7.0 发布 - 新版 MD 编辑器的更多相关文章
- Docker 方式部署 Solo 博客系统总结
此篇为Docker部署方式,另有Tomcat部署方式,请参考文章<Tomcat 方式部署 Solo 博客系统总结> 最近搭建了一个博客系统,作为自己的主页,方便记录一些平时所见所闻 ...
- Tomcat 方式部署 Solo 博客系统总结
此篇为Tomcat部署方式,另有Docker部署方式,请参考文章<Docker 方式部署 Solo 博客系统总结> 一.环境和文件准备 服务器:购买的阿里云服务器,系统为Linux(C ...
- 博客测试:博客系统i94web beta1.0 请求测试
最近博客没怎么更新了,因为一直在撸代码,自己写了一个小小的博客系统:i94web,匆忙发布beta1.0,请求各位测试各种漏洞. 先看几张截图. 首页: 边栏: 文章页: 后台发布: 测试地址:htt ...
- 博客测试:博客系统i94web beta1.0 申请测试
如何做了最近的博客更新,因为已经在线路和代码,我写了一个小博客系统:i94web,草草宣布beta1.0,请求您测试各种漏洞. 先看几张截图. 首页: watermark/2/text/aHR0cDo ...
- python 全栈开发,Day83(博客系统子评论,后台管理,富文本编辑器kindeditor,bs4模块)
一.子评论 必须点击回复,才是子评论!否则是根评论点击回复之后,定位到输入框,同时加入@评论者的用户名 定位输入框 focus focus:获取对象焦点触发事件 先做样式.点击回复之后,定位到输入框, ...
- Django实现的博客系统中使用富文本编辑器ckeditor
操作系统为OS X 10.9.2,Django为1.6.5. 1.下载和安装 1.1 安装 ckeditor 下载地址 https://github.com/shaunsephton/django-c ...
- Essay3.0发布,基于JavaScript的前后端同构博客系统
前言 转眼间距离我开源这个项目已经两年了,最初是奔着学习的目的开发了这个项目,后来一直记录自己的学习笔记.随着时间的增长,发现之前写的代码简直不忍直视,于是就有了重构的想法.这个过程有些漫长,竟然用了 ...
- 从零开始搭建solo个人博客系统
目录 1.博客系统的搭建流程 2.服务器选购 2.1阿里云学生主机 2.2普通云主机 3.域名购买与备案(可选) 3.1域名购买 3.2域名服务器备案 3.3域名服务器解析 4.solo安装 4.1 ...
- 从零开始,搭建博客系统MVC5+EF6搭建框架(4)下,前后台布局实现、发布博客以及展示。
一.博客系统进度回顾 目前已经完成了,前台展示,以及后台发布的功能,最近都在做这个,其实我在国庆的时候就可以弄完的,但是每天自己弄,突然最后国庆2天,连电脑都不想碰,所以就一直拖着,上一篇写了前端实现 ...
随机推荐
- Java抽象工厂模式
Java抽象工厂模式 基本定义 抽象工厂模式是所有形态的工厂模式中最为抽象和最其一般性的.抽象工厂模式可以向客户端提供一个接口,使得客户端在不必指定产品的具体类型的情况下,能够创建多个产品族的产品对象 ...
- leetcode-914-卡牌分组
题目描述: 给定一副牌,每张牌上都写着一个整数. 此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组: 每组都有 X 张牌. 组内所有的牌上都写着相同的整数. 仅当你可选的 ...
- POJ 2389
#include <iostream> #include <algorithm> #include <string> #define MAXN 300 using ...
- c#调用R
R.NET使用文档 介绍 本页面涉及R.NET1.5.13. 1.5.13版本在功能上等同于1.5.12,但可作为一个包在NuGet.org上获得. R.NET使.NET框架与R统计语言在同一进程进行 ...
- [转]ASP.NET Core 十种方式扩展你的 Views
http://www.cnblogs.com/savorboard/p/aspnetcore-views.html
- 【es6】class
class是es6引入的最重要特性之一.在没有class之前,我们只能通过原型链来模拟类. 基本用法 如果你用过java这样的纯面向对象语言,那么你会对class的语法非常熟悉. class Peop ...
- Fiddler Web Debugger安装后与浏览器之间的常用设置(辅助爬虫)(图文详解)
不多说,直接上干货! 怎么让我们的浏览经过代理服务呢?如下来正确设置: 这里有个经验,最好用历史低版本的火狐浏览器.比如 http://ftp.mozilla.org/pub/firefox/rele ...
- 图形学 shader教程推荐
https://www.bilibili.com/video/av37119580 http://edu.manew.com/my/course/96 http://edu.manew.com/my ...
- java中删除list指定元素遇到的问题
java删除list中指定的元素可以用remove()函数,但会存在一个问题,举个例子来说 假如有a,b,c,d,e这个list,用remove()方法删除第一个元素之后,b,c,d,e会往前移动,此 ...
- GDAL并行I/O
和导师在Transactions in GIS 上发表的关GDAL并行I/O方面的文章(SSCI, IF=0.906)http://onlinelibrary.wiley.com/doi/10.111 ...