Liquidフィルタ

全ての標準Liquidフィルタはサポートされています(以下をご覧ください)。

共通のタスクを簡単にするため、Jekyllはいくらかのフィルタを追加していて、それはこのページに全て掲載しています。また、プラグインであなた自身のフィルタを作ることもできます。

説明 フィルタ出力

Relative URL

入力値の前にbaseurlを追加する。サイトがrootドメインの場合よりサブパスでホストされている場合に便利です。

{{ "/assets/style.css" | relative_url }}

/my-baseurl/assets/style.css

Absolute URL

入力値の前にurlbaseurlを追加する。

{{ "/assets/style.css" | absolute_url }}

http://example.com/my-baseurl/assets/style.css

Date to XML Schema

DateをXML Schema (ISO 8601)フォーマットに変換する。

{{ site.time | date_to_xmlschema }}

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

Date to RFC-822 Format

DateをRSSフィードで使うthe RFC-822フォーマットに変換する。

{{ site.time | date_to_rfc822 }}

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

Date to String

dateをshortフォーマットに変換する。

{{ site.time | date_to_string }}

07 Nov 2008

Date to String in ordinal US style

Format a date to ordinal, US, short format. 3.8.0

{{ site.time | date_to_string: "ordinal", "US" }}

Nov 7th, 2008

Date to Long String

dateをlongフォーマットにする。

{{ site.time | date_to_long_string }}

07 November 2008

Date to Long String in ordinal UK style

Format a date to ordinal, UK, long format. 3.8.0

{{ site.time | date_to_long_string: "ordinal" }}

7th November 2008

Where

キーで指定した値を持つ配列内のオブジェクトを全て選択する。

{{ site.members | where:"graduation_year","2014" }}

Where Expression

式がtrueになる配列内の全てのオブジェクトを選択する。 3.2.0

{{ site.members | where_exp:"item", "item.graduation_year == 2014" }}

{{ site.members | where_exp:"item", "item.graduation_year < 2014" }}

{{ site.members | where_exp:"item", "item.projects contains 'foo'" }}

Group By

指定したプロパティで配列内のアイテムをグループ化する。

{{ site.members | group_by:"graduation_year" }}

[{"name"=>"2013", "items"=>[...]}, {"name"=>"2014", "items"=>[...]}]

Group By Expression

Liquidの式を使用して、配列内のアイテムをグループ化する。 3.4.0

{{ site.members | group_by_exp: "item", "item.graduation_year | truncate: 3, ''" }}

[{"name"=>"201", "items"=>[...]}, {"name"=>"200", "items"=>[...]}]

XML Escape

XMLで使用するためにテキストをエスケープする。

{{ page.content | xml_escape }}

CGI Escape

CGI escapeはURLで使用する文字列をエスケープする。特殊文字を適切な%XXに置き換える。CGI escapeは通常、スペースをプラス+にする。

{{ "foo, bar; baz?" | cgi_escape }}

foo%2C+bar%3B+baz%3F

URI Escape

URI内の特殊文字をパーセントエンコードする。URIエスケープは通常スペースを%20に置き換る。予約文字はエスケープされない。

{{ "http://foo.com/?q=foo, \bar?" | uri_escape }}

http://foo.com/?q=foo,%20%5Cbar?

Number of Words

テキストのワード数を数える。

{{ page.content | number_of_words }}

1337

Array to Sentence

配列をセンテンスに変換する。タグのリスト化に便利。オプションで接続文字を指定できる。

{{ page.tags | array_to_sentence_string }}

foo, bar, and baz

{{ page.tags | array_to_sentence_string: "or" }}

foo, bar, or baz

Markdownify

Markdown-formatted stringをHTMLに変換する。

{{ page.excerpt | markdownify }}

Smartify

"quotes"を“smart quotes.”に変換する。

{{ page.title | smartify }}

Converting Sass/SCSS

Sass-やSCSS-formatted stringをCSSに変換する。

{{ some_sass | sassify }}

{{ some_scss | scssify }}

Slugify

stringを小文字のURL "slug"に変換する。オプションは下記をご覧ください。

{{ "The _config.yml file" | slugify }}

the-config-yml-file

{{ "The _config.yml file" | slugify: "pretty" }}

the-_config.yml-file

{{ "The _cönfig.yml file" | slugify: "ascii" }}

the-c-nfig-yml-file

{{ "The cönfig.yml file" | slugify: "latin" }}

the-config-yml-file

Data To JSON

HashやArrayをJSONに変換。

{{ site.data.projects | jsonify }}

Normalize Whitespace

すべての空白を単一の空白に置き換える。

{{ "a \n b" | normalize_whitespace }}

Sort

配列をソート。ハッシュのオプション引数 1. プロパティ名 2. nils order (firstlast).

{{ page.tags | sort }}

{{ site.posts | sort: "author" }}

{{ site.pages | sort: "title", "last" }}

Sample

配列からランダムに取得。オプションで複数を取得可能。

{{ site.pages | sample }}

{{ site.pages | sample: 2 }}

To Integer

stringやbooleanをintegerに変換。

{{ some_var | to_integer }}

Array Filters

配列のPush, pop, shift, and unshift属性。これらは破壊的ではありません。つまり、配列を変更するのではなく、コピーを作成してそれを変更します。

{{ page.tags | push: "Spokane" }}

["Seattle", "Tacoma", "Spokane"]

{{ page.tags | pop }}

["Seattle"]

{{ page.tags | shift }}

["Tacoma"]

{{ page.tags | unshift: "Olympia" }}

["Olympia", "Seattle", "Tacoma"]

Inspect

デバッグのためにオブジェクトをそのStringに変換する。

{{ some_var | inspect }}

slugifyフィルタのオプション

slugifyフィルタはオプションを受け入れ、それぞれがフィルタが何をするのかを指定します。デフォルトはdefaultです。以下に(何をフィルタするのかと共に)示します。

  • none: 文字無し
  • raw: スペース
  • default: スペースと、英数字以外の文字
  • pretty: スペースと、._~!$&'()+,;=@を除く英数字以外の文字
  • ascii: スペース、英数字以外の文字、ASCII以外の文字
  • latin: defaultに似ている。ラテン文字以外は最初に音訳される(例えば、àèïòüaeiouに)3.7.0

whereフィルタでのnil値の検出4.0

プロパティがnil""のドキュメントやページの検出にwhereフィルタを使用できます。例えば、

// `my_prop`が設定されていないか、明示的に`nil`が設定されているポストを選択するために`nil`を使う。
{% assign filtered_posts = site.posts | where: 'my_prop', nil %}
// `my_prop`に空文字が設定されているポストを選択するために、Liquidの特別なリテラル`empty`や`blank`を使う。
{% assign filtered_posts = site.posts | where: 'my_prop', empty %}

where_expフィルタのBinary operators4.0

Liquid binary operatorsのorand演算子を使用して、where_expフィルタに複数の条件を渡すことができます。

例えば、英語のホラー映画に関するドキュメントのリストを得るのに、次のスニペットを使用できます。

{{ site.movies | where_exp: "item", "item.genre == 'horror' and item.language == 'English'" }}

また、漫画が原作の映画のリストを得るには、次のようにします。

{{ site.movies | where_exp: "item", "item.sub_genre == 'MCU' or item.sub_genre == 'DCEU'" }}

標準のLiquidフィルタ

利便性のため、こちらに全てのLiquidフィルタのリストを、公式Liquidドキュメンテーション内の使用例へのリンクと共に掲載しています。