diff --git a/Content.html b/Content.html index 79f5c0e..7732514 100644 --- a/Content.html +++ b/Content.html @@ -121,6 +121,41 @@ + + + + + + diff --git a/convert/pandoc/includes/ScrollIntoView.js b/convert/pandoc/includes/ScrollIntoView.js new file mode 100644 index 0000000..4e551e4 --- /dev/null +++ b/convert/pandoc/includes/ScrollIntoView.js @@ -0,0 +1,16 @@ + diff --git a/convert/pandoc/includes/SideNav.js b/convert/pandoc/includes/SideNav.js index 3e95ed2..b4cda10 100644 --- a/convert/pandoc/includes/SideNav.js +++ b/convert/pandoc/includes/SideNav.js @@ -8,11 +8,14 @@ if (m.offsetLeft - expandWidth < 0) { m.style.marginLeft = `${expandWidth + 40}px` } + + document.getElementById("nav-content-inline").style.display = "none"; } function closeSideNav() { document.getElementById("side-nav").style.width = "0"; document.getElementById("main-markdown").style.marginLeft = null; + document.getElementById("nav-content-inline").style.display = "initial"; } var EXPAND_ALL = "⊞"; @@ -44,22 +47,34 @@ }; var onLoad = function () { - var treeListItems = document.querySelectorAll('nav ul a'); + var treeListItems = document.querySelectorAll('nav ul li'); for (var i = 0; i < treeListItems.length; i++) { + + var isLeaf = treeListItems[i].getElementsByTagName('ul').length == 0; + if (isLeaf) { + treeListItems[i].classList.add("leaf") + continue; + } + // click handler - treeListItems[i].addEventListener('click', function (e) { - var parent = e.target.parentElement; - var classList = parent.classList; - if (classList.contains("open")) { // close the element and its children - classList.remove('open'); - var openChildrenList = parent.querySelectorAll(':scope .open'); - for (var j = 0; j < openChildrenList.length; j++) { - openChildrenList[j].classList.remove('open'); + treeListItems[i].addEventListener('click', + function (e) { + var target = e.target; + + var classList = target.classList; + if (classList.contains("open")) { // close the element and its children + classList.remove('open'); + var openChildrenList = target.querySelectorAll(':scope li.open'); + for (var j = 0; j < openChildrenList.length; j++) { + openChildrenList[j].classList.remove('open'); + } + } else { // open the element + classList.add('open'); } - } else { // open the element - classList.add('open'); + + e.stopPropagation(); } - }); + ); } } diff --git a/convert/pandoc/includes/Template.html b/convert/pandoc/includes/Template.html index 80c8c87..7bc3dbd 100644 --- a/convert/pandoc/includes/Template.html +++ b/convert/pandoc/includes/Template.html @@ -46,7 +46,20 @@ ${ Title.html() } $endif$ $if(abstract)$ -