我是一个java开发者,几乎使用了全部主流的博客系统,包括静态博客和php系列,我在看java中有没有一样优秀的博客平台,我找到了 jpress 和 mblog。php
打开 jpress 的演示站点是这样的:html
因而我分别打开了它官网的文档和视频教程,发现文档好像一直没有写,教程下面讲到《精通JFinal》,omg的。不过看起来功能确实还不错,可是我没有打算使用的心情了。前端
以前在某qq群有别人推荐mblog,我看了一下它的介绍是这样的:java
JDK8
数据库MySQL
SSH (Spring、SpringMVC、Hibernate)
安全权限 Shiro
搜索工具 Lucene
缓存 Ehcache
视图模板 Velocity
其它 Jsoup、fastjson、GraphicsMagick
jQuery、Seajs
Bootstrap 前端框架
UEditor/Markdown编辑器
font-wesome 字体/图标mysql
能够看到用到了不少企业级开发的技术,搜索引擎、权限管理、居然还有 hibernate
。。git
显然这不是我想要的,部署起来的成本过高了。程序员
因而我也本身开发一个博客系统,我认为每一个坚持写博客的人都是有故事有分享精神的,项目起名简单易记住最好,因而找到 tale
这个单词,英文翻译是 故事
,发音为 [teɪl]
,用中文读 塌了
也蛮有趣的,就选它了。github
我对我的博客的想法是这样的,目前来看它应该是单用户的,我见过写博客文章最多的也就 1000
篇左右,因而 mysql 的 like
彻底能够作到查询搜索,不用搜索引擎(固然分词搜索另当别论,能够以插件方式出现);它应该发布简单,体积小;它的设计简洁,易维护;它的UI美观,颜值高;它的速度很快,高性能。web
根据我上面所说的开发这样一个博客系统,若是还想在短时间内完成它,选择 SSM
, SSH
这种企业级框架确定是有些臃肿了,不是说它作不了,你要用生成器什么的也能够,但它就是企业级架构,Spring3x 和 Spring4x 都够一些人折腾了。是 JFinal 吗?这看起来是个不错的选择,社区支持度也很高,但部署的方式不太优雅,仍是要用tomcat的方式,我想像 SpringBoot
那样发布一个 jar
包运行一行 java -jar tale-1.0.jar
就能够跑起来的,我决定用本身在15年发起的 blade
做为web框架,具体的能够看 这里 总之它能解决我遇到的那些问题,又是我熟悉的,也由于是本身研发的,想让它走的更远些。sql
后台编辑器选择了github上修改自 typecho
的后台编辑器,也许并非最酷的,我非专业前端,目前来看够用,咱们能够之后再优化它,数据库选择了mysql,tale
是带后台的博客系统,固然我也考虑过用java的一款本地数据库 mapdb
,这样开发者就不用建立数据库了,但数据备份是个问题,之后再深究这个。
其实技术也就是咱们平常开发的那些技术,只不过看你如何用好它了。
我将markdown的源码存储在数据库中,使用了 commonmark 这个库进行解析,在前台展现的时候将markdown解析为html便可。
有些开发者处理过应该知道 mysql
的 utf8
编码的一个字符最多3个字节,可是一个emoji表情为4个字节,因此utf8不支持存储emoji表情。可是utf8的超集utf8mb4一个字符最多能有4字节,因此能支持emoji表情的存储。可是我认为让使用者去修改这个配置太繁琐了,容易出错,咱们直接用程序处理吧,因而乎找到一个库 emoji-java,它能够在emoji表情输入进来的时候被解析为形如 :smile:
这样的格式,咱们在使用的时候再将它转换回去就行了。
开发中每每有无数的细节和代码片断,其实都是平常用的,这里没法一一律述,若是你有疑问能够加入开发者讨论群 1013565
讨论,固然QQ群并不是最好的交流方式,你乐意写邮件也能够联系我 biezhi.me[AT]gmail.com
。
一个好的项目不必定实力多么强,可是至少要有一个有力的 README
文档和简单易懂的快速入门说明,这会让你的项目在短期内更受关注。我认为一个好的 README
文档能够是这样:
一句话描述,简单易懂,说明用意
最好来一张高清无码有逼格的大图
这里能够根据你的项目类型来安排
标注你的开源协议
虽然花了点时间作出了这个东西,可是不知道反响如何因而我在以下几个平台发布了这则消息:
刚开始的时候应该是由于界面还算美观,也收到很多开发者的青睐,v2ex和掘金,开发者头条为它带来了很多的流量,在发布后的第二,第三天登上了github的 Trending
榜单,这时候收集到 500
左右的star;因而开始收到有人使用和反馈了,发现活跃度蛮高的,根据你们提出的意见出了简单的视频教程,修复了本身没发现的一些bug。不过在这一周里也是我打满鸡血的一周,今天项目在github收到了 1k
star。
tale在短期内已经有不少的反馈,咱们使用github的issues进行记录
联合开发者一块儿贡献,有很多开发者向 tale
发起了 PR
有意思的
很是感谢最近帮助个人小伙伴,感谢你们的反馈和 Pull Request
没有大家也就没有更好更优秀的博客平台。
顺便附带小尾巴,4年Java,带过团队,上海求职,有意者发邮件。