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