bem/bem-tools
-
7765b18fe9b7bb2131a10241cc3c49272e77cb97
7765b18fe9b7bb2131a10241cc3c49272e77cb97
* уровни переопределения
* блоки
* элементы
* модификаторы -
8bb5abecfb41ef29c5bffc0c831d92598ee09d3b
8bb5abecfb41ef29c5bffc0c831d92598ee09d3b
##### Уровень переопределения -
8602cdaa372b1c615021dd73270e1b18bbb83d67
8602cdaa372b1c615021dd73270e1b18bbb83d67
Уровень переопределения -- это директория, в которой хранятся реализации
блоков и служебная директория `.bem`. -
2a04579b0496a13b6c542d40f8817eea7702e04d
2a04579b0496a13b6c542d40f8817eea7702e04d
В `.bem` хранятся настройки этого уровня переопределения: -
44a1aa73e8aa0969d8cb65218fc4895eda419381
44a1aa73e8aa0969d8cb65218fc4895eda419381
* соглашения об именовании
* ссылки на модули технологий -
1a3aa9ffda6d4841f4efbd3c19d0cb23fa96a758
1a3aa9ffda6d4841f4efbd3c19d0cb23fa96a758
Пример настройки ссылок на модули технологий (уровень `blocks-desktop`
библиотеки блоков `bem-bl`): -
5edeea3a484865e77051099d94afbbb3b230ef17
5edeea3a484865e77051099d94afbbb3b230ef17
https://github.com/bem/bem-bl/blob/master/blocks-desktop/.bem/level.js -
72243f03073a197327e35faf46a9fbea8d925282
72243f03073a197327e35faf46a9fbea8d925282
###### Создание уровня переопределения blocks в текущей директории: -
881631a1a18d80fdc4b557f16205625b40f6fcb5
881631a1a18d80fdc4b557f16205625b40f6fcb5
bem create level blocks -
20666748b0c6d318518aa0d7c778bc7173acf1c3
20666748b0c6d318518aa0d7c778bc7173acf1c3
###### Создание уровня для страниц -
872ff9a66c093f9c9b3bea2310c64a89db526b4e
872ff9a66c093f9c9b3bea2310c64a89db526b4e
В терминах `bem-tools` страницы тоже блоки, директория со страницами
является уровнем переопределения. Создать такую директорию можно так: -
98441f855246b6617d45cd96b1cb96f7bc2d3986
98441f855246b6617d45cd96b1cb96f7bc2d3986
bem create level pages -
0ddf6570463991711626453a650a13d749c23e58
0ddf6570463991711626453a650a13d749c23e58
###### Создание уровня переопределения на основе существующего -
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`).