一鍵開啟你的專屬博客!

早在去年的時候,我就曾考慮開發一個個人博客,但因本人太懶,所以遲遲沒有行動,就在大大前天,我終於跨出了第一步。經過3天不懈的努力,基本實現了博客的常規功能,並且對細節進行了足夠的抽象。通過幾個參數的簡單配置,即可使用。

該博客的技術棧:

  • python
  • flask
  • sqlite
  • react
  • bootstrap
  • elasticsearch
  • markdown
  • docker
  • raspberry

該博客主要的功能如下:

  1. 上傳markdown格式的博文,進行展示。
  2. 對博文進行在線修改,刪除。(僅唯一的私有賬號可操作)
  3. 通過tags對博文進行快速檢索。
  4. 通地搜索框對博文進行全文檢索
  5. 將博文中的圖片抽取並轉換成列表展示圖。
  6. 通過環境變數進行個性配置。
  7. 對訪客僅開放展示頁面,展示頁面唯一,通過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(默認)。

其它配置信息參見github.com/ShichaoMa/bl

啟動

推薦使用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》第八章 中文翻譯

TAG:博客 | Python | React |