Чтобы не заморачиваться с AJAX на Vanilla JS (Fetch), хотя это более правильно, можно подкачивать набор нужных массивов ссылок. Эти массивы создаются исходя из дерева папок и файлов и хранятся в js-файлах или в json.
Ну, например. вот мой массив ссылок, который формируется обходом каталога:
const links = [
"25 CSS-tricks.html",
"4-cards.html",
"android_development_resources.html",
// ...
];
// Список сгенерированных ссылок на файлы
В документе на основе этого списка, скриптом генерируются элементы меню.
https://local-disc.firebaseapp.com/menu/articles/list.html