bem/bem-tools
-
3472e3bc0358c8fefbf6763e7cc97a5b1eb64154
3472e3bc0358c8fefbf6763e7cc97a5b1eb64154
Команда `bem create level` позволяет использовать существующий уровень переопределения
в качестве прототипа для создаваемого уровня. -
999a902572b370f0da6cba3d0c5828488d7cf8b7
999a902572b370f0da6cba3d0c5828488d7cf8b7
bem create level --level bem-bl/blocks-desktop blocks -
5801fc4eb03b6b435f14f5c868e49692b1570cb0
5801fc4eb03b6b435f14f5c868e49692b1570cb0
##### Блок -
71cea32c048a8e333e776284fa2c6eebf6ad0643
71cea32c048a8e333e776284fa2c6eebf6ad0643
Блок -- это набор файлов -- реализаций блока в различных технологиях. -
b5a38949c987e89d9b885ce8c4a88a60f9edb14c
b5a38949c987e89d9b885ce8c4a88a60f9edb14c
###### Создание блока -
1b2de71c5c545cf34f0e68ce67cb6bdf596809f4
1b2de71c5c545cf34f0e68ce67cb6bdf596809f4
bem create block b-my-block -
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
###### Создание модификатора блока или элемента