В Pug, чтобы автоматически проставить BEM-модификаторы при сборке страницы, вам необходимо следовать нескольким шагам.
1. Определите список страниц с соответствующими модификаторами. Например, в файле JSON вы можете создать список страниц и их соответствующих модификаторов, например:
{ "index": "", "about": "--about", "contact": "--contact" }
2. Создайте функцию, которая будет генерировать классы BEM с учетом текущей страницы. Например:
function getBemModifier(page) { const pageModifiers = { "index": "", "about": "--about", "contact": "--contact" }; return pageModifiers[page]; }
3. В вашем шаблоне Pug используйте эту функцию для генерации классов BEM. Например:
.header.block(class=`header ${getBemModifier(page)}`) .header__logo .header__menu
4. При сборке страницы, используйте скрипт, который будет передавать текущую страницу в функцию getBemModifier
, чтобы получить правильные классы BEM. Например, в Node.js:
const page = process.argv[2]; const bemModifier = getBemModifier(page);
5. После сборки страницы с использованием выбранного инструмента сборки (например, Webpack) и передачи текущей страницы в скрипт, BEM-модификаторы будут автоматически проставлены в соответствии с выбранной страницей.
Надеюсь, это поможет вам автоматически проставить BEM-модификаторы в Pug в зависимости от собираемой страницы. Удачи!