Skip to content

添加 RSS 源

准备好……

  • 安装 Astro 包来为你的网站创建 RSS 源

  • 创建可供 RSS 提要阅读器订阅和阅读的提要

¥Install Astro’s RSS package

Astro 提供了一个自定义包来快速将 RSS 源添加到你的网站。

¥Astro provides a custom package to quickly add an RSS feed to your website.

此官方软件包会生成一个非 HTML 文档,其中包含有关你所有博客文章的信息,这些信息可以通过 Feedly、The Old Reader 等订阅阅读器读取。每次重建站点时都会更新此文档。

¥This official package generates a non-HTML document with information about all of your blog posts that can be read by feed readers like Feedly, The Old Reader, and more. This document is updated every time your site is rebuilt.

个人可以在提要阅读器中订阅你的提要,并在你在网站上发布新博客文章时收到通知,这使其成为一种流行的博客功能。

¥Individuals can subscribe to your feed in a feed reader, and receive a notification when you publish a new blog post on your site, making it a popular blog feature.

  1. Quit the Astro development server and run the following command in the terminal to install Astro’s RSS package.

    终端窗口
    npm install @astrojs/rss
  2. Restart the dev server to begin working on your Astro project again.

    终端窗口
    npm run dev

¥Create an .xml feed document

  1. Create a new file in src/pages/ called rss.xml.js

  2. Copy the following code into this new document. Customize the title and description properties, and if necessary, specify a different language in 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. Add the site property to the Astro config with your site’s own unique Netlify URL.

    astro.config.mjs
    import { defineConfig } from "astro/config";
    export default defineConfig({
    site: "https://example.com"
    });
  4. Visit http://localhost:4321/rss.xml and verify that you can see (unformatted) text on the page with an item for each of your .md files. Each item should contain blog post information such as title, url, and description.

¥Checklist

¥Resources

Astro 中文网 - 粤ICP备13048890号