{#-
Override of Zensical 0.0.37 partials/nav-item.html with two changes:
sections without an index page take their icon from extra.nav_icons in zensical.toml,
and only a section's first child can serve as its index page.
-#}
{% macro render_status(nav_item, type) %}
{% set class = "md-status md-status--" ~ type %}
{% if config.extra.status and config.extra.status[type] %}
{% else %}
{% endif %}
{% endmacro %}
{% macro render_title(nav_item) %}
{% if nav_item.typeset %}
{{ nav_item.typeset.title }}
{% else %}
{{ nav_item.title }}
{% endif %}
{% endmacro %}
{% macro render_content(nav_item, ref) %}
{% set ref = ref or nav_item %}
{% if nav_item.meta and nav_item.meta.icon %}
{% include ".icons/" ~ nav_item.meta.icon ~ ".svg" %}
{% elif nav_item.children and config.extra.nav_icons and nav_item.title in config.extra.nav_icons %}
{% include ".icons/" ~ config.extra.nav_icons[nav_item.title] ~ ".svg" %}
{% endif %}
{{ render_title(ref) }}
{% if nav_item.meta and nav_item.meta.subtitle %}
{{ nav_item.meta.subtitle }}
{% endif %}
{% if nav_item.meta and nav_item.encrypted %}
{{ render_status(nav_item, "encrypted") }}
{% endif %}
{% if nav_item.meta and nav_item.meta.status %}
{{ render_status(nav_item, nav_item.meta.status) }}
{% endif %}
{% endmacro %}
{% macro render_pruned(nav_item, ref) %}
{% set ref = ref or nav_item %}
{% set first = nav_item.children | first %}
{% if first and first.children %}
{{ render_pruned(first, ref) }}
{% else %}
{{ render_content(ref) }}
{% if nav_item.children | length > 0 %}
{% endif %}
{% endif %}
{% endmacro %}
{% macro render(nav_item, path, level, parent) %}
{% set class = "md-nav__item" %}
{% if nav_item.active %}
{% set class = class ~ " md-nav__item--active" %}
{% endif %}
{% if nav_item.pages %}
{% if page in nav_item.pages %}
{% set nav_item = page %}
{% endif %}
{% endif %}
{% if nav_item.children %}
{% set _ = namespace(index = none) %}
{% if "navigation.indexes" in features %}
{% set first = nav_item.children | first %}
{% if first.is_index %}
{% set _.index = first %}
{% endif %}
{% endif %}
{% set index = _.index %}
{% if "navigation.tabs" in features %}
{% if level == 1 and nav_item.active %}
{% set class = class ~ " md-nav__item--section" %}
{% set is_section = true %}
{% endif %}
{% if "navigation.sections" in features %}
{% if level == 2 and parent.active %}
{% set class = class ~ " md-nav__item--section" %}
{% set is_section = true %}
{% endif %}
{% endif %}
{% elif "navigation.sections" in features %}
{% if level == 1 %}
{% set class = class ~ " md-nav__item--section" %}
{% set is_section = true %}
{% endif %}
{% endif %}
{% if "navigation.prune" in features %}
{% if not is_section and not nav_item.active %}
{% set class = class ~ " md-nav__item--pruned" %}
{% set is_pruned = true %}
{% endif %}
{% endif %}