Как переопределять класс на каждой странице jade?

В языке шаблонов Jade, который называется Pug с версии 2.0, есть несколько способов переопределять класс на каждой странице. Рассмотрим каждый из них подробнее.

1. Использование глобальных переменных:
- Установите глобальную переменную в вашем приложении Express или другом фреймворке перед передачей шаблона Pug. Например, app.locals.className = 'my-class'.
- Затем в вашем шаблоне Pug можно использовать эту переменную, чтобы переопределить класс на каждой странице. Например,

     html
       head
         //- ...
       body(class=className)
         //- ...

- Теперь класс my-class будет применен к body на каждой странице.

2. Использование блоков и наследования:
- Определите базовый шаблон pug, который будет использоваться для всех страниц. Например, layout.pug.
- В базовом шаблоне определите блок, в котором будет указан класс для каждой страницы:

     html
       head
         //- ...
       body(class=block('pageClass'))
         block content

- В каждом страницы, которые расширяют базовый шаблон, укажите значение класса в блоке pageClass:

     extends layout.pug

     block pageClass
       //- class for this page
       - var pageClass = 'my-page-class'

     block content
       //- ...

- Теперь класс my-page-class будет применен к body в этой странице, и вы можете переопределить его для каждой страницы.

3. Использование миксинов:
- Определите миксин в отдельном файле, который будет позволять переопределять класс на каждой странице. Например, в файле mixins.pug:

     mixin bodyClass(className)
       body(class=className)
         //- ...

- В вашем шаблоне Pug подключите этот файл и вызовите миксин с нужным классом:

     include mixins.pug

     +bodyClass('my-class')

- Теперь класс my-class будет применен к body на каждой странице, и вы можете легко изменить его вызовом миксина с другим классом.

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