🔭

Astro動的ルーティングでRSSを作成する

2025/01/13に公開

Astro動的ルーティングでRSSを作成する

基本的なAstroでのRSSは公式ドキュメントに記載がある

ただ、動的ルーティングで通常のastro拡張子のように Astro.params ではパラメータは受け取れないが context.params からパラメータを取得することが可能

src/pages/[dog].xml.ts
import rss from '@astrojs/rss'

export function getStaticPaths() {
  return [
    {params: {dog: 'clifford'}},
    {params: {dog: 'rover'}},
    {params: {dog: 'spot'}},
  ];
}

// biome-ignore lint/suspicious/noExplicitAny: <explanation>
export function GET(context: any) {
  const dog = context.params.dog
  return rss({
    title: `${dog} のページ`,
    description: `${dog}」の記事一覧`,
    site: context.site,
    items: [],
  })
}

記事執筆時のバージョン

  • astro 5.1.5
  • @astrojs/rss 4.0.11

Discussion