diff --git a/packages/share-theme/src/scripts/modules/search.ts b/packages/share-theme/src/scripts/modules/search.ts index c3a3c4e7a..768b9421f 100644 --- a/packages/share-theme/src/scripts/modules/search.ts +++ b/packages/share-theme/src/scripts/modules/search.ts @@ -23,7 +23,10 @@ function buildResultItem(result: SearchResult) { export default function setupSearch() { - const searchInput: HTMLInputElement = document.querySelector(".search-input")!; + const searchInput: HTMLInputElement | null = document.querySelector(".search-input"); + if (!searchInput) { + return; + } searchInput.addEventListener("keyup", debounce(async () => { // console.log("CHANGE EVENT"); @@ -38,14 +41,14 @@ export default function setupSearch() { lines.push(buildResultItem(result)); } lines.push(""); - + const container = parseHTML(lines.join("")) as HTMLDivElement; // console.log(container, lines); const rect = searchInput.getBoundingClientRect(); container.style.top = `${rect.bottom}px`; container.style.left = `${rect.left}px`; container.style.minWidth = `${rect.width}px`; - + const existing = document.querySelector(".search-results"); if (existing) existing.replaceWith(container); else document.body.append(container); @@ -58,4 +61,4 @@ export default function setupSearch() { if (parents(e.target as HTMLElement, ".search-results,.search-item").length) return; if (existing) existing.remove(); }); -} \ No newline at end of file +} diff --git a/packages/share-theme/src/templates/page.ejs b/packages/share-theme/src/templates/page.ejs index 991ba5d0c..6a47b3794 100644 --- a/packages/share-theme/src/templates/page.ejs +++ b/packages/share-theme/src/templates/page.ejs @@ -131,10 +131,12 @@ content = content.replaceAll(headingRe, (...match) => { -
- - -
+ <% if (hasTree) { %> +
+ + +
+ <% } %> <% if (hasTree) { %>