RSSを追加しました

PublishedAt

2025/6/24

RSSを追加しました。
基本的にはAstro公式のガイドに沿った対応です。

https://docs.astro.build/ja/recipes/rss/

一点、getCollectionで記事一覧を取得するように記載があるのですが、このブログはmicroCMSから記事を取得しているため、既に用意していたmicroCMSからの記事取得関数を流用する形にしました。
できあがったrss.xml.tsは以下です。

import rss from "@astrojs/rss"
import type { APIContext } from "astro"
import { getBlogs } from "../library/microcms"

export async function GET(context: APIContext) {
  const blogs = await getBlogs()
  return rss({
    title: "andna.dev Blog",
    description: `andna's Blog`,
    site: context.site || "https://andna.dev",
    items: blogs.contents.map((blog) => ({
      title: blog.title,
      pubDate: blog.publishedAt ? new Date(blog.publishedAt) : undefined,
      description: blog.description,
      link: `/blog/${blog.id}`,
    })),
  })
}

getBlogsの中身はmicroCMS x Astroの公式ガイドの中に記載があります。
https://blog.microcms.io/astro-microcms-introduction/

ついでにclaudeにお願いしてブログタイトルの下にRSSのリンクを追加しました。サンキュー