From c0ceb2eed2dc3bd496ff558fc6d9ccf4b30efe04 Mon Sep 17 00:00:00 2001 From: Matthias Date: Fri, 14 Aug 2026 21:53:46 +0200 Subject: [PATCH] Add TinySearch-powered site search --- .github/workflows/ci.yml | 8 +- Makefile | 28 +-- content/static/tinysearch.md | 7 + static/css/main.css | 136 ++++++++++- static/search.mjs | 320 ++++++++++++++++++------- static/search_min.js | 1 - static/tinysearch_engine.wasm | Bin 0 -> 179820 bytes templates/index.html | 115 ++++----- templates/page.html | 36 +-- templates/snippets/header_actions.html | 38 +++ templates/snippets/search.html | 32 ++- templates/tinysearch_index.html | 7 +- 12 files changed, 513 insertions(+), 215 deletions(-) create mode 100644 content/static/tinysearch.md delete mode 100644 static/search_min.js create mode 100644 static/tinysearch_engine.wasm create mode 100644 templates/snippets/header_actions.html diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f05d0dd1..65531075 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -38,13 +38,11 @@ jobs: curl -sSL https://github.com/mre/gh-stats/releases/download/v0.1.0/gh-stats-v0.1.0-x86_64-unknown-linux-gnu.tar.gz | tar xz --directory=bin sudo install "$(pwd)/bin/gh-stats" /usr/local/bin - - name: ⏬ Install wasm-pack - run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh - name: ⏬ Install tinysearch run: | set -e - curl -sSL https://github.com/tinysearch/tinysearch/releases/download/v0.10.0/tinysearch-v0.10.0-x86_64-unknown-linux-gnu.tar.gz | tar xz + curl -sSL https://github.com/tinysearch/tinysearch/releases/download/v0.11.0/tinysearch-v0.11.0-x86_64-unknown-linux-gnu.tar.gz | tar xz sudo install "$(pwd)/tinysearch" /usr/local/bin - name: ⏬ Install cavif @@ -57,8 +55,8 @@ jobs: - name: ⏬ Install binaryen run: | set -e - curl -L https://github.com/WebAssembly/binaryen/releases/download/version_104/binaryen-version_104-x86_64-linux.tar.gz | tar xzf - - sudo install "$(pwd)/binaryen-version_104/bin/wasm-opt" /usr/local/bin + curl -L https://github.com/WebAssembly/binaryen/releases/download/version_131/binaryen-version_131-x86_64-linux.tar.gz | tar xzf - + sudo install "$(pwd)/binaryen-version_131/bin/wasm-opt" /usr/local/bin - name: ⏬ Install terser run: sudo npm install -g terser diff --git a/Makefile b/Makefile index bdb17fec..4d4aa4fa 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,5 @@ SHELL := /bin/bash +TINYSEARCH_VERSION := 0.11.0 .PHONY: help help: ## This help message @@ -12,8 +13,7 @@ clean-img: ## Remove autogenerated image files .PHONY: clean-pub clean-pub: ## Remove build files - rm -rf public/ - rm -f static/tinysearch_engine* + rm -rf public/ tinysearch_out/ .PHONY: clean clean: clean-pub clean-img ## Remove public files and images @@ -25,7 +25,6 @@ versions: ## Show versions of tools tinysearch --version wasm-opt --version terser --version - wasm-opt --version cavif --version convert -version @@ -37,23 +36,24 @@ content: ## Build the content of the static site with zola images: ## Create avif images cargo run --manifest-path ./helpers/img/Cargo.toml -# Creating a temporary directory here because wasm-pack seems to overwrite -# the public output directory. Haven't yet found the reason why. +# Keep a copy in static/ so plain `zola serve` can load search locally. +# Production still gets a freshly generated copy in public/. .PHONY: index index: content ## Build the search index with tinysearch - # Commented out tinysearch build for now - # mkdir -p tinysearch_out - # mv public/tinysearch.json/index.html public/search_index.json - # RUST_LOG=debug tinysearch --release -o -m wasm -p tinysearch_out public/search_index.json - # mv tinysearch_out/* public - # rm -rf tinysearch_out + @tinysearch --version | grep -q "tinysearch $(TINYSEARCH_VERSION)" || (echo "tinysearch $(TINYSEARCH_VERSION) is required"; exit 1) + mkdir -p tinysearch_out + mv public/tinysearch.json/index.html public/search_index.json + tinysearch --release -o -m wasm -p tinysearch_out public/search_index.json + cp tinysearch_out/tinysearch_engine.wasm static/ + mv tinysearch_out/tinysearch_engine.wasm public/ + rm -rf public/tinysearch.json public/search_index.json tinysearch_out .PHONY: minify -minify: ## Compress JavaScript assets - terser --compress --mangle --output public/search_min.js -- static/search.mjs +minify: index ## Compress JavaScript assets + terser --module --compress --mangle --output public/search.mjs -- static/search.mjs .PHONY: build -build: stars content index minify ## Build static site and search index, minify JS +build: stars minify ## Build static site and search index, minify JS .PHONY: build-quick build-quick: content ## Build static site diff --git a/content/static/tinysearch.md b/content/static/tinysearch.md new file mode 100644 index 00000000..3ff17231 --- /dev/null +++ b/content/static/tinysearch.md @@ -0,0 +1,7 @@ ++++ +title = "Search Index" +path = "tinysearch.json" +template = "tinysearch_index.html" +date = 2026-08-14 +in_sitemap = false ++++ diff --git a/static/css/main.css b/static/css/main.css index 99dc0ce5..a6b76720 100644 --- a/static/css/main.css +++ b/static/css/main.css @@ -329,8 +329,18 @@ main article { font-size: 0.8rem; } -/* Theme toggle button */ -.theme-toggle { +/* Header controls */ +.header-actions { + display: inline-flex; + align-items: center; + gap: 0.35rem; + margin-left: 10px; + position: relative; +} + + +.theme-toggle, +.search-toggle { background: none; border: 1px solid var(--border-color); padding: 0.4em; @@ -343,17 +353,22 @@ main article { justify-content: center; color: var(--text-color); opacity: 0.8; - transition: all 0.3s ease; - margin-left: 10px; + transition: + opacity var(--transition) ease, + border-color var(--transition) ease; vertical-align: middle; } -.theme-toggle:hover { +.theme-toggle:hover, +.theme-toggle:focus-visible, +.search-toggle:hover, +.search-toggle:focus-visible { opacity: 1; border-color: var(--accent-color); } -.theme-toggle svg { +.theme-toggle svg, +.search-toggle svg { width: 1.2em; height: 1.2em; stroke: currentColor; @@ -376,6 +391,108 @@ main article { display: block; } +.site-search { + display: inline-flex; + position: relative; +} + +.search-panel { + width: 100%; + margin: 0 auto 3rem; + padding: 0.55rem; + background: var(--background); + border: 1px solid var(--border-color); + border-radius: var(--radius); + box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12); + text-align: left; +} + +.search-panel[hidden] { + display: none; +} + +.search-form { + margin: 0; +} + +.search-input { + width: 100%; + padding: 0.6rem 0.7rem; + border: 1px solid var(--border-color); + border-radius: calc(var(--radius) - 3px); + color: var(--text-color); + background: var(--surface-color); + font: inherit; + font-size: 0.9rem; + line-height: 1.4; +} + +.search-input:focus { + border-color: var(--accent-color); + outline: 2px solid color-mix(in srgb, var(--accent-color) 25%, transparent); + outline-offset: 1px; +} + +.search-content { + padding: 0.5rem 0 3rem; +} + +.search-content-status { + margin-bottom: 1.25rem; + color: var(--meta-color); + font-size: 0.8rem; +} + +.search-content-results { + margin: 0; + padding: 0; +} + +.search-content-results li { + list-style: none; + border-bottom: 1px solid var(--border-color); +} + +.search-content-results a { + display: block; + padding: 0.85rem 0.25rem; + color: var(--accent-color); + font-family: var(--heading-font); + font-size: 1.05rem; + line-height: 1.35; + text-decoration: none; +} + +.search-content-results a:hover, +.search-content-results a:focus-visible, +.search-content-results a.is-active { + color: var(--text-color); + background: var(--surface-color); + outline: none; +} + +body.is-search-open .homepage-header, +body.is-search-open .site-header { + padding-bottom: 25px; +} + +.visually-hidden { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +body > header, +.article-header { + overflow: visible; +} + /* Media elements */ img, video, @@ -809,7 +926,7 @@ footer .body { position: relative; } - .post-meta { + .post-meta .post-date { display: none; } @@ -860,11 +977,12 @@ footer .body { padding: 40px 20px; } - .theme-toggle { - margin-left: 0; + .homepage-header .header-actions { margin-top: 10px; + margin-left: 0; } + /* Back to normal width on very small screens */ article img, article video, diff --git a/static/search.mjs b/static/search.mjs index 1ceec46a..5ffc407d 100644 --- a/static/search.mjs +++ b/static/search.mjs @@ -1,114 +1,260 @@ -import { search, default as init } from "/tinysearch_engine.js"; -async function lazyLoad() { - await init("/tinysearch_engine_bg.wasm"); -} +const WASM_PATH = "/tinysearch_engine.wasm"; +const RESULT_LIMIT = 10; +const SEARCH_DELAY_MS = 100; +const WASM_PAGE_SIZE = 65_536; + +class TinySearch { + constructor(instance) { + const { memory, search, free_search_result: freeSearchResult } = + instance.exports; -var loaded = false; + if (!memory || !search || !freeSearchResult) { + throw new Error("TinySearch is missing required WebAssembly exports"); + } -function autocomplete(inp) { - var currentFocus; + this.memory = memory; + this.searchFunction = search; + this.freeSearchResult = freeSearchResult; + this.encoder = new TextEncoder(); + this.decoder = new TextDecoder(); + } - inp.addEventListener("click", function (e) { - // There's probably a better way to do lazy loading. - // Then again, I'm not a JavaScript developer ¯\_(ツ)_/¯ - if (!loaded) { - lazyLoad(); - loaded = true; + search(query, limit = RESULT_LIMIT) { + const queryBytes = this.encoder.encode(`${query}\0`); + const pages = Math.max(1, Math.ceil(queryBytes.length / WASM_PAGE_SIZE)); + const queryPointer = this.memory.grow(pages) * WASM_PAGE_SIZE; + new Uint8Array(this.memory.buffer, queryPointer, queryBytes.length).set( + queryBytes, + ); + + const resultPointer = this.searchFunction(queryPointer, limit); + if (resultPointer === 0) { + return []; } - }); - inp.addEventListener("input", function (e) { - var a, - b, - i, - val = this.value; + try { + const memory = new Uint8Array(this.memory.buffer); + let end = resultPointer; + while (end < memory.length && memory[end] !== 0) { + end += 1; + } - /*close any already open lists of autocompleted values*/ - closeAllLists(); - if (!val) { - return false; + return JSON.parse( + this.decoder.decode(memory.subarray(resultPointer, end)), + ); + } finally { + this.freeSearchResult(resultPointer); } - currentFocus = -1; + } +} - /* Create a DIV element that will contain the items (values):*/ - a = document.createElement("DIV"); - a.setAttribute("id", this.id + "autocomplete-list"); - a.setAttribute("class", "autocomplete-items"); +let enginePromise; - /* Append the DIV element as a child of the autocomplete container:*/ - this.parentNode.appendChild(a); +async function loadEngine() { + if (!enginePromise) { + enginePromise = (async () => { + const response = await fetch(WASM_PATH); + if (!response.ok) { + throw new Error(`Could not load TinySearch (${response.status})`); + } - let arr = search(val, 3); + let instance; + try { + ({ instance } = await WebAssembly.instantiateStreaming( + Promise.resolve(response.clone()), + )); + } catch { + ({ instance } = await WebAssembly.instantiate( + await response.arrayBuffer(), + )); + } - for (i = 0; i < arr.length; i++) { - let elem = arr[i]; + return new TinySearch(instance); + })(); + } - b = document.createElement("DIV"); - b.innerHTML = elem[0]; + return enginePromise; +} - b.addEventListener("click", function (e) { - window.location.href = `${elem[1]}?q=${encodeURIComponent(val)}`; - }); - a.appendChild(b); - } - }); +function currentOriginUrl(value) { + const url = new URL(value, window.location.href); + return `${url.pathname}${url.search}${url.hash}`; +} + +function initializeSearch(root) { + const toggle = root.querySelector(".search-toggle"); + const panel = document.querySelector("[data-search-panel]"); + const form = panel.querySelector(".search-form"); + const input = panel.querySelector(".search-input"); + const pageContent = document.querySelector("[data-page-content]"); + const searchContent = document.querySelector("[data-search-content]"); + const status = searchContent.querySelector(".search-content-status"); + const results = searchContent.querySelector(".search-content-results"); + + let activeIndex = -1; + let recommendations = []; + let requestId = 0; + let searchTimer; + + function showSearchContent(show) { + searchContent.hidden = !show; + pageContent.hidden = show; + input.setAttribute("aria-expanded", String(show)); + } + + function resetSearch() { + clearTimeout(searchTimer); + requestId += 1; + activeIndex = -1; + recommendations = []; + input.value = ""; + input.removeAttribute("aria-activedescendant"); + results.replaceChildren(); + status.textContent = ""; + showSearchContent(false); + } - inp.addEventListener("keydown", function (e) { - var x = document.getElementById(this.id + "autocomplete-list"); - if (x) x = x.getElementsByTagName("div"); - if (e.keyCode == 40) { - /* If the arrow DOWN key is pressed, - increase the currentFocus variable:*/ - currentFocus++; - /* and make the current item more visible:*/ - addActive(x); - } else if (e.keyCode == 38) { - //up - /* If the arrow UP key is pressed, - decrease the currentFocus variable:*/ - currentFocus--; - /* and and make the current item more visible:*/ - addActive(x); - } else if (e.keyCode == 13) { - /* If the ENTER key is pressed, prevent the form from being submitted,*/ - e.preventDefault(); - if (currentFocus > -1) { - /* and simulate a click on the "active" item:*/ - if (x) x[currentFocus].click(); + function setOpen(open, returnFocus = false) { + panel.hidden = !open; + toggle.setAttribute("aria-expanded", String(open)); + document.body.classList.toggle("is-search-open", open); + + if (open) { + loadEngine().catch(() => {}); + requestAnimationFrame(() => input.focus()); + } else { + resetSearch(); + if (returnFocus) { + toggle.focus(); } } - }); + } - function addActive(x) { - /* A function to classify an item as "active":*/ - if (!x) return false; - /* Start by removing the "active" class on all items:*/ - removeActive(x); - if (currentFocus >= x.length) currentFocus = 0; - if (currentFocus < 0) currentFocus = x.length - 1; - /* Add class "autocomplete-active":*/ - x[currentFocus].classList.add("autocomplete-active"); + function setActive(index) { + const options = results.querySelectorAll("[role='option']"); + options.forEach((option) => { + option.classList.remove("is-active"); + option.setAttribute("aria-selected", "false"); + }); + + if (options.length === 0) { + activeIndex = -1; + input.removeAttribute("aria-activedescendant"); + return; + } + + activeIndex = (index + options.length) % options.length; + const activeOption = options[activeIndex]; + activeOption.classList.add("is-active"); + activeOption.setAttribute("aria-selected", "true"); + input.setAttribute("aria-activedescendant", activeOption.id); + activeOption.scrollIntoView({ block: "nearest" }); } - function removeActive(x) { - /* A function to remove the "active" class from all autocomplete items:*/ - for (var i = 0; i < x.length; i++) { - x[i].classList.remove("autocomplete-active"); + function renderRecommendations(query, items) { + recommendations = items; + activeIndex = -1; + input.removeAttribute("aria-activedescendant"); + results.replaceChildren(); + + if (items.length === 0) { + status.textContent = `No articles found for “${query}”.`; + return; } + + status.textContent = `${items.length} article${items.length === 1 ? "" : "s"} found for “${query}”.`; + + items.forEach((item, index) => { + const listItem = document.createElement("li"); + const link = document.createElement("a"); + link.id = `search-result-${index}`; + link.href = item.url; + link.textContent = item.title; + link.setAttribute("role", "option"); + link.setAttribute("aria-selected", "false"); + listItem.append(link); + results.append(listItem); + }); } - function closeAllLists(elmnt) { - /* Close all autocomplete lists in the document, - except the one passed as an argument:*/ - var x = document.getElementsByClassName("autocomplete-items"); - for (var i = 0; i < x.length; i++) { - if (elmnt != x[i] && elmnt != inp) { - x[i].parentNode.removeChild(x[i]); + async function updateRecommendations() { + const query = input.value.trim(); + const currentRequest = ++requestId; + + if (!query) { + activeIndex = -1; + recommendations = []; + input.removeAttribute("aria-activedescendant"); + results.replaceChildren(); + status.textContent = ""; + showSearchContent(false); + return; + } + + results.replaceChildren(); + status.textContent = "Searching…"; + showSearchContent(true); + + try { + const engine = await loadEngine(); + const items = engine.search(query, RESULT_LIMIT).map((item) => ({ + ...item, + url: currentOriginUrl(item.url), + })); + if (currentRequest === requestId) { + renderRecommendations(query, items); + } + } catch (error) { + console.error("TinySearch failed:", error); + if (currentRequest === requestId) { + recommendations = []; + results.replaceChildren(); + status.textContent = "Search is temporarily unavailable."; } } } - document.addEventListener("click", function (e) { - closeAllLists(e.target); + + toggle.addEventListener("click", () => { + setOpen(panel.hidden); }); + + form.addEventListener("submit", (event) => { + event.preventDefault(); + if (recommendations.length > 0) { + const index = activeIndex >= 0 ? activeIndex : 0; + window.location.assign(recommendations[index].url); + } + }); + + input.addEventListener("input", () => { + clearTimeout(searchTimer); + searchTimer = window.setTimeout(updateRecommendations, SEARCH_DELAY_MS); + }); + + input.addEventListener("keydown", (event) => { + if (event.key === "ArrowDown") { + event.preventDefault(); + setActive(activeIndex + 1); + } else if (event.key === "ArrowUp") { + event.preventDefault(); + setActive(activeIndex - 1); + } else if (event.key === "Escape") { + event.preventDefault(); + setOpen(false, true); + } + }); + + document.addEventListener("pointerdown", (event) => { + if ( + !panel.hidden && + !root.contains(event.target) && + !panel.contains(event.target) && + !searchContent.contains(event.target) + ) { + setOpen(false); + } + }); + } -autocomplete(document.getElementById("tinysearch")); + +document.querySelectorAll("[data-search]").forEach(initializeSearch); diff --git a/static/search_min.js b/static/search_min.js deleted file mode 100644 index 643ea78a..00000000 --- a/static/search_min.js +++ /dev/null @@ -1 +0,0 @@ -import{search,default as init}from"/tinysearch_engine.js";async function lazyLoad(){await init("/tinysearch_engine_bg.wasm")}var loaded=!1;function autocomplete(e){var t;function n(e){if(!e)return!1;!function(e){for(var t=0;t=e.length&&(t=0),t<0&&(t=e.length-1),e[t].classList.add("autocomplete-active")}function a(t){for(var n=document.getElementsByClassName("autocomplete-items"),a=0;a-1&&a&&a[t].click())})),document.addEventListener("click",(function(e){a(e.target)}))}autocomplete(document.getElementById("tinysearch")); \ No newline at end of file diff --git a/static/tinysearch_engine.wasm b/static/tinysearch_engine.wasm new file mode 100644 index 0000000000000000000000000000000000000000..ba012785e8e3943142efe13de9b9cc747acdde06 GIT binary patch literal 179820 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°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

klP#EZ!-D@e;WRr@%PUB%+ip;&i?-3 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 KRsly^`9A=R{MJSQ literal 0 HcmV?d00001 diff --git a/templates/index.html b/templates/index.html index dfe74987..2875af80 100644 --- a/templates/index.html +++ b/templates/index.html @@ -175,68 +175,73 @@

Matthias Endler

- + {% include "snippets/header_actions.html" %} {%- endblock site_header %}
- {% block content %} {% for page in paginator.pages %} {% include - "snippets/article_preview.html" %} {% endfor %} + - - {% endblock content %} + + +
+ {% block content %} {% for page in paginator.pages %} {% include + "snippets/article_preview.html" %} {% endfor %} + + + {% endblock content %} +
diff --git a/templates/page.html b/templates/page.html index fe4162db..204f0142 100644 --- a/templates/page.html +++ b/templates/page.html @@ -62,6 +62,7 @@

Matthias Endler

+ {% include "snippets/header_actions.html" %} {%- endblock site_header %} {%- block content %} @@ -80,41 +81,6 @@

— {{ page.extra.subtitle }}

macros::nicedate(date=page.updated) }} {% else %} {{ macros::nicedate(date=page.date) }} {% endif %} - - diff --git a/templates/snippets/header_actions.html b/templates/snippets/header_actions.html new file mode 100644 index 00000000..5a9cb6ea --- /dev/null +++ b/templates/snippets/header_actions.html @@ -0,0 +1,38 @@ +
+ + {% include "snippets/search.html" %} +
diff --git a/templates/snippets/search.html b/templates/snippets/search.html index 07e7dbb2..6f02c648 100644 --- a/templates/snippets/search.html +++ b/templates/snippets/search.html @@ -1,7 +1,25 @@ -{% set search_min = load_data(path="static/search_min.js") %} - - \ No newline at end of file + + diff --git a/templates/tinysearch_index.html b/templates/tinysearch_index.html index 562b1329..6a73b314 100644 --- a/templates/tinysearch_index.html +++ b/templates/tinysearch_index.html @@ -1,12 +1,15 @@ {% set section = get_section(path="_index.md") %} +{% set_global first = true %} [ {%- for post in section.pages -%} {% if not post.draft %} +{% if not first %},{% endif %} { "title": {{ post.title | striptags | json_encode | safe }}, "url": {{ post.permalink | json_encode | safe }}, -"body": "{{ post.content | striptags | replace(from="{", to=" ") | replace(from="}", to=" ") | replace(from='"', to=" ") | replace(from="'", to="") | replace(from="\", to="") | escape }}" -}{% if not loop.last %},{% endif %} +"body": {{ post.content | striptags | json_encode | safe }} +} +{% set_global first = false %} {% endif %} {%- endfor -%} ] \ No newline at end of file