Skip to content

Instantly share code, notes, and snippets.

@sskylar
Last active January 26, 2021 13:40
Show Gist options
  • Save sskylar/8956549d1ae9dc91c89e74b1c5a0d8c9 to your computer and use it in GitHub Desktop.
Save sskylar/8956549d1ae9dc91c89e74b1c5a0d8c9 to your computer and use it in GitHub Desktop.
Sort Jekyll tags by popularity (number of posts)
<ul>
{% capture tags %}
{% for tag in site.tags %}
<li data-sort="{{ site.posts.size | minus: tag[1].size | prepend: '0000' | slice: -4, 4 }}">
<a href="/{{ site.tag_page_dir }}/{{ tag[0] | slugify: 'pretty' }}">{{ tag[0] }} <span>{{ tag[1].size }}</span></a>
</li>
{% endfor %}
{% endcapture %}
{{ tags | split:'</li>' | sort | join:'</li>' }}
</ul>
@jindaxia
Copy link

My result is

<ul>
  </li>
  <li data-sort="0000"><a href="/tags/tomato">Tomato <span>100</span></a></li>
  <li data-sort="0080"><a href="/tags/kale">Kale <span>20</span></a></li>
  <li data-sort="0099"><a href="/tags/arugula">Arugula <span>1</span></a></li>
  <li data-sort="0099"><a href="/tags/bok-choy">Bok choy <span>1</span></a></li>
  <li data-sort="0099"><a href="/tags/zucchini">Zucchini <span>1</span></a>
</ul>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment