I can’t remember where I found this or figured it out, but you can manually give a sort order of individual elements in a publish.js file.
My code looks like this:
var siteLeft = document.querySelector('.site-body-left-column');
let navOrderAsc = ["welcome.md", "start here.md"]; /* these go on top*/
let navOrderDsc = []; /* these go at the bottom */
/* items not mentioned go in between in alphabetical order */
var siteNav = siteLeft.querySelector('.nav-view-outer');
var navContainer = siteNav.querySelector('.tree-item').querySelector('.tree-item-children');
for (const item of navOrderAsc.reverse()){
querytext = '[data-path="' + item + '"]';
navItem = navContainer.querySelector(querytext);
if (navItem == null) continue;
moveItem = navItem.parentElement;
navContainer.prepend(moveItem);
}
for (const item of navOrderDsc.reverse()){
querytext = '[data-path="' + item + '"]';
navItem = navContainer.querySelector(querytext);
if (navItem == null) continue;
moveItem = navItem.parentElement;
navContainer.append(moveItem);
}