ADD table of contents

This commit is contained in:
Hoernschen 2024-01-09 22:51:52 +01:00
parent c1594f153b
commit 4ab9bdab6e
Signed by: hoernschen
GPG key ID: 37591FAF4E6D3462
5 changed files with 85 additions and 1 deletions

View file

@ -241,6 +241,75 @@ a {
/* Sections */ /* Sections */
.table-of-contents {
position: fixed;
left: 0px;
top: 0px;
height: 100%;
display: flex;
flex-direction: row;
.extend {
margin: auto;
padding-block: 1rem;
padding-inline: 0.4rem;
border-radius: 0rem 0.5rem 0.5rem 0rem;
background-color: black;
cursor: pointer;
}
}
#TableOfContents {
display: none;
margin: auto;
padding-inline: 20px;
border-radius: 0rem 0.5rem 0.5rem 0rem;
background-color: black;
font-size: larger;
ul {
counter-reset:toc1;
list-style-type:none;
padding-inline-start: 0rem;
padding-block: 0.5rem;
}
li {
list-style-type:none;
ul {
counter-reset:toc2;
li {
list-style-type:none;
ul {
counter-reset:toc3;
li:before {
counter-increment:toc3;
content:counter(toc1) "." counter(toc2) "." counter(toc3) " ";
}
}
}
li:before {
counter-increment:toc2;
content:counter(toc1) "." counter(toc2) " ";
}
}
}
li:before {
counter-increment:toc1;
content:counter(toc1) ". ";
}
}
#TableOfContents.show {
display: block;
}
#content { #content {
flex-grow: 1; flex-grow: 1;
display: flex; display: flex;
@ -248,7 +317,8 @@ a {
} }
.title h1 { .title h1 {
font-size: xx-large; font-size: xxx-large;
padding-block-end: 3rem;
} }
.content { .content {

View file

@ -14,6 +14,12 @@
</div> </div>
{{ end }} {{ end }}
<!-- <h6>{{ .Date.Format "Mon, Jan 2, 2006" }}</h6> --> <!-- <h6>{{ .Date.Format "Mon, Jan 2, 2006" }}</h6> -->
{{ if gt (.TableOfContents | findRE `<li>` | len) 4}}
<div class="table-of-contents">
{{ .TableOfContents }}
<div class="extend" onclick="toggleTableOfContent(event)"><i class="icon-angle-right"></i></div>
</div>
{{ end }}
{{ .Content }} {{ .Content }}
</div> </div>
{{ end }} {{ end }}

View file

View file

@ -27,6 +27,7 @@
<link rel="stylesheet" type="text/css" href="{{ $index.RelPermalink }}"> <link rel="stylesheet" type="text/css" href="{{ $index.RelPermalink }}">
{{ end }} {{ end }}
<link rel="stylesheet" type="text/css" href="/icons/fontawesome.css"> <link rel="stylesheet" type="text/css" href="/icons/fontawesome.css">
<script src="/js/index.js"></script>
<script src="/js/theme.js"></script> <script src="/js/theme.js"></script>
<script src="/js/scroll.js"></script> <script src="/js/scroll.js"></script>
</head> </head>

7
static/js/index.js Normal file
View file

@ -0,0 +1,7 @@
function toggleTableOfContent(e) {
const toc = document.getElementById('TableOfContents');
toc.classList.toggle("show");
const extend = toc.parentElement.getElementsByClassName("extend")[0];
extend.children[0].classList.toggle("icon-angle-right");
extend.children[0].classList.toggle("icon-angle-left");
}