bem/bem-tools
-
fdd088f5db9401700452feb9e8a53f16aafc9c7b
fdd088f5db9401700452feb9e8a53f16aafc9c7b
bem create -b b-block -e elem -m mod -
c6f9de5e3000d0ecf2315b6994d4248bf18ab428
c6f9de5e3000d0ecf2315b6994d4248bf18ab428
Создание модификатора `mod` в значениях `val1` и `val2` для элемента `elem` блока `b-block` -
3eb744ef85a34392e6a0a1a0602732a5cded1492
3eb744ef85a34392e6a0a1a0602732a5cded1492
bem create -b b-block -e elem -m mod -v val1 -v val2 -
91f6f0811540ccec5b2bd81220cde76ffcc4cf3e
91f6f0811540ccec5b2bd81220cde76ffcc4cf3e
#### bem build -
07c7c0bced7e429288ea3fdd2be5cf97424a5412
07c7c0bced7e429288ea3fdd2be5cf97424a5412
С помощью команды `bem build` можно собирать файлы страниц для различных технологий,
основываясь на декларации страницы. -
f23cabacd4844ae78ed4fac58b32a430337aa331
f23cabacd4844ae78ed4fac58b32a430337aa331
##### Создание файла bemdecl.js по bemjson-декларации страницы -
8d0abf779fa227eb94ac3cfe1a0a842194328920
8d0abf779fa227eb94ac3cfe1a0a842194328920
bem build \
-l bem-bl/blocks-common -l bem-bl/blocks-desktop \
-l blocks -l pages/index/blocks \
-d pages/index/index.bemjson.js -t bemdecl.js \
-o pages/index -n index -
a1604ac9fb0b0e29524c55dccba9e6d824fc57f9
a1604ac9fb0b0e29524c55dccba9e6d824fc57f9
Значением флага -t может быть как название технологии, так и полный путь до модуля
технологии. В этом модуле указано, как именно по декларации собирается конечный файл. -
2b6676ec898b885655dd762fd1e1881ed11d7a9c
2b6676ec898b885655dd762fd1e1881ed11d7a9c
Например, модуль для `deps.js`: https://github.com/bem/bem-tools/blob/master/lib/techs/deps.js.js -
6fed2e84837e9c25375661efd2d11a634972f412
6fed2e84837e9c25375661efd2d11a634972f412
##### Создание файла deps.js по bemdecl.js -
de4d578b8acf0f352fd5323832dde45758ddd476
de4d578b8acf0f352fd5323832dde45758ddd476
bem build \
-l bem-bl/blocks-common -l bem-bl/blocks-desktop \
-l blocks -l pages/index/blocks \
-d pages/index/index.bemdecl.js -t deps.js \
-o pages/index -n index -
6833428ed0809381b3f9e450f306aad438d8d5b2
6833428ed0809381b3f9e450f306aad438d8d5b2
###### Создание js и css файлов страниц по deps.js -
2236da40cf47f5ed3a6a5514b81819e71f07488b
2236da40cf47f5ed3a6a5514b81819e71f07488b
bem build \
-l bem-bl/blocks-common -l bem-bl/blocks-desktop \
-l blocks -l pages/index/blocks \
-d pages/index/index.deps.js -t css \
-o pages/index -n index -
fe6172e7f33b9ac30c0ff81561c9022e9517c552
fe6172e7f33b9ac30c0ff81561c9022e9517c552
bem build \
-l bem-bl/blocks-common -l bem-bl/blocks-desktop \
-l blocks -l pages/index/blocks \
-d pages/index/index.deps.js -t js \
-o pages/index -n index -
f97c2df5ba97645c2f0117141e3b31829cb39e91
f97c2df5ba97645c2f0117141e3b31829cb39e91
###### Создание сборки с шаблонами bemhtml.js по файлу deps.js -
d3eadcf1308b61e0bfb3b83a17949e5e1d5e43ec
d3eadcf1308b61e0bfb3b83a17949e5e1d5e43ec
bem build \
-l bem-bl/blocks-common -l bem-bl/blocks-desktop \
-l blocks -l pages/index/blocks \
-d pages/index/index.bemhtml.js \
-t bem-bl/blocks-desktop/i-bem/bem/techs/bemhtml.js \
-o pages/index -n index -
0d200781766019005892e685a4688fe084274dae
0d200781766019005892e685a4688fe084274dae
Пример построения страниц при помощи `bem build` есть в демонстрационном
проекте на блоках `bem-bl`: https://github.com/toivonen/bem-bl-test/blob/master/GNUmakefile -
ddbdc5cc3529fadba03251552cf0acef6ee1befa
ddbdc5cc3529fadba03251552cf0acef6ee1befa
#### bem decl -
f5cd6027ae74cc2fc23164dc9bf7039796ac642c
f5cd6027ae74cc2fc23164dc9bf7039796ac642c
`bem decl` позволяет работать с файлами деклараций, а именно: -
02892d23ebe9be268c6d8b848428bc474d2a10dc
02892d23ebe9be268c6d8b848428bc474d2a10dc
* объединять несколько деклараций в одну
* «вычитать» декларации, то есть получать разницу между ними