{% macro menu_items(key="") %} {% for page in pages | get(key=key, default=pages) | unzip | filter(attribute="1.order") | sort(attribute="1.order") %} {% set parent = key %} {% set key = page.0 %} {% set value = page.1 %} {% if value.type and value.type == "page" %}
  • {{value.title}}
  • {% elif value.type and value.type == "category" %} {% set next = [parent, key] | join(sep=".") | trim_start_matches(pat=".") %}
    {{value.title}} {{ self::menu_items(key=next) }}
    {% endif %} {% endfor %} {% endmacro category %}