{% macro filter_group(name, label, values, taxonomy) %}
{{ label }} {% set tax = get_taxonomy(kind=taxonomy) %} {% for term in tax.items | sort(attribute="name") %} {% if term.name in values %} {% endif %} {% endfor %}
{% endmacro %} {% macro filters(pages, current_taxonomy) %} {% if current_taxonomy != "categories" %} {% set_global cat_set = [] %} {% for page in pages %} {% for c in page.taxonomies.categories %} {% if c not in cat_set %} {% set_global cat_set = cat_set | concat(with=c) %} {% endif %} {% endfor %} {% endfor %} {{ self::filter_group(name="category", label="Categories", values=cat_set, taxonomy="categories") }} {% endif %} {% if current_taxonomy != "states" %} {% set_global state_set = [] %} {% for page in pages %} {% for s in page.taxonomies.states %} {% if s not in state_set %} {% set_global state_set = state_set | concat(with=s) %} {% endif %} {% endfor %} {% endfor %} {{ self::filter_group(name="state", label="States", values=state_set, taxonomy="states") }} {% endif %} {% if current_taxonomy != "cities" %} {% set_global city_set = [] %} {% for page in pages %} {% for c in page.taxonomies.cities %} {% if c not in city_set %} {% set_global city_set = city_set | concat(with=c) %} {% endif %} {% endfor %} {% endfor %} {{ self::filter_group(name="city", label="Cities", values=city_set, taxonomy="cities") }} {% endif %} {% endmacro %} {% macro sidebar(pages, current_taxonomy) %}
{{ self::filters(pages=pages, current_taxonomy=current_taxonomy) }}
{% endmacro %} {% macro results(pages) %}

{{ pages | length }} space(s)

{% for page in pages %}

{{ page.title }}

{% for cat in page.taxonomies.categories %}{{ cat }}{% if not loop.last %}, {% endif %}{% endfor %}

{{ page.content | safe }} {% if page.extra.address %}

{{ page.extra.address }}{% if page.extra.pincode %}, {{ page.extra.pincode }}{% endif %}{{ page.taxonomies.cities | first }}, {{ page.taxonomies.states | first }}

{% endif %}
{% endfor %} {% endmacro %}