Liquidはオブジェクトとタグとフィルターを使ってテンプレートファイルを動的な表示コンテンツを作成するツールです。
目次
オブジェクト
オブジェクトはLiquidがページに表示する内容の入れ物です。
オブジェクトと変数は二重の波括弧({{
と }}
)に値を評価され出力されます。
Input
{{ page.title }}
Output
Liquidの紹介
この例の場合、Liquidはpage
オブジェクトのtitle
プロパティの内容を出力します。
それは "Liquidの紹介" という内容のテキストです。
タグ
タグはテンプレート内でロジックは制御フローを生成します。
波括弧とパーセント({%
と %}
)で囲んだ内容は最終的には何も出力されません。
ここの中では、変数に値を設定し、条件やループを生成することになります。
Input
{% if user %} Hello {{ user.name }}! {% endif %}
Output
Hello fumo!
タグは色々なタイプに分類されます。
詳細はまたあとで書きます。
フィルター
フィルターはLiquidのオブジェクトや変数の出力結果を変換します。関数みたいなものと考えてもらえるといいと思います。
フィルターは二重波括弧内で使い、パイプ(|
)で区切って変数などに適用して行きます。
Input
{{ "/my/fancy/url" | append: ".html" }}
Output
/my/fancy/url.html
一つに出力に対して複数のフィルターが使用されることもあります。適用順は左から右です。
Input
{{ "fumo!" | capitalize | prepend: "Hello " }}
Output
Hello Fumo!
この例では、まず "fumo!" という文字列の先頭を大文字にして、その後 "Hello " という文字列を頭にくっつけています。
利用可能な主なフィルターはこちらで紹介しています。