jekyllでタグの一覧を出力する / タグが付いたページの一覧を出力する
タグ: jekyll / 初版公開: 2014-06-30

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 %}