Как в pug при сборке автоматически проставлять бэм-модификаторы, в зависимости от собираемой страницы?

В 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 в зависимости от собираемой страницы. Удачи!