如何在 Github page 建立靜態網誌系統?

1994 年開始, 許多人用 html 建立功能陽春的網站, 二十一個年頭過去, 無論大家經歷過多麼令人讚嘆激賞的全球資訊網技術, 我們終於又回到當時的起點, 還是採用最陽春的 html 格式來建立網站, 唯一的差別是, 這一次我們真正感受到天涯若比鄰, 遠端與近端, 在分散式版本的最高運行模式下, 原來是同一端.

https://staticsitegenerators.net/ 可以發現, 截至目前, 已經有超過 400 種靜態網頁產生器, 其中以 Python 編寫的 Pelican, https://github.com/getpelican/pelican 算是其中的佼佼者.

至於在 Github pages 環境中採用靜態網頁系統, 相較於動態網頁系統的好處, 一般都認為:

  • 比較安全
  • 比較不會過時
  • 部署成本比較低
  • 可在各種平台上使用
  • 各階段改版資料均有紀錄

以下介紹利用 Python3 與 Pelican 建立能在 Gihub pages 部署的工具與環境.

工具組

假如您使用 Windows 64 位元操作系統, 可以直接下載可攜式系統 https://github.com/chiamingyen/kmol2016, 理論上, 只要按下 start.bat, 系統就會啟動 Leo Editor, 並且在對應啟動的 cmd 指令視窗, 就可以直接執行 git 指令.

假如您使用 Ubuntu 操作系統, 則必須安裝 Python3, PyQt, Leo Editor, Pelican, Markdown, 假如還希望透過 Jupyter 進行 notebook 檔案導入, 還要安裝 Jupyter.

Pelican 網誌系統

可以透過 git clone 本網站的倉儲資料 https://github.com/chiamingyen/kmolsite, 然後將分支切換到 gh-pages, 就可以利用 Leo Editor 開啟分支工作目錄中的 kmol2016.leo, 然後開始建立自己的 Pelican 靜態網誌.

kmol2016 系統說明

這裡所謂的"可攜 kmol2016", 其實就是在 Windows 64 位元的環境中, 可以無需安裝, 直接利用 start.bat 中的設定, 就可以在 Windows 操作系統中執行建立 Pelican 靜態網誌所需要的指令, 其中包括啟動 Leo Editor, 執行 git 指令以及啟動 Jupyter 等.

kmolsite 系統說明

開啟 kmol2016.leo 後, 可以發現 @path content 以下的子節點, 就是 Pelican 網誌系統的原始 md 檔案, 只要透過 @button local pelican 指令的執行, 就可以在近端建立 Pelican 靜態網誌, 而 @button gh-pages pelican 則用來建立 Github pages 端的 Pelican 靜態網誌資料.

從"設定與開發"節點下, 可以發現 pelicanconf.py 為近端與遠端的共同設定檔, 而近端透過 Pelican 轉檔時, 則採用 local_publishconf.py, 而 Gihub pages 端則使用 publishconf.py.

其中因為採用 Tipue search plugin, 在近端使用 tipuesearch_content.js 而在遠端則使用 tipuesearch_content.json, 所以才會將 theme 目錄下區隔近端使用 pelican-bootstrap3_local, 而遠端則使用 pelican-bootstrap3 目錄, 其間的差異在於啟動 Tipue search 搜尋的模式設定, 近端為 static, 而遠端則為 json.


Comments

comments powered by Disqus