跳转到内容

添加 RSS 订阅源

你将要学习:

  • 为你的网站安装一个 Astro 包来创建 RSS 订阅源
  • 创建一个可供 RSS 阅读器订阅和阅读的订阅源

Astro 提供了一个自定义包,可以快速地为你的网站添加 RSS 订阅源。

这个官方包会生成一个非 HTML 文档,其中包含你所有博客文章的信息,这些信息可以被 Feed 阅读器(如 Feedly、The Old Reader 等)读取。每当你的网站重建时,这个文档都会更新。

个人可以在订阅源阅读器中订阅你的源,并在你网站上发布新博客文章时收到通知,这是一个很受欢迎的博客功能。

  1. 在你的终端中,退出 Astro 开发服务器(Ctrl + C),并运行以下命令来安装 Astro 的 RSS 包。

    终端窗口
    npm install @astrojs/rss
  2. 重新启动开发服务器,以再次开始你的 Astro 项目。

    终端窗口
    npm run dev
  1. src/pages/ 中创建一个名为 rss.xml.js 的新文件

  2. 将以下代码复制到这个新文档中。自定义 titledescription 属性,如果需要,请在 customData 中指定不同的语言

    src/pages/rss.xml.js
    import rss, { pagesGlobToRssItems } from '@astrojs/rss';
    export async function GET(context) {
    return rss({
    title: 'Astro Learner | Blog',
    description: 'My journey learning Astro',
    site: context.site,
    items: await pagesGlobToRssItems(import.meta.glob('./**/*.md')),
    customData: `<language>en-us</language>`,
    });
    }
  3. 在 Astro 配置中添加 site 属性,并使用你网站唯一的 Netlify URL。

    astro.config.mjs
    import { defineConfig } from "astro/config";
    export default defineConfig({
    site: "https://example.com"
    });
  4. 访问 https://:4321/rss.xml 并验证你能在页面上看到(未格式化的)文本,其中每个 .md 文件都对应一个 item。每个 item 都应包含博客文章信息,如 titleurldescription

贡献 社区 赞助