Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save rickydazla/fca5e7252c2a899cb42b to your computer and use it in GitHub Desktop.
Save rickydazla/fca5e7252c2a899cb42b to your computer and use it in GitHub Desktop.
{% if template contains 'collection' and collection.all_tags.size > 1 %}
<!-- A recursive loop to catch and filter out the different tag categories -->
{% assign c = 0 %}
{% for t in collection.all_tags %}
{% capture cat %}{{ cat }}{% capture temp_cat %}{% if t contains '_' %}{% assign cat_grp = t | split: '_' %}{{ cat_grp.first }}{% endif %}{% endcapture %}{% unless cat contains temp_cat %}{% if t contains '_' %}{% assign new_cat_grp = t | split: '_' %}{{ new_cat_grp.first }}{% endif %}{% unless forloop.last %}+{% endunless %}{% assign c = c | plus: 1 %}{% endunless %}{% endcapture %}
{% endfor %}
<!-- create array of tag categories -->
{% assign cat_array = cat | split: '+' %}
<!-- loop through tag categories -->
{% for i in cat_array %}
<!-- ignore if tag category is empty -->
{% unless i == '' %}
<h5>Filter by {{ i }}</h5>
<ul class="nav">
<!-- loop through collection tags -->
{% for t in collection.all_tags %}
<!-- if tag contains the category title -->
{% if t contains i %}
<!-- strip out tag category prefix and add/remove link for tag filtering -->
{% if current_tags contains t %}
<li>{{ t | remove: i | remove: '_' | append: '&nbsp;x' | link_to_remove_tag: t }}</li>
{% else %}
<li>{{ t | remove: i | remove: '_' | link_to_add_tag: t }}</li>
{% endif %}
{% endif %}
{% endfor %}
</ul>
{% endunless %}
{% endfor %}
{% endif %}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment