diff --git a/aider/website/docs/index.md b/aider/website/docs/index.md
index f3ecfa1b1..9b3ee39dd 100644
--- a/aider/website/docs/index.md
+++ b/aider/website/docs/index.md
@@ -12,31 +12,36 @@ Aider is AI pair programming in your terminal. This documentation will help you
## Table of Contents
-{% assign pages_list = site.html_pages | sort:"nav_order" %}
-{% assign top_level_pages = pages_list | where_exp:"item", "item.parent == nil and item.title != nil and item.nav_exclude != true" %}
+{% assign pages_list = site.html_pages | sort: "nav_order" %}
-{% for page in top_level_pages %}
- {% if page.title != nil and page.url != "/" %}
+{% for page in pages_list %}
+ {% if page.title and page.url != "/" and page.parent == nil and page.nav_exclude != true %}
-
{{ page.title }}
- {% assign children = pages_list | where:"parent", page.title | sort:"nav_order" %}
+
+ {% assign children = site.html_pages | where: "parent", page.title | sort: "nav_order" %}
{% if children.size > 0 %}
{% for child in children %}
- -
- {{ child.title }}
- {% assign grandchildren = pages_list | where:"parent", child.title | sort:"nav_order" %}
- {% if grandchildren.size > 0 %}
-
- {% endif %}
-
+ {% if child.title %}
+ -
+ {{ child.title }}
+
+ {% assign grandchildren = site.html_pages | where: "parent", child.title | sort: "nav_order" %}
+ {% if grandchildren.size > 0 %}
+
+ {% for grandchild in grandchildren %}
+ {% if grandchild.title %}
+ -
+ {{ grandchild.title }}
+
+ {% endif %}
+ {% endfor %}
+
+ {% endif %}
+
+ {% endif %}
{% endfor %}
{% endif %}