跳至內容
Fumadocs

協商

內容協商工具函式。

概覽

若您使用的 React 框架支援中介軟體,可以透過 Fumadocs 的協商 API 實作基本功能。 在 Waku 上,請在 src/middleware 的 Hono 中介軟體中使用它。 在 Astro 上,請在中介軟體中使用它;此中介軟體只會在依請求算繪的頁面上執行。

接受 Markdown

依據 Accept 標頭回傳 Markdown 或 HTML,可改善 AI 代理的使用體驗。

proxy.ts
import { NextRequest, NextResponse } from 'next/server';
import { isMarkdownPreferred, rewritePath } from 'fumadocs-core/negotiation';

const { rewrite: rewriteLLM } = rewritePath('/docs/*path', '/llms.mdx/*path');

export default function proxy(request: NextRequest) {
  if (isMarkdownPreferred(request)) {
    const result = rewriteLLM(request.nextUrl.pathname);

    if (result) {
      return NextResponse.rewrite(new URL(result, request.nextUrl));
    }
  }

  return NextResponse.next();
}

How is this guide?

最後更新於