{% 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 }}">{{ 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 }}">{{ nav_item.title }}</a>
    </li>
{% endif %}
