Совмещаем макеты для максимальной эффективности
Теперь, когда у вас написан ваш первый .md
пост в блог, давайте заставим его выглядеть как остальные страницы на вашем сайте!
Приготовьтесь к...
- Вложите макет вашего поста в блоге в главный макет вашей страницы
Вложив два макета
В BaseLayout.astro
уже определен общий макет ваших страниц.
MarkdownPostLayout.astro
предлагает вам дополнительные шаблоны для обычных свойств поста в блоге, таких как title
и date
, но ваши посты в блоге не выглядят так, как другие страницы на вашем сайте. Вы можете достичь этого, вложив макеты.
-
В
src/layouts/MarkdownPostLayout.astro
импортируйтеBaseLayout.astro
и используйте его для обертывания всего содержимого шаблона. Не забудьте передать свойствоpageTitle
: -
Проверьте предварительный просмотр в браузере по адресу
http://localhost:4321/posts/post-1
. Теперь вы должны видеть содержимое, отрендеренное:- Вашим основным макетом страницы, включая стили, ссылки для навигации и социальные подвалы.
- Вашим макетом поста в блоге, включая свойства frontmatter, такие как описание, дата, заголовок и изображение
- Вашим отдельным содержимым поста Markdown, включая только текст, написанный в этом посте
-
Обратите внимание, что заголовок вашей страницы теперь отображается дважды, в каждом макете.
Удалите строку, которая отображает заголовок вашей страницы из
MarkdownPostLayout.astro
: -
Снова проверьте предварительный просмотр в браузере по адресу
http://localhost:4321/posts/post-1
и убедитесь, что эта строка больше не отображается и что ваш заголовок отображается только один раз. Внесите все необходимые корректировки, чтобы убедиться, что у вас нет дублирующегося контента.
Убедитесь, что:
-
Каждый пост в блоге показывает один и тот же шаблон страницы, и никакого контента не пропущено. (Если в одном из ваших постов в блоге отсутствует контент, проверьте его свойства frontmatter.)
-
На странице не дублируется контент. (Если что-то отображается дважды, обязательно удалите это из
MarkdownPostLayout.astro
.)
Если вы хотите настроить шаблон вашей страницы, вы можете это сделать.
Проверьте свои знания
-
Это позволяет вам вкладывать один макет в другой и использовать преимущества работы с модульными частями.
-
Несколько макетов особенно полезны для проектов, которые содержат страницы Markdown, как например…
-
Кто из них предоставляет шаблонирование для всех ваших страниц?