テンプレート

Jekyll はテンプレートを処理するために Liquid テンプレート言語を使用しています。 標準の Liquid タグフィルタ はすべてサポートされています。 Jekyll は一般的なタスクをより簡単に所有するために、 いくつかの便利なフィルタやタグが追加されています。

フィルタ

記述 フィルタ出力

日付を XML スキーマに

日付を XML スキーマ(ISO 8601)形式に変換します。

{{ site.time | date_to_xmlschema }}

2008-11-07T13:07:54-08:00

日付を RFC-822 形式に

日付を RSS フィードで使用される RFC-822 形式に変換します。

{{ site.time | date_to_rfc822 }}

Mon, 07 Nov 2008 13:07:54 -0800

日付を文字列に

日付を短い文字列形式に変換します。

{{ site.time | date_to_string }}

07 Nov 2008

日付を長い文字列に

日付を長い文字列形式に変換します。

{{ site.time | date_to_long_string }}

07 November 2008

XML エスケープ

XML で使用するためのいくつかのテキストをエスケープします。

{{ page.content | xml_escape }}

CGI エスケープ

CGI エスケープは URL で使用される文字列をエスケープします。 適切な %XX との交換で任意の特殊文字を置き換えます。

{{ “foo,bar;baz?” | cgi_escape }}

foo%2Cbar%3Bbaz%3F

URI エスケープ

URI エスケープします。

{{ “'foo, bar \\baz?'” | uri_escape }}

foo,%20bar%20%5Cbaz?

ワード数

テキスト内のワード数をカウントします。

{{ page.content | number_of_words }}

1337

文を配列

文を配列に変換します。タグのリストを表示するのに役立ちます。

{{ page.tags | array_to_sentence_string }}

foo, bar, and baz

Textile 化

RedCloth を経由で作成された Textile フォーマット文字列を HTML に変換します。

{{ page.excerpt | textilize }}

Markdown 化

Markdown フォーマット文字列を HTML に変換します。

{{ page.excerpt | markdownify }}

JSON 用のデータ

JSON 用にハッシュか配列に変換します。Convert Hash or Array to JSON.

{{ site.data.projects | jsonify }}

タグ

Includes

もしあなたが小さなページの断片を持つなら、 include タグを使用することで、サイト上の複数の場所に含めることができます。

{% include footer.html %}

Jekyll はすべてのインクルードファイルがソースディレクトリのルートの _includes ディレクトリに配置されることを期待します。 上記は <source>/_includes/footer.html の内容が呼び出し元のファイルに埋め込まれます。

ProTip™: ファイル名として変数を使用する

あなたが埋め込みたいファイル名は、(上記の例のように)リテラルを指定できます。 また、 {% include {{ my_variable }} %} のように liquid のような変数構文を使用して変数を使用することができます。

また、 include にパラメータを渡すこともできます:

{% include footer.html param="value" %}

これらのパラメータは include 内の Liquid 経由で利用可能です。

{{ include.param }}

コードのハイライト化

Jekyll は Pygments のおかげで 100 以上の言語の シンタックスハイライトサポートが組み込まれています。 Pygments を使うためには、あなたのシステムに Python をインストールし、 サイトの設定ファイルの highlighterpygments を設定する必要があります。

または、コードハイライトに Rouge を使うことができます。 それは Pygments のようにたくさんの言語をサポートしていませんが、 ほとんどのケースには対応していて、ピュア Ruby で書かれています ; あなたのシステムで Python を 必要としません!

シンタックスハイライトのコードブロックをレンダリングするためには、次のようにコードを囲みます。

{% highlight ruby %}
def foo
  puts 'foo'
end
{% endhighlight %}

highlight タグの引数は言語識別子です。(上記の例では Ruby です) 適切な識別子を使用すると、 Pygments’ Lexers page または Rouge wiki 上の “short name” からハイライトしたい言語を探します。

行番号

highlight タグの第 2 引数に linenos と呼ばれるオプションがあります。 linenos 引数を含めるとハイライトされたコードに行番号を含めることを強制します。 例えば、次のコードブロックは行ごとに行番号が含まれます:

シンタックスハイライトのためのスタイルシート

表示するまでにハイライトするには、ハイライトスタイルシートを含める必要があります。 syntax.css でスタイルシートの例を見ることができます。 同一のスタイルが GitHub によって使用されており、あなたが自分のサイトのために自由に使用することができます。 もし linenos を使っているなら、ハイライトされたコードから行番号を区別するため syntax.css 内に .lineno 定義を 追加することをお勧めします。

Post の URL

もし、あなたのサイト上に Post のリンクを含めたいと思ったら、 post_url タグが指定した Post の正しいパーマリンクの URL を生成します。

{% post_url 2010-07-21-name-of-post %}

もし、サブディレクトリ内に Post を整理したなら、Post のサブディレクトリパスを含める必要があります。

{% post_url /subdir/2010-07-21-name-of-post %}

post_url タグを使用するときは、ファイル拡張子を含める必要ありません。

また、以下のような Markdown 内で Post リンクを作成するためにこのタグを使用することもできます。

[Name of Link]({% post_url 2010-07-21-name-of-post %})

Gist

GitHub Gist をあなたのサイトに簡単に埋め込むために gist タグを使用します。

{% gist 5555251 %}

また、オプションで gist を表示するためにファイル名を指定することができます:

{% gist 5555251 result.md %}

gist タグはプライベート gist にも働きますが、 gist 所有者の GitHub ユーザ名が必須です:

{% gist parkr/931c1c8d465a04042403 %}

プライベート gist のシンタックスもファイル名でサポートしています。