blog
jekyll ではじめる Static Web Site シリーズjekyllのタグを投稿数で並び替えて表示する
この記事は書かれてから1年以上経過しており、内容が古い場合があります。
jekyllで投稿数での多いタグ一覧を作る方法の紹介です。
実際にこのブログで表示しているのがこれです。
Liquidタグのsortフィルターが使えるかと思って試したけれど上手くいかなかったので結局フィルターを自作しました。
Jekyllプラグイン
プラグインは_plugins
ディレクトリに保存するだけ。
中身はtagの配列を渡して、何で並び替えるか、昇順か降順かの指定を行えるようにしています。rubyよくわかっていないのでこうした方が良いってのがあればコメントください。
HTMLテンプレート
テンプレート側はassign
タグを使って並び替えたタグを格納します。
<ul class="component-popular-tags">
{% assign order_tags = site.tags | tag_order: 'count', 'DESC' %}
{% for tag in order_tags limit:6 %}
{% assign slug = tag[0] %}
<li class="tag-item">
<a href="{{ site.url }}{{ site.baseurl }}{{ site.tag_dir }}/{{ slug }}/" title="タグ:{{ slug }}">
<span class="item-badge">{{ tag[1] | size }}</span>
{{ slug }}
</a>
</li>
{% endfor %}
</ul>
おそらくカテゴリーも同じ方法で出力できるようになると思います。
ではでは。