Files
Hayden Bleasel cf9ccd0076 Open Source Docs (#272)
* Scaffold Geistdocs instance

* Update biome.json

* Replace content

* Re-path docs

* Update docs package name

* Misc fixes

* Update geistdocs.tsx

* Move content to correct folder

* Start migrating custom components

* Finish migrating custom components

* Migrate existing redirects

* Remove #next suffixes from code blocks

* Migrate homepage and flags

* Remove duplicate lockfiles

* Start fixing homepage

* Replace Geist components

* Fix colors

* Improve layout

* Fix code blocks

* Fix hero

* Fix illustrations

* Fix redirect

* Fix nav links

* Patch in FrameworkSwitcher

* Bump Next.js in docs

* Delete turbo.json

* Misc fixes

* More logo fixes
2026-02-13 09:06:03 +02:00

52 lines
1.2 KiB
TypeScript

import { createTokenizer as createTokenizerJapanese } from "@orama/tokenizers/japanese";
import { createTokenizer as createTokenizerMandarin } from "@orama/tokenizers/mandarin";
import { createFromSource } from "fumadocs-core/search/server";
import { translations } from "@/geistdocs";
import { source } from "@/lib/geistdocs/source";
const localeMap: {
[key: string]: {
language?: string;
components?: {
tokenizer:
| ReturnType<typeof createTokenizerMandarin>
| ReturnType<typeof createTokenizerJapanese>;
};
search?: {
threshold: number;
tolerance: number;
};
};
} = Object.fromEntries(
Object.entries(translations).map(([locale, translation]) => [
locale,
{ language: translation.displayName.toLowerCase() },
])
);
if ("cn" in translations) {
localeMap.cn = {
components: {
tokenizer: createTokenizerMandarin(),
},
search: {
threshold: 0,
tolerance: 0,
},
};
}
if ("jp" in translations) {
localeMap.jp = {
components: {
tokenizer: createTokenizerJapanese(),
},
search: {
threshold: 0,
tolerance: 0,
},
};
}
export const { GET } = createFromSource(source, { localeMap });