我是一個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,帶過團隊,上海求職,有意者發郵件。