Плохо делать это автоматически. Тем не менее, это очень легко достичь. Вот код:
<ul>
{% for item in site.pages %}
<li {% if page.url contains item.url %}class="active"{% endif %}>
<a href="{{ item.url }}">{{ item.title }}</a>
</li>
{% endfor %}
</ul>
Источник: https://jekyllcodex.org/without-plugin/simple-menu/
Чтобы определить порядок появления, вы можете добавить к страницам переменную переднего вопроса, называемую «порядок», и добавить другой номер страницы к этой переменной на каждой странице. Код должен отсортировать страницы перед тем, как их зациклить. Это выглядит так:
{% assign sitepages = site.pages | sort: order %}
{% for item in site.pages %}
...
{% endfor %}
Удачного кодирования!