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