Image by github.com/naturallymitchell

從2014年開始使用 Pelican 架設部落格寫文章到現在也過了六年,Pelican 也從原本的3.3.0版本升級到現在的4.5.0,雖然套件大架構沒有改變,但有些小地方跟以前不太一樣,所以特別寫篇文章記錄下來。

什麼是 Pelican?

Pelican 是基於 Python 所寫的一套靜態網站管理(Static Site Generator),類似的靜態網站管理還有很多,例如以 Nodejs 寫的 Hexo

因為網路上已經有很多比較靜態網站和動態網站的優缺點,我這邊就不特別多講,不過對於追求成本控管和搜尋引擎優化的部落格來說,我覺得使用靜態網站管理會比較符合需求,至於為什麼選 Pelican 不選 Hexo,只是因為我比較熟悉 Python。

安裝

都到了2020年了,絕大多數的 package 都應該支援 Python 3+(讓我們一起跟 Python 2 說拜拜),我在安裝 Pelican 4.5.0 的時候搭配的是 Python 3.8,使用 Pipenv 就能輕鬆寫意的完成安裝。

文章

現在 Pelican 是支援 Markdown 的,只要記得安裝的時候同時安裝 Markdown 對應的 package 就好,安裝完後就可以直接使用 Markdown 來撰寫文章。由於 Markdown 在各個網路內容平台都已經相當普及,所以現在不論是想要匯入匯出文章,或是想要擷取、轉載部分文章內容都會比以往來的方便許多。

樣式

樣式的部分現在可以透過 pelican-themes 指令來操作,你可以安裝想要的樣式,也可以移除不想要的樣式。

現在我使用的樣式是我自己製作的 Stirring,有興趣的人可以在 pelican-stirring 看到更完整的介紹。

套件

套件的部份現在可以透過 pelican-plugins 指令來操作,然後新的套件現在是變成 namespace pelican-plugins,至於舊的套件還是在一樣的位置,官方文件是說舊的套件也可以使用,但因為 signal 設定的關係,很多舊的套件都不能正常使用,我自己是把舊的套件 pelican_youtube 抽出來加上新的 signal 設定放在自己的 repo 底下。

放上現在使用的 plugins:

PLUGIN_PATHS = [
    'pelican_youtube'
]
PLUGINS = [
    'pelican.plugins.related_posts',
    'pelican.plugins.sitemap',
    'pelican_youtube'
]