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": {}