{% if nav_item.children %}
  {% set child=nav_item.children[0] %}
  {% if child.title == "toc" %}
    <li {% if child.active %}class="active"{% endif %}><a href="{{ child.url|url }}">{{ nav_item.title }}</a>
  {% else %}
    <li><a href="{% include "child_url.html" %}">{{ nav_item.title }}</a>
  {% endif %}
  {% if nav_item.active %}
    <ul>
          {% for nav_item in nav_item.children %}
              {% if nav_item.title != "toc" %}
                {% include "nested_toc.html" %}
              {% endif %}
          {% endfor %}
    </ul>
  {% endif %}
    </li>
{% else %}
  <li {% if nav_item.active %}class="active"{% endif %}>
    <a href="{{ nav_item.url|url }}">{{ nav_item.title }}</a>
  </li>
{% endif %}
