一鍵開啟你的專屬博客!
早在去年的時候,我就曾考慮開發一個個人博客,但因本人太懶,所以遲遲沒有行動,就在大大前天,我終於跨出了第一步。經過3天不懈的努力,基本實現了博客的常規功能,並且對細節進行了足夠的抽象。通過幾個參數的簡單配置,即可使用。
該博客的技術棧:
- python
- flask
- sqlite
- react
- bootstrap
- elasticsearch
- markdown
- docker
- raspberry
該博客主要的功能如下:
- 上傳markdown格式的博文,進行展示。
- 對博文進行在線修改,刪除。(僅唯一的私有賬號可操作)
- 通過tags對博文進行快速檢索。
- 通地搜索框對博文進行全文檢索
- 將博文中的圖片抽取並轉換成列表展示圖。
- 通過環境變數進行個性配置。
- 對訪客僅開放展示頁面,展示頁面唯一,通過react實現列表頁,詳情頁等切換。
通過環境變數來指定相關配置信息:
- AUTHOR: 這個博客的所有者, eg: 夏洛之楓(默認)。博客名就會變成 夏洛之楓的個人博客,默認導入的博文作者也會是 夏洛之楓
- DB: 使用的資料庫,eg: ES or SQLITE(默認)。早期版本使用的數據存儲是elasticsearch, 但是由於我需要將網站部署到樹莓派上,而樹莓派配置較低,無法很好的運行es, 於是我在保持es實現的基礎上,追加實現了使用sqlite作為數據存儲的的方案。使用es作為資料庫支持全部欄位檢索,sqllite僅支持正文。
- USERNAME: 登陸用戶名。eg: test(默認)。個人博客只支持單用戶登錄以對博文進行上傳,修改和刪除。
- PASSWORD: 登陸密碼。eg: 12345(默認)。
- THREADED: 是否啟用多線程server。eg: False(默認)。
- PROCESSES: server進程數。eg: 1(默認)。
其它配置信息參見https://github.com/ShichaoMa/blog/edit/master/settings.py
啟動
推薦使用docker來運行,非常簡單,只需要一行代碼,docker安裝方法在我的blog裡面可以找到。
sudo docker run -e "HOST=0.0.0.0" -e "DB=SQLITE" -e "AUTHOR=你的名字" -e "USERNAME=xxxxx" -e "PASSWORD=xxxxxx" -v /home/cn/db:/app/db -p 5000:5000 cnaafhvk/blog:latest python3.6 start.pyn# 使用sqlite作存儲,最好將外部路徑映射到docker中,如-v /home/cn/db:/app/db, 否則docker container刪除之後所有數據記錄全部會丟失。n
或者常規方案
# 自行安裝python3ngit clone https://github.com/ShichaoMa/blog.gitncd blognpip install -r docker/requirements.txtn# 自行配置變數npython start.pyn
在線訪問地址夏洛之楓的個人博客
github: ShichaoMa/blog,歡迎fork和star
首頁
文章正文
全部文章
登錄
上傳文章
個人介紹
聯繫方式
修改文章
推薦閱讀:
※[21] Python函數(二)
※Python · 樸素貝葉斯(四)· MergedNB
※25 歲才開始學習編程靠譜嗎?40 歲都不晚!
※50?python爬?代碼, 帶你正確打開知乎新世界!
※《Django By Example》第八章 中文翻譯