如何使用插件自動在 Pelican 插入預設圖檔
山姆鍋喜歡文章至少有張圖檔,沒有特別相關的主題的話,也希望可以顯示一張預設的圖。為了設定這個圖檔,文章的標頭資料 (metadata) 中, 我使用 ‘image’
這個標頭來表示圖檔相對路徑。在樣板主題 (theme) 中,如果有這個標頭就插入該圖檔,否則就使用預設圖檔。 如果在每個樣板需要插入這個圖檔的樣板或者 RSS 中,都需要做這樣的判斷,就有點麻煩。本文山姆鍋介紹使用簡單的插件,來插入這個預設標頭, 確保所有文章都會有這個標頭存在。
山姆鍋假設讀者已經知道 Pelican 基本的插件運作原理,如果沒有的話,可以參考
Pelican 插件文件 。
插件的程式碼
此程式碼路徑爲 /plugins/default-image/default_image.py
。
1 | # -*- coding: utf-8 -*- |
其中,標示 1
的敘述目的在過濾掉非文章的項目, 標示
2
是為了讀取 DEFAULT_IMAGE
這個設定值,也就是預設圖檔的路徑。 3
則是為了判斷文章是否已經所需的標頭資料,如果有則跳過。
詳細程式碼與設定,請參考 本部落格的源始碼。
參考資料
Pelican 插件文件:
http://docs.getpelican.com/en/stable/plugins.html
_`本部落格的源始碼`: https://github.com/sampot/sampot.github.io
小結
利用一個簡單的插件,山姆鍋示範如何在產生網頁內容時插入需要的標頭資料,透過同樣的技巧,讀者也可以增加所需的內容。