コンバーター
ご自分のサイトで使用する新しいマークアップ言語がある場合は、独自のコンバーターを実装します。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つのメソッドを実装する必要があります。
メソッド | 説明 |
---|---|
|
指定された拡張子が、このコンバーターの受け入れ可能な拡張子のリストと一致しますか? 引数は1つ、ファイルの拡張子です(ドット込み)。一致した場合は true、そうでない場合は false を返す必要があります。 |
|
出力ファイルに提供される拡張子です(ドット込み)。通常、これは「.html」になります。 |
|
コンテンツを変換するロジック。引数は1つ、ファイルの未加工コンテンツ(フロントマターなし)。文字列を返す必要があります。 |
この例では、UpcaseConverter#matches
は、ファイル名の拡張子が .upcase
であるかどうかをチェックし、その場合はコンバーターを使用してレンダリングします。コンテンツを処理するために UpcaseConverter#convert
を呼び出します。この単純なコンバーターでは、コンテンツ文字列全体を単に大文字にするだけです。最後に、ページを保存するときに、.html
拡張子を使用して保存します。