跳至內容
Fumadocs

RSS 摘要

為您的文件或部落格產生 RSS 摘要。

設定

您可以建立 feed 物件:

lib/rss.ts
import { Feed } from 'feed';
import { source } from '@/lib/source';

const baseUrl = 'https://fumadocs.dev';

export function getRSS() {
  const feed = new Feed({
    title: 'Fumadocs Blog',
    id: `${baseUrl}/blog`,
    link: `${baseUrl}/blog`,
    language: 'en',

    image: `${baseUrl}/banner.png`,
    favicon: `${baseUrl}/icon.png`,
    copyright: 'All rights reserved 2025, Fuma Nama',
  });

  for (const page of source.getPages()) {
    feed.addItem({
      id: page.url,
      title: page.data.title,
      description: page.data.description,
      link: `${baseUrl}${page.url}`,
      date: page.data.lastModified ?? new Date(),

      author: [
        {
          name: 'Fuma',
        },
      ],
    });
  }

  return feed.rss2();
}

接著透過路由提供 RSS:

src/pages/_api/rss.xml.ts
import { getRSS } from '@/lib/rss';

export function GET() {
  return new Response(getRSS());
}

export async function getConfig() {
  return {
    render: 'static' as const,
  } as const;
}

請在您的頁面中加入 Feed 的連結,讓 Feed 閱讀器能夠找到它:

src/pages/_layout.tsx
// React 會將它提升至 `<head>` 中
<link rel="alternate" type="application/rss+xml" title="Fumadocs Blog" href="/rss.xml" />

How is this guide?

最後更新於