轉換器

如果您有新的標記語言想要用於您的網站,您可以透過實作您自己的轉換器來包含它。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 個方法

方法 說明

matches

給定的副檔名是否符合此轉換器可接受的副檔名清單?接收一個引數:檔案的副檔名(包括點)。如果符合,必須傳回 true,否則傳回 false

output_ext

要給輸出檔案的副檔名(包含點)。通常會是 ".html"

convert

執行內容轉換的邏輯。接收一個參數:檔案的原始內容(不含前置事項)。必須回傳字串。

在我們的範例中,UpcaseConverter#matches 檢查我們的檔案副檔名是否為 .upcase,如果是,就會使用轉換器進行渲染。它會呼叫 UpcaseConverter#convert 來處理內容。在我們的簡單轉換器中,我們只是將整個內容字串轉換成大寫。最後,當它儲存頁面時,會使用 .html 副檔名。