bem/bem-tools
-
Команды принимают два аргумента:
Команды принимают два аргумента:
-
* **Object** `opts` опции команды * **Object** `args` аргументы команды
* **Object** `opts` опции команды
* **Object** `args` аргументы команды -
Возвращают объект типа `Q.promise`.
Возвращают объект типа `Q.promise`.
-
#### BEM.create
#### BEM.create
-
Команды для создания БЭМ-сущностей.
Команды для создания БЭМ-сущностей.
-
##### BEM.create.level()
##### BEM.create.level()
-
Создание уровня переопределения.
Создание уровня переопределения.
-
###### Опции
###### Опции
-
* **String** `outputDir` директория для записи результата, по умолчанию текущая * **String** `level` «прототип» уровня переопределения * **Boolean** `force` принудительно создать уровень, даже если он существует
* **String** `outputDir` директория для записи результата, по умолчанию текущая
* **String** `level` «прототип» уровня переопределения
* **Boolean** `force` принудительно создать уровень, даже если он существует -
###### Аргументы
###### Аргументы
-
* **Array** `names` имена создаваемых уровней переопределения
* **Array** `names` имена создаваемых уровней переопределения
-
###### Пример использования
###### Пример использования
-
```js var PATH = require('path'), Q = require('q'), BEM = require('bem').api,
```js
var PATH = require('path'),
Q = require('q'),
BEM = require('bem').api, -
outputDir = PATH.join(__dirname, 'levels'), levels = ['blocks-common', 'blocks-desktop'];
outputDir = PATH.join(__dirname, 'levels'),
levels = ['blocks-common', 'blocks-desktop']; -
Q.when(BEM.create.level({ outputDir: outputDir }, { names: levels }), function() { console.log('Create levels %s at %s', levels.join(', '), outputDir); }); ```
Q.when(BEM.create.level({ outputDir: outputDir }, { names: levels }), function() {
console.log('Create levels %s at %s', levels.join(', '), outputDir);
});
``` -
##### BEM.create()
##### BEM.create()
-
Создание БЭМ сущностей: блоков, элементов, модификаторов или их значений.
Создание БЭМ сущностей: блоков, элементов, модификаторов или их значений.
-
* **String** `level` директория уровня переопределения, по умолчанию текущая * **Array** `block` имя блока (обязательный параметр) * **Array** `elem` имя элемента * **Array** `mod` имя модификатора * **Array** `val` значение модификатора * **Array** `addTech` добавить перечисленные технологии к технологиям для уровня по умолчанию * **Array** `forceTech` использовать только указанные технологии * **Array** `noTech` исключить указанные технологии из использования * **Boolean** `force` принудительно создавать файлы модификатора
* **String** `level` директория уровня переопределения, по умолчанию текущая
* **Array** `block` имя блока (обязательный параметр)
* **Array** `elem` имя элемента
* **Array** `mod` имя модификатора
* **Array** `val` значение модификатора
* **Array** `addTech` добавить перечисленные технологии к технологиям для уровня по умолчанию
* **Array** `forceTech` использовать только указанные технологии
* **Array** `noTech` исключить указанные технологии из использования
* **Boolean** `force` принудительно создавать файлы модификатора -
forceTechs = ['css'], block = 'b-header', elem = 'logo', mods = ['lang'], vals = ['ru', 'en'];
forceTechs = ['css'],
block = 'b-header',
elem = 'logo',
mods = ['lang'],
vals = ['ru', 'en']; -
Q.when(BEM.create({ forceTechs: forceTechs, block: block, mod: mods, val: vals }), function() { console.log('Create mod %s of block %s with vals %s', mods.join(', '), block, vals.join(', ')); });
Q.when(BEM.create({ forceTechs: forceTechs, block: block, mod: mods, val: vals }), function() {
console.log('Create mod %s of block %s with vals %s', mods.join(', '), block, vals.join(', '));
});