From 0b3aa28101d50a734945ce19b924f9aa30631c64 Mon Sep 17 00:00:00 2001 From: Dries Augustyns Date: Tue, 21 Apr 2026 10:29:15 +0200 Subject: [PATCH] feat: add middleware support for .md file rewrites --- apps/landing/src/middleware.ts | 7 +++++++ apps/wiki/middleware.ts | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/apps/landing/src/middleware.ts b/apps/landing/src/middleware.ts index 1a89f7b..d781021 100644 --- a/apps/landing/src/middleware.ts +++ b/apps/landing/src/middleware.ts @@ -36,6 +36,13 @@ function negotiate(accept: string): Negotiated { export function middleware(request: NextRequest) { const accept = request.headers.get('accept') ?? ''; const { pathname } = request.nextUrl; + + if (pathname.endsWith('.md')) { + const headers = new Headers(request.headers); + headers.set('x-md-path', pathname.slice(0, -3)); + return NextResponse.rewrite(new URL('/api/md', request.url), { request: { headers } }); + } + const result = negotiate(accept); if (result === 'none') { diff --git a/apps/wiki/middleware.ts b/apps/wiki/middleware.ts index 45c78b2..78f5af7 100644 --- a/apps/wiki/middleware.ts +++ b/apps/wiki/middleware.ts @@ -36,6 +36,12 @@ function negotiate(accept: string): Negotiated { export function middleware(request: NextRequest) { const accept = request.headers.get('accept') ?? ''; const { pathname } = request.nextUrl; + + if (pathname.endsWith('.md')) { + const rewriteUrl = new URL(`/llms.mdx${pathname.slice(0, -3)}`, request.url); + return NextResponse.rewrite(rewriteUrl); + } + const result = negotiate(accept); if (result === 'none') {