О bem-xjst
Что такое bem-xjst?
bem-xjst — шаблонизатор для тех, кто ведёт веб-разработку в рамках БЭМ-методологии.
Шаблонизатор содержит два движка:
- BEMHTML — для преобразования BEMJSON в HTML. 
- BEMTREE — для преобразования BEMJSON с данными в BEMJSON с БЭМ-деревом для последующего преобразования с помощью BEMHTML. 
В основе шаблонизатора лежат декларативные принципы из XSLT (eXtensible Stylesheet Language Transformations). По аналогии было придумано название XJST — eXtensible JavaScript Transformations.
Для работы с шаблонизатором вам стоит изучить:
Отличительные черты
- Шаблоны расширяемы: их можно переопределить или доопределить. 
- Для написания шаблонов используется сопоставление с образцом (pattern matching) по значениям и структуре входных данных. 
- Обходит входные данные по умолчанию. 
- Есть встроенное поведение рендеринга по умолчанию, даже если пользователь не добавил шаблонов. 
- Написан на JavaScript — можно проводить проверки качества и корректности кода, пользоваться всей инфраструктурой JS. 
- Не требует компиляции шаблонов. 
- Предоставляет API для добавления шаблонов в рантайме. 
- Работает на сервере и клиенте. 
Читать далее: быстрый старт