bem/bem-tools
-
c407ac8ef246d592d7962c8274458600d381a4ca
c407ac8ef246d592d7962c8274458600d381a4ca
По умолчанию блок создаётся с набором файлов для всех технологий по-умолчанию (`bemhtml`, `css`, `js`). -
ff724ebf28e77a21c3fb18ae442b22128d8908f8
ff724ebf28e77a21c3fb18ae442b22128d8908f8
###### Создание блока в определённой технологии -
c35f711ffe67ecdad716f17713217f7fe6f481db
c35f711ffe67ecdad716f17713217f7fe6f481db
Использование флагов -t (-T) позволяет создавать файлы блока нужных технологий: -
699ab627e267d82a1e4852632ce9776513c5c819
699ab627e267d82a1e4852632ce9776513c5c819
bem create block -t deps.js b-my-block
// Создаст реализацию в технологии deps.js помимо дефолтных -
70fc15918fc37f3f9b20125430571d8c0b44cf10
70fc15918fc37f3f9b20125430571d8c0b44cf10
bem create block -T css b-my-block
// Создаст только технологию CSS для блока -
9e5d0af6dece0f5917566812a0e6b5a9066d45c8
9e5d0af6dece0f5917566812a0e6b5a9066d45c8
bem create block -T bem-bl/blocks-desktop/i-bem/bem/techs/bemhtml.js b-my-block
// Флаг -T удобно использовать, если нужно добавить новую технологию для уже существующего блока -
e0f742694cb6ba244bda0b2d682eae416f3a6584
e0f742694cb6ba244bda0b2d682eae416f3a6584
В качестве значения флага может быть указано название технологии (например, `css`)
или путь до модуля технологии. -
98c47cdef78e6c021ec62197ca3b90e7df036677
98c47cdef78e6c021ec62197ca3b90e7df036677
Названия технологий могут быть указаны в файле `.bem/level.js` уровня переопределения.
Например, https://github.com/bem/bem-bl/blob/master/blocks-desktop/.bem/level.js -
9e6aafeb13849de61ce58306b96f8f46a6f252b9
9e6aafeb13849de61ce58306b96f8f46a6f252b9
Примеры реализации модулей технологий можно увидеть в репозитории: -
bfd41c2c72f79108547e1a7b6bf97461363784b4
bfd41c2c72f79108547e1a7b6bf97461363784b4
https://github.com/bem/bem-tools/tree/master/lib/techs -
1c84956e229c1ddd35d0e1e7280c3cfdf05e7abf
1c84956e229c1ddd35d0e1e7280c3cfdf05e7abf
###### Создание элемента блока -
d45f755d3aa85e071b31f4d2fd1b977ac6d44c77
d45f755d3aa85e071b31f4d2fd1b977ac6d44c77
Создание элемента `elem` для блока `b-my-block` -
648ffab406b5557b5195529d296c8a3a13d6088c
648ffab406b5557b5195529d296c8a3a13d6088c
bem create elem -b b-my-block elem -
3f5c2053bb62553e80bf8089da3a6a0e8133ff5d
3f5c2053bb62553e80bf8089da3a6a0e8133ff5d
###### Создание модификатора блока или элемента -
e06649d4cc5ed69bb82257b9500e9188cf4bb5e3
e06649d4cc5ed69bb82257b9500e9188cf4bb5e3
Создание модификатора `mod` для блока `b-my-block` -
62d65def9c4b0acd35885f4d7a31f33d530daefb
62d65def9c4b0acd35885f4d7a31f33d530daefb
bem create mod -b b-my-block mod -
4c3958188fb37616aea0f5f16060c1bde15902dc
4c3958188fb37616aea0f5f16060c1bde15902dc
Создание модификатора `mod` в значении `val` для блока `b-my-block` -
ba5cbc2f01bf86cccf1dbcd0f3fb8a850f83c91b
ba5cbc2f01bf86cccf1dbcd0f3fb8a850f83c91b
bem create mod -b b-my-block mod -v val -
f8c93ed61141bc01592dd0aa7ddce2d325aa2163
f8c93ed61141bc01592dd0aa7ddce2d325aa2163
Создание модификатора `mod` для элемента `elem` блока `b-my-block` -
a49aa4ee701dc4ef0ae7ebd0bce097a4b69d24d4
a49aa4ee701dc4ef0ae7ebd0bce097a4b69d24d4
bem create mod -b b-my-block -e elem mod