コンバーター

ご自分のサイトで使用する新しいマークアップ言語がある場合は、独自のコンバーターを実装します。Markdown と テキスタイル のマークアップ言語は、この方法で実装されています。

フロントマターに注意する

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

指定された拡張子が、このコンバーターの受け入れ可能な拡張子のリストと一致しますか? 引数は1つ、ファイルの拡張子です(ドット込み)。一致した場合は true、そうでない場合は false を返す必要があります。

output_ext

出力ファイルに提供される拡張子です(ドット込み)。通常、これは「.html」になります。

convert

コンテンツを変換するロジック。引数は1つ、ファイルの未加工コンテンツ(フロントマターなし)。文字列を返す必要があります。

この例では、UpcaseConverter#matches は、ファイル名の拡張子が .upcase であるかどうかをチェックし、その場合はコンバーターを使用してレンダリングします。コンテンツを処理するために UpcaseConverter#convert を呼び出します。この単純なコンバーターでは、コンテンツ文字列全体を単に大文字にするだけです。最後に、ページを保存するときに、.html 拡張子を使用して保存します。