В Pug, как во многих других шаблонных языках, текст из блоков не отображается на других страницах по умолчанию. Это связано с тем, что Pug предоставляет возможность разделения контента на различные блоки для повторного использования и наследования.
Когда вы определяете блок в Pug с помощью ключевого слова block
, вы создаете резервное место для контента, который может быть вставлен в этот блок на других страницах. Однако, чтобы контент был фактически отображен на других страницах, его необходимо явно вставить с помощью ключевого слова block append
или block prepend
.
Например, предположим, у вас есть базовый шаблон layout.pug
с блоком content
:
html head title My Website body header h1 My Website nav // navigation links main block content footer // footer content
Теперь у вас есть страница index.pug
, где вы хотите добавить контент в блок content
:
extends layout.pug block content h2 Welcome to my website! p This is the home page.
В этом примере, блок content
в разметке index.pug
содержит заголовок h2
и абзац p
. Когда index.pug
будет отрисован, содержимое блока content
будет заменено на указанный контент. Результатом работы будет HTML-страница с заголовком "Welcome to my website!" и абзацем "This is the home page".
Но если вы хотите сохранить оригинальный контент в блоке и добавить новый контент на другой странице, вы можете использовать ключевые слова block append
или block prepend
.
extends layout.pug block content block append h2 Welcome to my website! p This is the home page.
extends layout.pug block content block prepend h3 Important Announcement! p Check out our latest product. p This is the about page.
В данном примере, блок content
в разметке index.pug
будет иметь два абзаца, а в разметке about.pug
- один абзац, который будет добавлен перед оригинальным контентом блока.