bem/bem-tools
- 
3e1a60203e177d4ef93401962f3226d0c5360d8f3e1a60203e177d4ef93401962f3226d0c5360d8f Или можно воспользоваться шоткатом:
- 
dcab8a8d88a23463142ea0d443dd778ebd498635dcab8a8d88a23463142ea0d443dd778ebd498635 ```js
 MAKE.decl('Arch', {
 libraries: {
 'bem-bl': {
 type: 'git',
 url: 'git://github.com/bem/bem-bl.git'
 }
 }
 });
 ```
- 
49b3ce9be8bb7b3e32659797fc9a0b72a829307f49b3ce9be8bb7b3e32659797fc9a0b72a829307f ###### Уровни переопределения
- 
d63f35a467aeec88ac5d0a7ef19e017687dc99f5d63f35a467aeec88ac5d0a7ef19e017687dc99f5 По умолчанию уровнями переопределения считаются все директории `blocks*` в корне проекта. Чтобы это изменить,
 добавьте в `.bem/make.js` следующий код:
- 
13fa39d7f3bcbad5f12da043ae35df65a998527a13fa39d7f3bcbad5f12da043ae35df65a998527a ```js
 MAKE.decl('Arch', {
 blocksLevelsRegexp: /регулярное выражение/,
 });
 ```
- 
c3cbf62e0fd199a79968509df2a3a1dec15fcb7bc3cbf62e0fd199a79968509df2a3a1dec15fcb7b Регулярное выражение используется для фильтрации директорий в корне проекта. Директории, которые попадают под выражение,
 будут считаться уровнями переопределения и для них будут созданы соответствующие узлы.
- 
212829577d8d2caa251bdbe7d2cfab2789562427212829577d8d2caa251bdbe7d2cfab2789562427 Если изменения маски для выбора уровней не достаточно и нужна более сложная логика, нужно переопределить метод
 `createBlocksLevelsNodes()`:
- 
7b904101f52fe96e0ac5add0762b6919b2f8253f7b904101f52fe96e0ac5add0762b6919b2f8253f ```js
 MAKE.decl('Arch', {
 createBlocksLevelsNodes: function(parent, children) {
 // Создаем экземпляр LevelNode
 var node1 = new LevelNode(...);
 // Добавляем созданный узел в дерево
 this.arch.setNode(node1, parent, children);
- 
a6cf840ddb7983ad84347555035ef0ae638284f5a6cf840ddb7983ad84347555035ef0ae638284f5 var node2 = new LevelNode(...);
 this.arch.setNode(node2, parent, children);
- 
35b24c857ef5e304dc1f4225f51bd7b9ee22cd7d35b24c857ef5e304dc1f4225f51bd7b9ee22cd7d // Возвращаем массив из идентификаторов созданных узлов
 return [node1.getId(), node2.getId()];
 }
 });
 ```
- 
31ebc5e5a725b4af2ae2e296f4ac2b3aa63b594a31ebc5e5a725b4af2ae2e296f4ac2b3aa63b594a ###### Бандлы и страницы
- 
6627e24654e1117cf99f11fe824430b5ee56b6f16627e24654e1117cf99f11fe824430b5ee56b6f1 По умолчанию уровнями бандлов считаются все директории `pages*` и `bundles*` в корне проекта. Изменить это можно по
 аналогии с конфигурацией уровней переопределения.
- 
4a1e10b36fce78e548546e6a2fae9d1f8ab0691f4a1e10b36fce78e548546e6a2fae9d1f8ab0691f ```js
 MAKE.decl('Arch', {
 bundlesLevelsRegexp: /регулярное выражение/,
 });
 ```
- 
93e6ca4296070055fc332ab44c167b5cb65ba9ab93e6ca4296070055fc332ab44c167b5cb65ba9ab И для большего контроля:
- 
5b4aa2b36d1482ba2180e34667b2ac7a8acb9d5b5b4aa2b36d1482ba2180e34667b2ac7a8acb9d5b ```js
 MAKE.decl('Arch', {
- 
674a9d64ea0e3460bb8792bfe011ff8aa7e1dfa3674a9d64ea0e3460bb8792bfe011ff8aa7e1dfa3 getBundlesLevels: function() {
 return [
 'pages-desktop',
 'pages-touch',
 'bundles/common'
 ];
 }
- 
7258da0b2027cf7f4d1f6b2f0562f0621b0d46cb7258da0b2027cf7f4d1f6b2f0562f0621b0d46cb 
 Для каждого бандла по умолчанию собираются следующие конечные файлы:
- 
1cfcff6553dacc4ec8dc495117bb67c3ccc251781cfcff6553dacc4ec8dc495117bb67c3ccc25178 * `.bemhtml.js`
 * `.html`
 * `.css`
 * `.ie.css`
 * `.js`
 * `_*.css`
 * `_*.ie.css`
 * `_*.js`
- 
d9b1c67b8c6c8911c6bc122aec509152e439f809d9b1c67b8c6c8911c6bc122aec509152e439f809 и промежуточные:
- 
307f416baf10cae7673ca117abc2304401bd126c307f416baf10cae7673ca117abc2304401bd126c * `.bemdecl.js`
 * `.deps.js`
 * `.deps.js.deps.js`
 * `.bemhtml.js.meta.js`
 * `.js.meta.js`
 * `.css.meta.js`
 * `.ie.css.meta.js`