74 lines
2.3 KiB
HTML
74 lines
2.3 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
|
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" media="screen">
|
|
<link rel="stylesheet" type="text/css" href="{{ site.baseurl }}/css/style.css" media="screen">
|
|
<title>{{ page.title }}</title>
|
|
</head>
|
|
|
|
<body data-spy="scroll" data-target="#table-of-contents" data-offset="40">
|
|
|
|
<!-- Fixed sidebar -->
|
|
<div style="position: fixed; width: 100%;">
|
|
<div class="container" style="height: 0;">
|
|
<div class="row" style="height: 0;">
|
|
<div class="col-md-3">
|
|
<nav class="nav navbar navbar-light" id="table-of-contents"></nav>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Main content -->
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="col-md-3" style="pointer-events: none;">
|
|
</div>
|
|
|
|
<div class="col-md-9 content">
|
|
<div id="main-content">
|
|
{{ content }}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|
|
|
|
<!-- Generate a table of contents based on header elements -->
|
|
<script type="text/javascript">
|
|
var mainContent = document.getElementById('main-content');
|
|
var tableOfContents = document.getElementById('table-of-contents');
|
|
var headers = mainContent.querySelectorAll('h2, h3');
|
|
var lastSubnav;
|
|
for (let i = 0, length = headers.length; i < length; i++) {
|
|
var header = headers[i];
|
|
if (!header.id) continue;
|
|
|
|
var li = document.createElement('li');
|
|
li.className = 'navbar-item';
|
|
var link = document.createElement('a');
|
|
link.href = '#' + header.id;
|
|
link.innerText = header.innerText;
|
|
link.className = 'nav-link'
|
|
li.appendChild(link);
|
|
|
|
if (header.tagName === 'H2') {
|
|
lastSubnav = document.createElement('ul');
|
|
lastSubnav.className = 'nav navbar';
|
|
li.appendChild(lastSubnav);
|
|
tableOfContents.appendChild(li);
|
|
} else {
|
|
lastSubnav.appendChild(li);
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<script
|
|
src="https://code.jquery.com/jquery-3.3.1.min.js"
|
|
crossorigin="anonymous"></script>
|
|
<script
|
|
src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.bundle.min.js"></script>
|