bem-site / bem-forum-content-ru

Content BEM forum for Russian speak users
MIT License
56 stars 6 forks source link

Как совместить 2 технологии (BEMHTML и BH)? #816

Open Trusow opened 8 years ago

Trusow commented 8 years ago

Допустим, я хочу чтобы шаблоны компилились по технологии require('enb-bemxjst/techs/bemhtml'), а bemjson в html по технологии require('enb-bh/techs/bemjson-to-html'). То есть шаблоны я прогоняю через BEMHTML, а bemjson через BH. Как это сделать, чтобы не было ошибок при сборке?

tadatuta commented 8 years ago

Это очень странное желание. Какую задачу должна решать такая сборка?

pavelpower commented 8 years ago

Вероятно есть блоки на BH и на BEMHTML и хочется, чтобы они работали вместе.

Но факт, что пока только можно выбрать одно из

Trusow commented 8 years ago

Нам просто больше по душе синтаксис написания шаблонов BEMHTML, но не нравится то, что BEMJSON должен содержать корневой блок, который есть в шаблонах. То есть при записи:

({
    block : 'b'
})

Если такого шаблона нет, то в HTML ничего не сгенерится. А в BH сгенерится <div class="b"></div>

pavelpower commented 8 years ago

@Trusow а дописать интерпретатор на то, чтобы брать имя из файла?

tadatuta commented 8 years ago

@Trusow звучит очень странно. Если взять «пустой» BEMHTML-бандл (без пользовательских шаблонов) и передать ему на вход { block: 'b' }, то на выходе будет <div class="b"></div>, т.е. в точности как в BH.

Предполагаю, что проблема в чем-то другом. Готов помочь разобраться, но нужны подробности.

Trusow commented 8 years ago

@pavelpower, не совсем понял, о каком интерпретаторе речь? @tadatuta, странно, из коробки (stub), не срабатывает. make дефолтный.

tadatuta commented 8 years ago

@Trusow да, справедливо. Это реализация технологии сборки в enb-bemxjst, которая при отсутствии пользовательских шаблонов исключает и код ядра из результатов сборки.

Отправил PR, который позволит управлять этим поведением через опцию: https://github.com/enb-bem/enb-bemxjst/pull/119

pavelpower commented 8 years ago

@Trusow я видимо не совсем верно понял проблему. Речь явно не про то, что мне сначала показалось.

tadatuta commented 8 years ago

@Trusow Забирайте новую версию — https://github.com/enb-bem/enb-bemxjst/releases/tag/v4.1.0

Trusow commented 8 years ago

@tadatuta большое спасибо