import { NextRequest, NextResponse } from 'next/server'; import { isMarkdownPreferred, rewritePath } from 'fumadocs-core/negotiation'; import { docsContentRoute, docsRoute } from '@/lib/shared'; const { rewrite: rewriteDocs } = rewritePath( `${docsRoute}{/*path}`, `${docsContentRoute}{/*path}/content.md`, ); const { rewrite: rewriteSuffix } = rewritePath( `${docsRoute}{/*path}.mdx`, `${docsContentRoute}{/*path}/content.md`, ); export default function proxy(request: NextRequest) { const result = rewriteSuffix(request.nextUrl.pathname); if (result) { return NextResponse.rewrite(new URL(result, request.nextUrl)); } if (isMarkdownPreferred(request)) { const result = rewriteDocs(request.nextUrl.pathname); if (result) { return NextResponse.rewrite(new URL(result, request.nextUrl)); } } return NextResponse.next(); }