Table of contents
JekyllのLiquidについて
- Jekyllで追加されているLiquidフィルタ (jekyllrb-ja)
- Jekyllで追加されているLiquidタグ (jekyllrb-ja)
- Liquid の公式サイト (shopify.github.io) [EN]
- Liquid template language reference (shopify.dev) [EN]
- for ループ内で使用できる属性(shopify.dev) [EN]
Tag Cloud
タグクラウドの生成
Liquid:
{% assign tags = site.tags | sort %}
<ul>
{% for tag in tags %}
<li>
{{ tag | first }} -- {{ tag | last | size }}
</li>
{% endfor %}
</ul>
Output:
<ul>
<li>TAG1 -- 2</li>
<li>TAG2 -- 1</li>
</ul>
Liquid:
{% assign tags = site.tags | sort %}
{% for tag in tags %}
{{ tag | inspect }}
{% endfor %}
inspectフィルタは、オブジェクトを文字列表現に変換する。
Output:
["TAG1", [
#<Jekyll::Document _posts/2020-08-13-TAG1-post.md collection=posts>,
#<Jekyll::Document _posts/2020-07-04-TAG1-post.md collection=posts>
]]
["TAG2", [
#<Jekyll::Document _posts/2020-08-04-TAG2-post.md collection=posts>
]]
乱数を生成する
{% capture time_seed %}{{ 'now' | date: "%s" }}{% endcapture %}
{% assign random = time_seed | times: 1103515245 | plus: 12345 | divided_by: 65536 | modulo: 32768 | modulo: 10 %}
引用元: This is how I generate random numbers with liquid ;-)(community.shopify.com) [EN]
ファイルの存在を確認
{% for static_file in site.static_files %}
{% if static_file.path == '/favicon.ico' %}
{% assign favicon = true %}
{% endif %}
{% endfor %}
引用元: template - Jekyllを使ってファイルの存在を確認する(Code examples)
ページへのリンク作成
ファイルの元々の拡張子を含める必要がある。
[Link to a document]({% link _collection/name-of-document.md %})
ポストへのリンク作成
ファイルの拡張子を含める必要はない。
[Name of Link]({% post_url 2010-07-21-name-of-post %})
数の演算
数の演算する際に利用できるLiquidフィルタ
- 加算: plus
- 減算: minus
- 乗算: times
除算: divided_by (結果は最も近い整数に切り捨て)
除数と同じタイプの結果を生成する。 浮動小数点数で除算すると、結果も浮動小数点数になります。
{% assign my_integer = 7 %} {% assign my_float = my_integer | times: 1.0 %} {{ 20 | divided_by: my_float }}
my_integerを1.0で乗算して、浮動小数点数に変換することで結果を浮動小数点数で得られます。
- 除算の余り: modulo
値の丸め: round (四捨五入)
引数の値で、小数点以下の桁数に丸め (デフォルトは整数で丸め)
フィルターが適用される前に、入力を数値に変換しようとします。
- 端数の切り上げ: ceil
- 端数の切り捨て: floor
Liquidタグの表示
Liquidタグ自身を表示させたい場合、{% raw %} と {% endraw %}で囲みます。