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

Tags: [ Jekyll ] [ Liquid ] Published: 2015/08/06

あらすじ

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

一年半越しに解決。

blog comments powered by Disqus

Author: kk_Ataka / Powered by Jekyll on GitHub Pages