Когда делаю include, трех файлов они не вкладываются друг в друга, что не так делаю?

Когда вы используете директиву include в Pug для включения других файлов, они не вкладываются друг в друга по умолчанию. Вместо этого, файлы подключаются в том порядке, в котором они указаны в вашем коде.

Если вам нужно, чтобы файлы вкладывались друг в друга, вам следует использовать блоки и расширения (extend и block) вместо include.

Для начала, вам необходимо создать внешний файл, который будет являться шаблоном для всех остальных файлов. Давайте назовем его layout.pug. В этом файле вы будете определять общую структуру ваших страниц. Например:

html
  head
    title My Website
  body
    header
      h1 Welcome to My Website
    block content
    footer
      p © 2021 My Website

Теперь вы можете создать другие файлы, которые будут расширять layout.pug. Например, index.pug:

extends layout.pug

block content
  p This is the content of the index page.

А также about.pug:

extends layout.pug

block content
  p This is the content of the about page.

Теперь, когда вы будете рендерить index.pug или about.pug, блок content в этих файлах будет подставляться в соответствующее место в layout.pug.

Важно отметить, что при использовании блоков и расширений, вы должны убедиться, что все файлы находятся в одной директории, чтобы Pug мог найти все нужные файлы. Если файлы находятся в разных директориях, вам может потребоваться использовать относительные пути при указании пути к файлам для расширения.

Надеюсь, эта информация помогла вам понять, как правильно использовать include и extend в Pug, чтобы вкладывать файлы друг в друга.