Skip to content

Commit 2a58a7c

Browse files
fixes #2013
1 parent 4bd9bcd commit 2a58a7c

File tree

3 files changed

+55
-8
lines changed

3 files changed

+55
-8
lines changed

jekyll-assets/_includes/nav.html

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,26 @@ <h3 class="contentshead" onclick="expandAndCollapse(this)">{{ item.title }}</h3>
99
{% if item.sections[0] %}
1010
{% if page.url == item.path %}
1111
<div class="itemcontents" id="toc"></div>
12+
<div class="itemcontents noJS">
13+
<ul class="sectlevel1">
14+
{% for entry in item.sections %}
15+
<li>
16+
<a href="{{ site.baseurl }}{{ item.path }}#{{ entry.anchor }}">{{ entry.heading }}</a>
17+
{% if entry.subsections[0] %}
18+
<ul>
19+
{% for subentry in entry.subsections %}
20+
<li>
21+
<a href="{{ site.baseurl }}{{ item.path }}#{{ subentry.anchor }}">{{ subentry.heading }}</a>
22+
</li>
23+
{% endfor %}
24+
</ul>
25+
{% endif %}
26+
</li>
27+
{% endfor %}
28+
</ul>
29+
</div>
1230
{% else %}
13-
<div class="itemcontents hidden">
31+
<div class="itemcontents">
1432
<ul class="sectlevel1">
1533
{% for entry in item.sections %}
1634
<li>

jekyll-assets/css/style.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ nav#contents {
155155
}
156156

157157
nav#contents {
158-
overflow-y: hidden;
158+
overflow-y: auto;
159159
}
160160

161161
nav#mobile-contents {

jekyll-assets/scripts/nav.js

Lines changed: 35 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
function addClassJS(element, myclass) {
2-
var classes = element.className.split(" ");
3-
console.log(classes);
2+
var classes = element.className;
3+
if (classes) {
4+
classes = classes.split(" ");
5+
} else {
6+
classes = [];
7+
}
48
var i = classes.indexOf(myclass);
59
if (i < 0) {
610
classes.push(myclass);
@@ -9,8 +13,12 @@ function addClassJS(element, myclass) {
913
}
1014

1115
function removeClassJS(element, myclass) {
12-
var classes = element.className.split(" ");
13-
console.log(classes);
16+
var classes = element.className;
17+
if (classes) {
18+
classes = classes.split(" ");
19+
} else {
20+
classes = [];
21+
}
1422
var i = classes.indexOf(myclass);
1523
if (i >= 0) {
1624
classes.splice(i, 1);
@@ -21,7 +29,12 @@ function removeClassJS(element, myclass) {
2129
function expandAndCollapse(e) {
2230
var toExpand = e.nextElementSibling;
2331
if (toExpand) {
24-
var classes = toExpand.className.split(" ");
32+
var classes = toExpand.className;
33+
if (classes) {
34+
classes = classes.split(" ");
35+
} else {
36+
classes = [];
37+
}
2538
var currentState = classes.indexOf("hidden");
2639

2740
var expanded = document.querySelectorAll('div.itemcontents:not(.hidden)');
@@ -40,7 +53,12 @@ function expandAndCollapseMobile(e) {
4053
var toExpand = e.nextElementSibling;
4154
var parent = e.parentNode;
4255
if (toExpand) {
43-
var classes = toExpand.className.split(" ");
56+
var classes = toExpand.className;
57+
if (classes) {
58+
classes = classes.split(" ");
59+
} else {
60+
classes = [];
61+
}
4462
var currentState = classes.indexOf("hidden");
4563

4664
if (currentState > -1) {
@@ -52,3 +70,14 @@ function expandAndCollapseMobile(e) {
5270
}
5371
}
5472
}
73+
74+
window.addEventListener('load', function() {
75+
var tocitems = document.querySelectorAll("div.itemcontents:not(#toc)");
76+
for (var i=0; i < tocitems.length; i++) {
77+
addClassJS(tocitems[i], "hidden");
78+
}
79+
var currentItemNoJS = document.querySelectorAll("div.itemcontents.noJS");
80+
addClassJS(currentItemNoJS, "hidden");
81+
var contents = document.getElementById("contents");
82+
contents.style.overflowY = 'hidden';
83+
});

0 commit comments

Comments
 (0)