Создать архив записей блога
Теперь, когда у вас есть несколько блогов для ссылок, давайте настроим страницу блога для автоматического создания списка из них!
Приготовьтесь к...
- Получить доступ к данным из всех ваших записей сразу, используя
Astro.glob()
- Отобразить динамически генерируемый список записей на странице вашего блога
- Рефакторинг с использованием компонента
<BlogPost />
для каждого элемента списка
Динамическое отображение списка сообщений
Раздел, озаглавленный Динамическое отображение списка сообщений- Добавьте следующий код в
blog.astro
для возврата информации обо всех ваших файлах Markdown.Astro.glob()
вернет массив объектов, один для каждого поста блога.
-
Чтобы генерировать весь список сообщений динамически, используя заголовки и URL-ы сообщений, замените свои отдельные теги
<li>
следующим кодом Astro:Теперь весь ваш список блогов генерируется динамически, путем отображение массива, возвращаемого
Astro.glob()
. -
Добавьте новую запись в блог, создав новый файл
post-4.md
вsrc/pages/posts/
и добавив немного контента Markdown. Обязательно включите по крайней мере свойства frontmatter, использованные ниже.
- Посетите страницу вашего блога в предварительном просмотре браузера по адресу
http://localhost:4321/blog
и поищите обновленный список из четырех элементов, включая ваш новый блог-пост!
Задача: Создать компонент BlogPost
Раздел, озаглавленный Задача: Создать компонент BlogPostПопробуйте самостоятельно внести все необходимые изменения в проект Astro, чтобы вы могли использовать следующий код для генерации списка блог-постов:
Развернуть, чтобы увидеть шаги
-
Создайте новый компонент в
src/components/
.Показать имя файла
-
Напишите строку кода в вашем компоненте, чтобы он мог принимать
title
иurl
в качествеAstro.props
.Показать код
-
Добавьте шаблонизацию, используемую для создания каждого элемента в списке вашего блога.
Показать код
-
Импортируйте новый компонент на вашу страницу блога.
Показать код
-
Проверьте себя: посмотрите окончательный код компонента.
Показать код
Проверьте свои знания
Раздел, озаглавленный Проверьте свои знанияЕсли ваш компонент Astro содержит следующую строку кода:
Выберите синтаксис, который вы могли бы написать для представления:
-
Заголовка вашего третьего блог-поста.
-
Ссылки на URL вашего первого блог-поста.
-
Компонент для каждого поста, отображающий дату его последнего обновления.