Open mathetes opened 8 years ago
Под синтаксисом шаблонов подразумевается синтаксис описания предикатов (block('b1').content()()
). Они совпадают для BEMTREE и BEMHTML.
А BEMJSON — это формат описания БЭМ дерева, который также используется в обоих шаблонизаторах, но с разным смыслом — BEMTREE отвечает за генерацию BEMJSON, а BEMHTML принимает на вход BEMJSON и строит по нему HTML.
Это все более-менее описано в документации на https://ru.bem.info/technology/
Я своим коллегам объяснял так: Во первых нужно понять цепочку bemtree --> bemjson --> bemhtml --> html
много про это написано в доке.
Тоесть задача bemtree генерить bemjson. Получается что в описании мод самого шаблона не должно быть следующих мод отвечающих за генерацию html. например
tag()(),
attrs()(),
cls()()
// итд
Всем этим про "обвеску" для html должен заниматься bemhtml
по сути в bemtree остаются только
def()(),
content()()
этого достаточно для генерации bemjson в этом и главное отличие в том что написано в шаблонах.
В документации написано, что
На практике использую синтаксис BEMJSON из других проектов в BEMTREE и все работает. Как правильно писать bemree синтаксис? И в чем отличие от BEMJSON? Понимаю, что вопрос достаточно обширный поэтому прошу указать на важные различия.