轉換器
如果您有新的標記語言想要用於您的網站,您可以透過實作您自己的轉換器來包含它。Markdown 和 Textile 標記語言都是使用此方法實作的。
記住您的 Front Matter
Jekyll 只會轉換最上方有 YAML 標頭的檔案,即使是您使用外掛程式新增的轉換器也是如此。
以下是將處理所有以 .upcase
結尾的文章並使用 UpcaseConverter
處理它們的轉換器
module Jekyll
class UpcaseConverter < Converter
safe true
priority :low
def matches(ext)
ext =~ /^\.upcase$/i
end
def output_ext(ext)
".html"
end
def convert(content)
content.upcase
end
end
end
轉換器至少應該實作 3 個方法
方法 | 說明 |
---|---|
|
給定的副檔名是否符合此轉換器可接受的副檔名清單?接收一個引數:檔案的副檔名(包括點)。如果符合,必須傳回 |
|
要給輸出檔案的副檔名(包含點)。通常會是 |
|
執行內容轉換的邏輯。接收一個參數:檔案的原始內容(不含前置事項)。必須回傳字串。 |
在我們的範例中,UpcaseConverter#matches
檢查我們的檔案副檔名是否為 .upcase
,如果是,就會使用轉換器進行渲染。它會呼叫 UpcaseConverter#convert
來處理內容。在我們的簡單轉換器中,我們只是將整個內容字串轉換成大寫。最後,當它儲存頁面時,會使用 .html
副檔名。