diff --git a/app/layout.tsx b/app/layout.tsx
index 5b474dd..d4eaca4 100644
--- a/app/layout.tsx
+++ b/app/layout.tsx
@@ -34,7 +34,16 @@ export default function RootLayout({
{/* Global animated backgrounds (sky / stars) */}
-
+
+ {children}
{children}
diff --git a/app/search.json/route.ts b/app/search.json/route.ts
new file mode 100644
index 0000000..6667246
--- /dev/null
+++ b/app/search.json/route.ts
@@ -0,0 +1,18 @@
+import { createFromSource } from "fumadocs-core/search/server";
+import { source } from "@/lib/source";
+import { createTokenizer } from "@orama/tokenizers/mandarin";
+
+// Ensure this route is statically generated during `next export`.
+export const dynamic = "force-static";
+
+// Static search database for static export (Next.js `output: "export"`).
+const api = createFromSource(source, {
+ components: {
+ tokenizer: createTokenizer(),
+ },
+ search: {
+ threshold: 0.3,
+ tolerance: 1,
+ },
+});
+export const GET = api.staticGET;
diff --git a/package.json b/package.json
index 0f2fd61..bc43176 100644
--- a/package.json
+++ b/package.json
@@ -12,6 +12,8 @@
"migrate:images": "node scripts/move-doc-images.mjs"
},
"dependencies": {
+ "@orama/orama": "^3.1.13",
+ "@orama/tokenizers": "^3.1.13",
"@types/mdx": "^2.0.13",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 2d2b299..96af47f 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -7,6 +7,12 @@ settings:
importers:
.:
dependencies:
+ "@orama/orama":
+ specifier: ^3.1.13
+ version: 3.1.13
+ "@orama/tokenizers":
+ specifier: ^3.1.13
+ version: 3.1.13
"@radix-ui/react-slot":
specifier: ^1.2.3
version: 1.2.3(@types/react@19.1.12)(react@19.1.1)
@@ -846,6 +852,13 @@ packages:
}
engines: { node: ">= 20.0.0" }
+ "@orama/tokenizers@3.1.13":
+ resolution:
+ {
+ integrity: sha512-xGMlS4JyFulH9gOOnT7xygyX/6mtITOfjPRH2pvDyJBcBIZMUdmJ4VQpb59dxloMRv8Tfj8bcKkzhspkrcJ9Sw==,
+ }
+ engines: { node: ">= 20.0.0" }
+
"@radix-ui/number@1.1.1":
resolution:
{
@@ -5666,6 +5679,10 @@ snapshots:
"@orama/orama@3.1.13": {}
+ "@orama/tokenizers@3.1.13":
+ dependencies:
+ "@orama/orama": 3.1.13
+
"@radix-ui/number@1.1.1": {}
"@radix-ui/primitive@1.1.3": {}