Перейти к содержимому

Добавьте RSS-ленту

Приготовьтесь…

  • Установить пакет Astro для создания RSS-ленты для вашего сайта
  • Создать ленту, на которую можно подписаться и которую можно читать с помощью RSS-ридеров

Установите пакет Astro для RSS

Astro предоставляет специальный пакет для быстрого добавления RSS-ленты на ваш сайт.

Этот официальный пакет генерирует не-HTML документ с информацией обо всех ваших постах в блоге, который может быть прочитан ридерами лент, такими как Feedly, The Old Reader и другими. Этот документ обновляется каждый раз, когда ваш сайт пересобирается.

Читатели могут подписаться на вашу ленту и получать уведомления при публикации новых постов на вашем сайте, что делает эту функцию популярной в блогах.

  1. Завершите работу сервера разработки Astro и выполните следующую команду в терминале для установки пакета RSS Astro.

    npm install @astrojs/rss
  2. Перезапустите сервер разработки, чтобы снова начать работу над вашим проектом Astro.

    npm run dev

Создайте .xml документ для ленты

  1. Создайте новый файл в src/pages/ с названием rss.xml.js

  2. Скопируйте следующий код в этот новый документ, заменив свойство site на уникальный URL вашего сайта на Netlify. Настройте свойства title и description, и при необходимости укажите другой язык в customData:

    
    import rss, { pagesGlobToRssItems } from '@astrojs/rss';
    
    export async function GET(context) {
      return rss({
        title: 'Ученик Astro | Блог',
        description: 'Мое путешествие по изучению Astro',
        site: context.site,
        items: await pagesGlobToRssItems(import.meta.glob('./**/*.md')),
        customData: `<language>ru-ru</language>`,
      });
    }
  3. Добавьте свойство site в конфигурацию Astro с уникальным URL-адресом вашего сайта в Netlify.

    import { defineConfig } from "astro/config";
    
    export default defineConfig({
      site: "https://example.com"
    });
  4. Перейдите на http://localhost:4321/rss.xml и убедитесь, что вы видите (неформатированный) текст на странице, с блоком item для каждого из ваших файлов .md. Каждый элемент должен содержать информацию о посте в блоге, такую как title, url и description.

    :::tip[просмотрите вашу RSS-ленту в ридере]Скачайте ридер лент или зарегистрируйтесь в онлайн-сервисе для чтения лент и подпишитесь на свой сайт, добавив свой URL-адрес Netlify. Вы также можете поделиться этой ссылкой с другими, чтобы они могли подписаться на ваши посты и получать уведомления о публикации новых.:::

Контрольный список

Ресурсы

Внести свой вклад Сообщество Поддержать