2018年以降の記事はGitHub Pagesに移行しました

Jekyllで出力するタグをソートする 解決編

あらすじ

1年半前の記事Jekyllプロジェクトへpull requestを行う手順(したとは言っていない) - kk_Atakaの日記でこんな事をやりたがってた。

Jekyll でかき集められた tags (タグのリスト) がバラバラのため、 tags.html ページから探すのがつらいのでソートをしたい。

で、こうした。

Jekyll のソースを追っていった結果、 jekyll/lib/jekyll/site.rb 内の一行をいじるだけでいけた。

その後、悩んだりもした。

  • 一応、 「 Liquid の領域」で頑張ればできる かも という情報は見つけた

  • しかし、そもそもこの「タグをソートする」という機能が、どの領域で受け持つのが妥当なのかわからない( Liquid? Jekyll?)

    • ソースを読んでいった結果、「タグの value (記事自体)のソート」を Jekyll でやっていたので、 key もここでやればいいんじゃね?と思った

解法

Liquidでもできました。

{% assign sorted_tags = site.tags | sort %}
{% for tag in sorted_tags %}
  {% assign t = tag[0] %}
  <code><a href="/tags.html#{{ t }}">{{ t }} <sub>{{ site.tags[t].size }}</sub></a></code>
{% endfor %}

一年半越しに解決。