<!-- # Jekyll Group-By-Array 0.1.0 # https://github.com/mushishi78/jekyll-group-by-array # © 2015 Max White <mushishi78@gmail.com> # MIT License --> <!-- Initialize --> {% assign __empty_array = '' | split: ',' %} {% assign group_names = __empty_array %} {% assign group_items = __empty_array %} <!-- Map --> {% assign __names = include.collection | map: include.field %} <!-- Flatten --> {% assign __names = __names | join: ',' | join: ',' | split: ',' %} <!-- Uniq --> {% assign __names = __names | sort %} {% for name in __names %} <!-- If not equal to previous then it must be unique as sorted --> {% unless name == previous %} <!-- Push to group_names --> {% assign group_names = group_names | push: name %} {% endunless %} {% assign previous = name %} {% endfor %} <!-- group_items --> {% for name in group_names %} <!-- Collect if contains --> {% assign __item = __empty_array %} {% for __element in include.collection %} {% if __element[include.field] contains name %} {% assign __item = __item | push: __element %} {% endif %} {% endfor %} <!-- Push to group_items --> {% assign group_items = group_items | push: __item %} {% endfor %}