From 78ab248a0b652e3da5cbe317bfc16f897f11b6df Mon Sep 17 00:00:00 2001 From: Johannes Marbach Date: Fri, 22 May 2026 12:38:14 +0200 Subject: [PATCH] Rank changelog results to the very bottom Signed-off-by: Johannes Marbach --- assets/js/offline-search.js | 14 +++++++++++--- layouts/docs/changelog.html | 2 +- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/assets/js/offline-search.js b/assets/js/offline-search.js index 9d5b5966..89ac5f0a 100644 --- a/assets/js/offline-search.js +++ b/assets/js/offline-search.js @@ -132,18 +132,26 @@ search backend. // Kick off the search, load the results and inject them into the popover. // - const search = await pagefind.debouncedSearch(searchQuery); + // First search all non-changelog pages. + const search = await pagefind.debouncedSearch(searchQuery, { filters: { not: { type: "changelog" } } }); if (search === null) { // A more recent search call has been made, nothing to do. return; } - if (search.results.length === 0) { + // Now search the changelog pages and append any results so that changelog + // results are ranked lowest. We cannot use Pagefind's sorting to do this + // because that would override the default ranking within the non-changelog + // results + const changelogSearch = await pagefind.search(searchQuery, { filters: { type: "changelog" } }); + const results = [...search.results, ...changelogSearch.results]; + + if (results.length === 0) { $searchResultBody.append( $("

").text(`No results found for query "${searchQuery}"`) ); } else { - await loadAndRenderResults(search.results, 0, $spinner, $searchResultBody); + await loadAndRenderResults(results, 0, $spinner, $searchResultBody); } }; }); diff --git a/layouts/docs/changelog.html b/layouts/docs/changelog.html index 805d3609..3bfc5f38 100644 --- a/layouts/docs/changelog.html +++ b/layouts/docs/changelog.html @@ -16,7 +16,7 @@ {{ define "main" }} {{ $version := lower .LinkTitle -}} -

+

{{ .Title }}