您的第一個外掛程式
外掛程式讓您可以擴充 Jekyll 的行為以符合您的需求。Jekyll 中有六種類型的外掛程式。
產生器
產生器在您的網站上建立內容。例如
- jekyll-feed建立部落格文章的 Atom 摘要。
- jekyll-archives建立部落格類別和標籤的歸檔頁面。
- jekyll-sitemap建立網站地圖。
轉換器
轉換器將標記語言轉換成另一種格式。例如
- jekyll-textile-converter將 Textile 轉換成 HTML。
- jekyll-coffeescript將 Coffeescript 轉換成 JavaScript。
- jekyll-opal將 Ruby 轉換成 JavaScript。
指令
指令 使用子指令來延伸 jekyll
可執行檔。例如
- jekyll-compose 新增子指令,用於建立文章、頁面或草稿。
標籤
標籤 建立自訂的 Liquid 標籤。例如
- jekyll-youtube 嵌入 YouTube 影片。
- jekyll-asset-path-plugin 輸出資源的相對 URL。
- jekyll-swfobject 嵌入 SWF 物件。
篩選器
篩選器 建立自訂的 Liquid 篩選器。例如
- jekyll-time-ago - 以文字表示兩個日期之間的距離。
- jekyll-toc - 產生目錄。
- jekyll-email-protect - 模糊化電子郵件,以保護它們免於垃圾郵件機器人的侵害。
掛鉤
掛鉤 提供細緻的控制,以延伸建置流程。例如
-
jemoji 顯示表情符號
- jekyll-mentions 將提及 @jekyll 轉換為連結
- jekyll-spaceship - 進階範例。提供強大的支援,適用於表格、Mathjax、PlantUML、影片等。
旗標
撰寫外掛程式時,有兩個旗標需要留意
旗標 | 說明 |
---|---|
|
布林旗標,用於告知 Jekyll 此外掛程式是否可以在不允許執行任意程式碼的環境中安全執行。GitHub Pages 會使用此旗標來判斷哪些核心外掛程式可以使用,以及哪些外掛程式不安全。如果您的外掛程式不允許執行任意程式碼,請將此旗標設定為 |
|
此旗標決定外掛載入的順序。有效值為: |
以上述範例外掛之一為例,以下說明如何指定這兩個旗標
module Jekyll
class UpcaseConverter < Converter
safe true
priority :low
...
end
end
最佳實務
指南可協助您了解建立外掛的具體事項。我們也有一些建議的最佳實務,協助您建構外掛。
我們建議為您的外掛使用 寶石。這有助於您管理相依性、與網站原始碼保持區隔,並讓您在多個專案中分享功能。如需建立寶石的提示,請參閱 Ruby 寶石指南 或瀏覽現有外掛的原始碼,例如 jekyll-feed。