bem/bem-tools
-
* **Array** `names` имена создаваемых блоков
* **Array** `names` имена создаваемых блоков
-
addTechs = ['bemhtml'], blocks = ['b-header'];
addTechs = ['bemhtml'],
blocks = ['b-header']; -
Q.when(BEM.create.block({ addTech: addTechs }, { names: blocks }), function() { console.log('Create blocks: %s', blocks.join(', ')); }); ```
Q.when(BEM.create.block({ addTech: addTechs }, { names: blocks }), function() {
console.log('Create blocks: %s', blocks.join(', '));
});
``` -
##### BEM.create.elem()
##### BEM.create.elem()
-
Создание элемента.
Создание элемента.
-
* **String** `level` директория уровня переопределения, по умолчанию текущая * **String** `blockName` имя блока (обязательный параметр) * **Array** `addTech` добавить перечисленные технологии к технологиям для уровня по умолчанию * **Array** `forceTech` использовать только указанные технологии * **Array** `noTech` исключить указанные технологии из использования * **Boolean** `force` принудительно создавать файлы элемента
* **String** `level` директория уровня переопределения, по умолчанию текущая
* **String** `blockName` имя блока (обязательный параметр)
* **Array** `addTech` добавить перечисленные технологии к технологиям для уровня по умолчанию
* **Array** `forceTech` использовать только указанные технологии
* **Array** `noTech` исключить указанные технологии из использования
* **Boolean** `force` принудительно создавать файлы элемента -
* **Array** `names` имена создаваемых элементов
* **Array** `names` имена создаваемых элементов
-
addTechs = ['bemhtml', 'title.txt'], block = 'b-header', elems = ['logo'];
addTechs = ['bemhtml', 'title.txt'],
block = 'b-header',
elems = ['logo']; -
Q.when(BEM.create.elem({ addTech: addTechs, blockName: block }, { names: elems }), function() { console.log('Create elems %s of block %s', elems.join(', '), block); }); ```
Q.when(BEM.create.elem({ addTech: addTechs, blockName: block }, { names: elems }), function() {
console.log('Create elems %s of block %s', elems.join(', '), block);
});
``` -
##### BEM.create.mod()
##### BEM.create.mod()
-
Создание модификатора блока или модификатора элемента.
Создание модификатора блока или модификатора элемента.
-
* **String** `level` директория уровня переопределения, по умолчанию текущая * **String** `blockName` имя блока (обязательный параметр) * **String** `elemName` имя элемента * **Array** `modVal` значения модификатора * **Array** `addTech` добавить перечисленные технологии к технологиям для уровня по умолчанию * **Array** `forceTech` использовать только указанные технологии * **Array** `noTech` исключить указанные технологии из использования * **Boolean** `force` принудительно создавать файлы модификатора
* **String** `level` директория уровня переопределения, по умолчанию текущая
* **String** `blockName` имя блока (обязательный параметр)
* **String** `elemName` имя элемента
* **Array** `modVal` значения модификатора
* **Array** `addTech` добавить перечисленные технологии к технологиям для уровня по умолчанию
* **Array** `forceTech` использовать только указанные технологии
* **Array** `noTech` исключить указанные технологии из использования
* **Boolean** `force` принудительно создавать файлы модификатора -
* **Array** `names` имена создаваемых модификаторов
* **Array** `names` имена создаваемых модификаторов
-
Q.when(BEM.create.mod({ forceTechs: forceTechs, blockName: block, modVal: vals }, { names: mods }), function() { console.log('Create mod %s of block %s with vals %s', elems.join(', '), block, vals.join(', ')); });
Q.when(BEM.create.mod({ forceTechs: forceTechs, blockName: block, modVal: vals }, { names: mods }), function() {
console.log('Create mod %s of block %s with vals %s', elems.join(', '), block, vals.join(', '));
}); -
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(', ')); }); ```
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(', '));
});
``` -
#### BEM.build()
#### BEM.build()
-
Сборка файлов.
Сборка файлов.
-
* **String** `outputDir` директория для записи результата, по умолчанию текущая * **String** `outputName` имя (префикс имени файла) для записи результата * **Level** `outputLevel` объект уровня переопределения, на котором нужно создать файлы БЭМ сущности * **String** `block` название блока * **String** `elem` название элемента * **String** `mod` название модификатора * **String** `val` значение модификатора * **String** `declaration` имя файла декларации использования (обязательный параметр) * **Array** `level` уровень переопределения * **Array** `tech` собирать файлы указанных технологий
* **String** `outputDir` директория для записи результата, по умолчанию текущая
* **String** `outputName` имя (префикс имени файла) для записи результата
* **Level** `outputLevel` объект уровня переопределения, на котором нужно создать файлы БЭМ сущности
* **String** `block` название блока
* **String** `elem` название элемента
* **String** `mod` название модификатора
* **String** `val` значение модификатора
* **String** `declaration` имя файла декларации использования (обязательный параметр)
* **Array** `level` уровень переопределения
* **Array** `tech` собирать файлы указанных технологий -
Вы можете использовать один из следующих вариантов для задания префикса для сохранения результата сборки:
Вы можете использовать один из следующих вариантов для задания префикса для сохранения результата сборки:
-
* `outputName` для задания полного пути-префикса * `outputDir` плюс `outputName` для задания пути для директории и префикса файлов (они будут склеены автоматически) * `outputLevel` плюс свойста, описывающие БЭМ сущность: `block`, `elem`, `mod` и `val` (путь-префикс будет построен автоматически на базе правил маппинга сущностей в файлы, заданных для уровня)
* `outputName` для задания полного пути-префикса
* `outputDir` плюс `outputName` для задания пути для директории и префикса файлов (они будут склеены автоматически)
* `outputLevel` плюс свойста, описывающие БЭМ сущность: `block`, `elem`, `mod` и `val` (путь-префикс будет построен
автоматически на базе правил маппинга сущностей в файлы, заданных для уровня)