summaryrefslogtreecommitdiff
path: root/scripts/toc.js
diff options
context:
space:
mode:
authoraltaf-creator <dev@altafcreator.com>2024-04-17 16:19:15 +0700
committeraltaf-creator <dev@altafcreator.com>2024-04-17 16:19:15 +0700
commitcd34dc6fb1cd47e578f761a7609bd976f253eac7 (patch)
tree3e488307733455c1a97b347a745d06f38ecf24e6 /scripts/toc.js
parent3d0ccfba34d6371b41e877189b78599ae7b2f98a (diff)
idk what i did, i forgot. go check the diffs
Diffstat (limited to 'scripts/toc.js')
-rw-r--r--scripts/toc.js84
1 files changed, 45 insertions, 39 deletions
diff --git a/scripts/toc.js b/scripts/toc.js
index 107c846..2823b53 100644
--- a/scripts/toc.js
+++ b/scripts/toc.js
@@ -2,45 +2,51 @@
// trying javascript
function toc() {
- const tocDiv = document.getElementById("toc");
- const content = document.getElementById("main");
- const headers = content.querySelectorAll('h1, h2, h3, h4, h5, h6');
-
- console.log(headers)
+ const tocDiv = document.getElementById("toc");
+ const content = document.getElementById("main");
+ const headers = content.querySelectorAll('h1, h2, h3, h4, h5, h6');
+
+ console.log(headers)
- const ul = document.createElement("ul");
- tocDiv.appendChild(ul)
+ const ul = document.createElement("ul");
+ tocDiv.appendChild(ul)
+
+ for (var i = 0; i < headers.length; i++) {
+ if (!headers[i].hasAttribute('id')) {
+ headers[i].setAttribute('id', `${headers[i].innerHTML.split(" ")[0]}-${i}`)
+ }
+ }
+
+ for (var i = 0; i < headers.length; i++) {
+ if (headers[i].hasAttribute('id')) {
+ const li = document.createElement("li");
+ var level = headers[i].tagName[1];
+ console.log(level + headers[i].tagName + headers[i].id)
+ if (level == 1) {
+ const a = document.createElement("a");
+ ul.appendChild(li);
+ li.appendChild(a);
+ a.href = "#" + headers[i].id
+ a.textContent = headers[i].textContent
+ }
+ else
+ {
+ var nowUl = document.createElement("ul");
+ ul.appendChild(nowUl);
- for (var i = 0; i < headers.length; i++) {
- if (headers[i].hasAttribute('id')) {
- const li = document.createElement("li");
- var level = headers[i].tagName[1];
- console.log(level + headers[i].tagName + headers[i].id)
- if (level == 1) {
- const a = document.createElement("a");
- ul.appendChild(li);
- li.appendChild(a);
- a.href = "#" + headers[i].id
- a.textContent = headers[i].textContent
- }
- else
- {
- var nowUl = document.createElement("ul");
- ul.appendChild(nowUl);
-
- for (var j = 0; j < level - 2; j++) {
- const currentUl = document.createElement("ul");
- nowUl.appendChild(currentUl);
- nowUl = currentUl;
- }
-
- const currentLi = document.createElement("li");
- const a = document.createElement("a");
- nowUl.appendChild(currentLi);
- currentLi.appendChild(a);
- a.href = "#" + headers[i].id
- a.textContent = headers[i].textContent
- }
- }
- }
+ for (var j = 0; j < level - 2; j++) {
+ const currentUl = document.createElement("ul");
+ nowUl.appendChild(currentUl);
+ nowUl = currentUl;
+ }
+
+ const currentLi = document.createElement("li");
+ const a = document.createElement("a");
+ nowUl.appendChild(currentLi);
+ currentLi.appendChild(a);
+ a.href = "#" + headers[i].id
+ a.textContent = headers[i].textContent
+ }
+ }
+ }
}