Files
vercel__components.build/proxy.ts
Hayden Bleasel 55fae375a4 Update docs, internationalization (#35)
* Update Geistdocs

* Update geistdocs.tsx

* Run translation script

* Delete toc.tsx

* Update route.ts

* Update route.ts
2025-12-04 23:57:35 -08:00

33 lines
992 B
TypeScript

import { createI18nMiddleware } from "fumadocs-core/i18n/middleware";
import { isMarkdownPreferred, rewritePath } from "fumadocs-core/negotiation";
import {
type NextFetchEvent,
type NextRequest,
NextResponse,
} from "next/server";
import { i18n } from "@/lib/geistdocs/i18n";
const { rewrite: rewriteLLM } = rewritePath("/*path", "/llms.mdx/*path");
const internationalizer = createI18nMiddleware(i18n);
const proxy = (request: NextRequest, context: NextFetchEvent) => {
// First, handle Markdown preference rewrites
if (isMarkdownPreferred(request)) {
const result = rewriteLLM(request.nextUrl.pathname);
if (result) {
return NextResponse.rewrite(new URL(result, request.nextUrl));
}
}
// Fallback to i18n middleware
return internationalizer(request, context);
};
export const config = {
// Matcher ignoring `/_next/`, `/api/`, static assets, favicon, etc.
matcher: ["/((?!api|_next/static|_next/image|favicon.ico).*)"],
};
export default proxy;