bem/bem-tools
-
* уровни переопределения * блоки * элементы * модификаторы
* уровни переопределения
* блоки
* элементы
* модификаторы -
##### Уровень переопределения
##### Уровень переопределения
-
Уровень переопределения -- это директория, в которой хранятся реализации блоков и служебная директория `.bem`.
Уровень переопределения -- это директория, в которой хранятся реализации
блоков и служебная директория `.bem`. -
В `.bem` хранятся настройки этого уровня переопределения:
В `.bem` хранятся настройки этого уровня переопределения:
-
* соглашения об именовании * ссылки на модули технологий
* соглашения об именовании
* ссылки на модули технологий -
Пример настройки ссылок на модули технологий (уровень `blocks-desktop` библиотеки блоков `bem-bl`):
Пример настройки ссылок на модули технологий (уровень `blocks-desktop`
библиотеки блоков `bem-bl`): -
https://github.com/bem/bem-bl/blob/master/blocks-desktop/.bem/level.js
https://github.com/bem/bem-bl/blob/master/blocks-desktop/.bem/level.js
-
###### Создание уровня переопределения blocks в текущей директории:
###### Создание уровня переопределения blocks в текущей директории:
-
bem create level blocks
bem create level blocks
-
###### Создание уровня для страниц
###### Создание уровня для страниц
-
В терминах `bem-tools` страницы тоже блоки, директория со страницами является уровнем переопределения. Создать такую директорию можно так:
В терминах `bem-tools` страницы тоже блоки, директория со страницами
является уровнем переопределения. Создать такую директорию можно так: -
bem create level pages
bem create level pages
-
###### Создание уровня переопределения на основе существующего
###### Создание уровня переопределения на основе существующего
-
Команда `bem create level` позволяет использовать существующий уровень переопределения в качестве прототипа для создаваемого уровня.
Команда `bem create level` позволяет использовать существующий уровень переопределения
в качестве прототипа для создаваемого уровня. -
bem create level --level bem-bl/blocks-desktop blocks
bem create level --level bem-bl/blocks-desktop blocks
-
##### Блок
##### Блок
-
Блок -- это набор файлов -- реализаций блока в различных технологиях.
Блок -- это набор файлов -- реализаций блока в различных технологиях.
-
###### Создание блока
###### Создание блока
-
bem create block b-my-block
bem create block b-my-block
-
По умолчанию блок создаётся с набором файлов для всех технологий по-умолчанию (`bemhtml`, `css`, `js`).
По умолчанию блок создаётся с набором файлов для всех технологий по-умолчанию (`bemhtml`, `css`, `js`).