bem/bem-tools
-
07822eb55d3a3b74117ddda4e94c3ab4ff044979
07822eb55d3a3b74117ddda4e94c3ab4ff044979
Q.when(BEM.create.mod({ forceTechs: forceTechs, blockName: block, elemName: elem, modVal: vals }, { names: elems }), function() {
console.log('Create mod %s of elem %s of block %s with vals %s', elems.join(', '), elem, block, vals.join(', '));
});
``` -
26c1b9c733046d5a33bdcddeed7c53ec510ef7c6
26c1b9c733046d5a33bdcddeed7c53ec510ef7c6
#### BEM.build() -
178c9d8461cb1d3685a982cebf956e112b8c5e8f
178c9d8461cb1d3685a982cebf956e112b8c5e8f
Сборка файлов. -
122667e66b3751e2cf4e09f0a5ca7e1569cd58ad
122667e66b3751e2cf4e09f0a5ca7e1569cd58ad
* **String** `outputDir` директория для записи результата, по умолчанию текущая
* **String** `outputName` имя (префикс имени файла) для записи результата
* **Level** `outputLevel` объект уровня переопределения, на котором нужно создать файлы БЭМ сущности
* **String** `block` название блока
* **String** `elem` название элемента
* **String** `mod` название модификатора
* **String** `val` значение модификатора
* **String** `declaration` имя файла декларации использования (обязательный параметр)
* **Array** `level` уровень переопределения
* **Array** `tech` собирать файлы указанных технологий -
50a0a17d4750b06f1369643313294ced92783a4e
50a0a17d4750b06f1369643313294ced92783a4e
Вы можете использовать один из следующих вариантов для задания префикса для сохранения результата сборки: -
51dbabec0d85688cf34bacde6ea2946f42c9f560
51dbabec0d85688cf34bacde6ea2946f42c9f560
* `outputName` для задания полного пути-префикса
* `outputDir` плюс `outputName` для задания пути для директории и префикса файлов (они будут склеены автоматически)
* `outputLevel` плюс свойста, описывающие БЭМ сущность: `block`, `elem`, `mod` и `val` (путь-префикс будет построен
автоматически на базе правил маппинга сущностей в файлы, заданных для уровня) -
9912bb24442e535ca0612fa034ea9aceea7bc22b
9912bb24442e535ca0612fa034ea9aceea7bc22b
```js
var Q = require('q'),
B = require('bem'),
BEM = B.api, -
be05d38254a7b15254bf8deffa9837a2f1cc3d66
be05d38254a7b15254bf8deffa9837a2f1cc3d66
decl = 'page.deps.js',
outputDir = 'build',
outputName = 'page',
levels = ['blocks-common', 'blocks-desktop'],
techs = ['css', 'js']; -
f1e2fa5a376f9f72d4d34ea7ccc36183eacc9477
f1e2fa5a376f9f72d4d34ea7ccc36183eacc9477
// используем outputDir и outputName
Q.when(
BEM.build({
outputDir: outputDir,
outputName: outputName,
declaration: decl,
level: levels,
tech: techs
}),
function() {
console.log('Finished build of techs %s for levels %s. Result in %s/%s.* files.',
techs.join(', '), levels.join(', '), outputDir, outputName);
}
); -
a0dc189b43cd44ae3eb95797008e086d701682eb
a0dc189b43cd44ae3eb95797008e086d701682eb
// используем outputLevel
var level = B.createLevel('path/to/level'),
block = 'page';
Q.when(
BEM.build({
outputLevel: level,
block: block
}),
function() {
console.log('Finished build of techs %s for levels %s. Result in %s.* files.',
techs.join(', '), levels.join(', '), level.getRelByObj({ block: block }));
}
);
``` -
31b6b78f98cc5cc0b0f218b931b803a82b38d116
31b6b78f98cc5cc0b0f218b931b803a82b38d116
#### BEM.decl -
a343695bad1d24768fcb97923708b475b2835d79
a343695bad1d24768fcb97923708b475b2835d79
Команды для работы с декларациями использования. -
7aa52057540620e862754c058bb5dac72b95f0f4
7aa52057540620e862754c058bb5dac72b95f0f4
##### BEM.decl.merge() -
0b160d2100f9b1f377841ca3f174fc87bb6a8f63
0b160d2100f9b1f377841ca3f174fc87bb6a8f63
Объединение деклараций. -
1763200c81839461f95fa7e42a5b5e5798e7b309
1763200c81839461f95fa7e42a5b5e5798e7b309
* **String** `output` файл для записи результата, по умолчанию STDOUT
* **Array** `declaration` имя файла декларации использования (обязательный параметр) -
30fbee0e7ea48f88da931f52ba4386653d5ce112
30fbee0e7ea48f88da931f52ba4386653d5ce112
##### BEM.decl.subtract() -
0619e2934ad8d0466ac202cd90cc870cbd92ad88
0619e2934ad8d0466ac202cd90cc870cbd92ad88
Вычитание деклараций. -
c17dbece7674456c9b75e1ce0394b96592b79bcc
c17dbece7674456c9b75e1ce0394b96592b79bcc
## Участие в разработке -
36eb47b604617e99a9049d876e42b0c260b7241c
36eb47b604617e99a9049d876e42b0c260b7241c
### Запуск автотестов -
cb4a11209ed617cac8f3a48384370fd962a12ed4
cb4a11209ed617cac8f3a48384370fd962a12ed4
Для того, чтобы проверить правильность внесённых изменений, рекомендуем выполнить следующую команду в корневой директории и убедиться, что все тесты выполнились без ошибок: