beibq基于 Flask 開(kāi)發(fā)類(lèi)似 GitBook 項(xiàng)目
beibq是基于flask開(kāi)發(fā)類(lèi)似gitbook的知識(shí)管理網(wǎng)站。
因?yàn)楹芏嗖┛拖到y(tǒng)都是以文章的形式為主;如果記錄的文章變多了,還需要進(jìn)行分類(lèi),而且查找以前寫(xiě)過(guò)的某篇文章會(huì)比較麻煩。
beibq是用寫(xiě)書(shū)的方式來(lái)寫(xiě)博客,因?yàn)闀?shū)籍本身就具有分類(lèi)功能,就算記錄的內(nèi)容變多了也不覺(jué)得亂,而且在閱讀時(shí)通過(guò)點(diǎn)擊書(shū)籍目錄很方便的切換到其他章節(jié)。
安裝配置
搭建好網(wǎng)站后,用瀏覽器訪問(wèn),會(huì)出現(xiàn)配置界面
在線寫(xiě)書(shū)
beibq的編輯器支持Markdown,Markdown是一個(gè)標(biāo)記語(yǔ)言,只需要幾個(gè)簡(jiǎn)單的標(biāo)記符號(hào)就能轉(zhuǎn)化成豐富的HTML格式,特別適合寫(xiě)博客。關(guān)于Markdown的具體介紹:Markdown 語(yǔ)法說(shuō)明
beibq的編輯器界面簡(jiǎn)潔、操作簡(jiǎn)單,能夠通過(guò)工具欄或快捷鍵方式輸入Markdown標(biāo)記符號(hào),有效的提高寫(xiě)作效率;編輯器的目錄區(qū)支持章節(jié)拖拉,可以調(diào)整章節(jié)順序。
編輯器例子:在線寫(xiě)書(shū)
beibq的編輯器是純js實(shí)現(xiàn),我單獨(dú)將它開(kāi)源出來(lái):bookeditor
寫(xiě)好書(shū)籍后點(diǎn)擊發(fā)布,就能在首頁(yè)上看到最新書(shū)籍動(dòng)態(tài)
界面
beibq的界面簡(jiǎn)潔、美觀、易用。閱讀博客時(shí),就像看書(shū)一樣,界面包含書(shū)籍目錄;這樣只要點(diǎn)擊目錄的某個(gè)章節(jié)就能很方便切換到其他章節(jié)。
為了提高切換章節(jié)效率,當(dāng)點(diǎn)擊目錄中某個(gè)章節(jié),通過(guò)ajax異步請(qǐng)求章節(jié)內(nèi)容,這樣可以不僅提高頁(yè)面刷新速度而且具有很好的閱讀體驗(yàn);
其實(shí)使用ajax異步請(qǐng)求章節(jié)會(huì)出現(xiàn)一個(gè)問(wèn)題,當(dāng)網(wǎng)絡(luò)延遲高,用戶短時(shí)間內(nèi)點(diǎn)擊多個(gè)章節(jié),會(huì)導(dǎo)致頁(yè)面顯示混亂;為了解決這個(gè)問(wèn)題,我設(shè)計(jì)一個(gè)隊(duì)列,將用戶點(diǎn)擊章節(jié)時(shí)將該事件緩存到隊(duì)列中,如果短時(shí)間內(nèi)接收多個(gè)點(diǎn)擊事件,我其實(shí)只請(qǐng)求隊(duì)列中最后的一個(gè)事件。
beibq還可以自動(dòng)適配移動(dòng)端界面,用戶可以在移動(dòng)設(shè)備上閱讀。
安裝使用
1. 安裝mysql
beibq使用的數(shù)據(jù)庫(kù)是mysql,安裝前需要先安裝mysql
我使用的是centos,安裝方法可以參考該文檔:Installing MySQL on Linux Using the MySQL Yum Repository
2. 安裝依賴(lài)包
pip install -r requirements.txt
3. 啟動(dòng)程序
python manage.py runserver -h 0.0.0.0
4. 配置站點(diǎn)
在瀏覽器中輸入http://127.0.0.1:5000
第一次訪問(wèn)會(huì)跳轉(zhuǎn)到配置界面,根據(jù)指示配置站點(diǎn)信息后就能使用beibq
