jekyllのタグのデータ構想
jekyllのタグにはsite.tagsでアクセスできる。 site.tagsは以下のようなイメージのハッシュである。
{タグA => [ページ1, ページ2, ページ3],
タグB => [ページ4, ページ5, ページ6],
タグC => [ページ7, ページ8, ページ9]}
タグの一覧を出力する
これを踏まえて。 サイトの全タグを一覧するLiquidテンプレートは以下のように書ける。
{% for tag in site.tags %}
{{ tag | first }}
{% endfor %}
Liquidではforでハッシュを走査すると配列が得られ[0]の要素にキーが、[1]の要素に値が格納される。
タグ名はキーなので、firstで先頭の要素のみ取り出してやることでタグの一覧が得られる。
タグが付いたページの一覧を出力する
site.tagsの値は、キーのタグが付けられたページの配列となっている。
以下はjekyllタグが付けられたページをタイトルの一覧するLiquidテンプレートの例だ。
{% for post in site.tags['jekyll'] %}
{{ post.title }}
{% endfor %}
