基於flask實現開發相似gitbook項目:beibq

項目源碼:https://github.com/chaijunit/...html

beibq是基於flask開發的開源書籍博客。python

由於不少博客系統都是以文章的形式爲主;若是記錄的文章變多了,還須要進行分類,並且查找之前寫過的某篇文章會比較麻煩。mysql

beibq是用寫書的方式來寫博客,由於書籍自己就具備分類功能,就算記錄的內容變多了也不以爲亂,並且在閱讀時經過點擊書籍目錄很方便的切換到其餘章節。linux

安裝配置

搭建好網站後,用瀏覽器訪問,會出現配置界面git

在線寫書

beibq的編輯器支持Markdown,Markdown是一個標記語言,只須要幾個簡單的標記符號就能轉化成豐富的HTML格式,特別適合寫博客。關於Markdown的具體介紹:Markdown 語法說明github

beibq的編輯器界面簡潔、操做簡單,可以經過工具欄或快捷鍵方式輸入Markdown標記符號,有效的提升寫做效率;編輯器的目錄區支持章節拖拉,能夠調整章節順序。ajax

編輯器例子:在線寫書sql

beibq的編輯器是純js實現,我單獨將它開源出來:bookeditor數據庫

寫好書籍後點擊發布,就能在首頁上看到最新書籍動態flask

界面

beibq的界面簡潔、美觀、易用。閱讀博客時,就像看書同樣,界面包含書籍目錄;這樣只要點擊目錄的某個章節就能很方便切換到其餘章節。

爲了提升切換章節效率,當點擊目錄中某個章節,經過ajax異步請求章節內容,這樣能夠不只提升頁面刷新速度並且具備很好的閱讀體驗;

其實使用ajax異步請求章節會出現一個問題,當網絡延遲高,用戶短期內點擊多個章節,會致使頁面顯示混亂;爲了解決這個問題,我設計一個隊列,將用戶點擊章節時將該事件緩存到隊列中,若是短期內接收多個點擊事件,我其實只請求隊列中最後的一個事件。

beibq還能夠自動適配移動端界面,用戶能夠在移動設備上閱讀。

安裝使用

1. 安裝mysql

beibq使用的數據庫是mysql,安裝前須要先安裝mysql

我使用的是centos,安裝方法能夠參考該文檔:Installing MySQL on Linux Using the MySQL Yum Repository

2. 安裝依賴包

pip install -r requirements.txt

3. 啓動程序

python manage.py runserver -h 0.0.0.0

4. 配置站點

在瀏覽器中輸入http://127.0.0.1:5000

第一次訪問會跳轉到配置界面,根據指示配置站點信息後就能使用beibq

相關文章
相關標籤/搜索