From 2de48b267a8f2d6ed0461d2febc266559c2d8d47 Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Wed, 15 Nov 2023 04:01:48 +0000
Subject: [PATCH] fix: set htmlAst after walking tree in ofm (closes #589)
---
quartz/components/scripts/explorer.inline.ts | 27 +++++++++++++++++++++++++--
1 files changed, 25 insertions(+), 2 deletions(-)
diff --git a/quartz/components/scripts/explorer.inline.ts b/quartz/components/scripts/explorer.inline.ts
index 8073979..9fe1865 100644
--- a/quartz/components/scripts/explorer.inline.ts
+++ b/quartz/components/scripts/explorer.inline.ts
@@ -3,6 +3,18 @@
// Current state of folders
let explorerState: FolderState[]
+const observer = new IntersectionObserver((entries) => {
+ // If last element is observed, remove gradient of "overflow" class so element is visible
+ const explorer = document.getElementById("explorer-ul")
+ for (const entry of entries) {
+ if (entry.isIntersecting) {
+ explorer?.classList.add("no-background")
+ } else {
+ explorer?.classList.remove("no-background")
+ }
+ }
+})
+
function toggleExplorer(this: HTMLElement) {
// Toggle collapsed state of entire explorer
this.classList.toggle("collapsed")
@@ -101,8 +113,12 @@
) as HTMLElement
// Get corresponding content <ul> tag and set state
- const folderUL = folderLi.parentElement?.nextElementSibling as HTMLElement
- setFolderState(folderUL, folderUl.collapsed)
+ if (folderLi) {
+ const folderUL = folderLi.parentElement?.nextElementSibling
+ if (folderUL) {
+ setFolderState(folderUL as HTMLElement, folderUl.collapsed)
+ }
+ }
})
} else {
// If tree is not in localStorage or config is disabled, use tree passed from Explorer as dataset
@@ -113,6 +129,13 @@
window.addEventListener("resize", setupExplorer)
document.addEventListener("nav", () => {
setupExplorer()
+
+ const explorerContent = document.getElementById("explorer-ul")
+ // select pseudo element at end of list
+ const lastItem = document.getElementById("explorer-end")
+
+ observer.disconnect()
+ observer.observe(lastItem as Element)
})
/**
--
Gitblit v1.10.0