diff --git a/src/components/navigation/Search.astro b/src/components/navigation/Search.astro
index db2153e..8c04fdd 100644
--- a/src/components/navigation/Search.astro
+++ b/src/components/navigation/Search.astro
@@ -11,7 +11,7 @@ import magnifierIcon from "@icons/magnifier.svg?raw";
aria-keyshortcuts="Control+K"
class="search-button"
>
-
+
Search
CtrlK
@@ -129,28 +129,35 @@ import magnifierIcon from "@icons/magnifier.svg?raw";
const onIdle = window.requestIdleCallback || (cb => setTimeout(cb, 1));
onIdle(async () => {
const { PagefindUI } = await import(
- //@ts-expect-error — Missing types for @pagefind/default-ui package.
+ //Missing types for @pagefind/default-ui package.
+ //@ts-expect-error
"@pagefind/default-ui"
);
new PagefindUI({
element: "#qs_search",
+ // resetStyles: false,
+ sort: { version: "desc" },
baseUrl: import.meta.env.BASE_URL,
bundlePath:
import.meta.env.BASE_URL.replace(/\/$/, "") + "/pagefind/",
showImages: false,
showSubResults: true,
- processResult: (result: {
+ highlightParam: "highlight",
+ openFilters: ["Tags"],
+ processResult: function (result: {
url: string;
excerpt: string;
meta: {
source: string;
+ title: string;
+ version: string;
};
extra_class: string;
sub_results: Array<{
url: string;
excerpt: string;
}>;
- }) => {
+ }) {
if (result.meta.source === "Qt Framework") {
result.extra_class = "qt-result-badge";
}
diff --git a/src/config/io/search.ts b/src/config/io/search.ts
new file mode 100644
index 0000000..0027153
--- /dev/null
+++ b/src/config/io/search.ts
@@ -0,0 +1,13 @@
+function getSearchWeight(version: string) {
+ const versionArr = version.split(".");
+ versionArr[0] = versionArr[0].substring(1);
+ const searchWeightArr = versionArr.map(w => parseInt(w));
+ const weight = searchWeightArr.reduce((p, c, i, _) => {
+ const mult = i - 1 === 0 || i === 0 ? 10 : 1;
+ const acc = p * mult + c * mult;
+ return acc;
+ });
+ return weight;
+}
+
+export { getSearchWeight };
diff --git a/src/pages/docs/[version]/types/[module]/[type].astro b/src/pages/docs/[version]/types/[module]/[type].astro
index c13cf9b..fee5249 100644
--- a/src/pages/docs/[version]/types/[module]/[type].astro
+++ b/src/pages/docs/[version]/types/[module]/[type].astro
@@ -1,5 +1,6 @@
---
import { getQMLTypeLink } from "@config/io/helpers";
+import { getSearchWeight } from "@config/io/search";
import { processMarkdown } from "@config/io/markdown";
import { getVersionsData } from "@config/io/generateTypeData";
import DocsLayout from "@layouts/DocsLayout.astro";
@@ -41,6 +42,9 @@ const superLink = type.super ? getQMLTypeLink(version.name, type.super) : null;
const details = type.details
? await processMarkdown(version.name, type.details)
: null;
+
+const searchWeight =
+ version.name != "master" ? getSearchWeight(version.name) : 999.0;
---
-