Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/uPagge/uBlogger.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authornoaione <noaione0809@gmail.com>2021-03-04 11:28:01 +0300
committernoaione <noaione0809@gmail.com>2021-03-04 11:28:01 +0300
commitbfaaeaea36a27bb7c8f7f23ac0bc6eca499e46c1 (patch)
tree99f0fb1c4bd2e082b008b420f566f10aba05e882 /src
parentec5d6dcebe1b98af283fafb7ab2413dadb616dec (diff)
Adjust fix to the newest article formatting
Diffstat (limited to 'src')
-rw-r--r--src/js/theme.js40
1 files changed, 22 insertions, 18 deletions
diff --git a/src/js/theme.js b/src/js/theme.js
index f7a30e1..4376f72 100644
--- a/src/js/theme.js
+++ b/src/js/theme.js
@@ -40,6 +40,7 @@ class Theme {
this.resizeEventSet = new Set();
this.switchThemeEventSet = new Set();
this.clickMaskEventSet = new Set();
+ this.tocSelected = -1;
if (window.objectFitImages) objectFitImages();
}
@@ -454,18 +455,6 @@ class Theme {
$toc.style.position = 'fixed';
$toc.style.top = `${TOP_SPACING}px`;
}
- // Check if there's subtitle
- const $subtitleLinkElem = document.getElementsByClassName("single-subtitle headerLink");
- let tocSubtract = $subtitleLinkElem.length > 0 ? 2 : 1;
-
- // Check if there's embedded gist markdown
- let $embeddedGists = []
- this.util.forEach($headerLinkElements, $headerElem => {
- if ($headerElem.parentNode.nodeName === "ARTICLE") {
- $embeddedGists.push($headerElem);
- }
- })
- tocSubtract += $embeddedGists.length;
this.util.forEach($tocLinkElements, $tocLink => {
$tocLink.classList.remove('active');
});
@@ -482,13 +471,28 @@ class Theme {
break;
}
}
- activeTocIndex -= tocSubtract;
if (activeTocIndex !== -1) {
- $tocLinkElements[activeTocIndex].classList.add('active');
- let $parent = $tocLinkElements[activeTocIndex].parentElement;
- while ($parent !== $tocCore) {
- $parent.classList.add('has-active');
- $parent = $parent.parentElement.parentElement;
+ const $selHeader = $headerLinkElements[activeTocIndex];
+ let $selectedToC;
+ for (let i = 0; i < $tocLinkElements.length; i++) {
+ if ($tocLinkElements[i].hash.slice(1) === $selHeader.id) {
+ $selectedToC = $tocLinkElements[i];
+ if (i !== this.tocSelected) {
+ this.tocSelected = i;
+ }
+ break;
+ }
+ }
+ if (typeof $selectedToC === "undefined" && this.tocSelected !== -1) {
+ $selectedToC = $tocLinkElements[this.tocSelected];
+ }
+ if (typeof $selectedToC !== "undefined") {
+ $selectedToC.classList.add('active');
+ let $parent = $selectedToC.parentElement;
+ while ($parent !== $tocCore) {
+ $parent.classList.add('has-active');
+ $parent = $parent.parentElement.parentElement;
+ }
}
}
});