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

あらすじ

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

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

で、こうした。

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

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

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

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

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

解法

Liquidでもできました。

{% raw %}
{% 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 %}
{% endraw %}

一年半越しに解決。

関連記事(この記事の初版より古い記事はリンクがグレーで表示されます)

  1. 2013/05/23 [Jekyll] [Liquid] [Ruby] 記事の目次を出力するJekyllプラグインの改良
  2. 2012/10/10 [Jekyll] [Liquid] [Ruby] Jekyll(Liquid)で記事の目次を出力するプラグインを作ってみた
  3. 2015/03/14 [Jekyll] Jekyllがデフォルトでは外部から繋がらなくなってたよ
  4. 2014/11/30 [Jekyll] kawasaki.rb #018 でJekyllドキュメント翻訳のLTをしてきた
  5. 2014/07/26 [Jekyll] [Translate] jekyllrb-ja キックオフを実施しました
  6. 2014/06/22 [Jekyll] [Translate] Jekyllドキュメントを翻訳してなんとなくわかってきたもの
  7. 2014/04/01 [Ruby] [Jekyll] [イベント] kawasaki.rb #010 で発表してきました #kwskrb
  8. 2014/03/13 [Jekyll] [GitHub] Jekyllドキュメントの日本語翻訳リポジトリ「jekyllrb.com.jp」を作成しました
  9. 2014/01/28 [Jekyll] [GitHub] [Ruby] Jekyllプロジェクトへpull requestを行う手順(したとは言っていない)
  10. 2013/11/25 [Jekyll] Jekyllのプラグイン作成で複数ファイルにまたがったタグをどう扱えばいいのかわからない話
  11. 2013/09/07 [Ruby] [Git] [Jekyll] Jekyllバージョンアップの際に思いのほか手こずった話 てっく煮さん製プラグインの更新に追従したい編
  12. 2013/08/07 [Ruby] [Jekyll] [Git] Jekyllバージョンアップの際に思いのほか手こずった話 Jekyll Bootstrapの更新に追従したい編
  13. 2013/05/27 [Jekyll] [Ruby] Jekyll@GitHub Pagesの運用形態を変えたのでAnalyticsの設定が効かなくなっていた
  14. 2013/05/21 [Jekyll] [Git] GitHub PagesでJekyllプラグインを使えるようにするには…
  15. 2013/04/11 [Ruby] [Jekyll] Jekyllのバージョンを 0.12.0 にあげた