Форум

Методология

Инструментарий

Платформа

Сообщество

О bem-xjst

Что такое bem-xjst?

bem-xjst — шаблонизатор для тех, кто ведёт веб-разработку в рамках БЭМ-методологии.

Шаблонизатор содержит два движка:

  1. BEMHTML — для преобразования BEMJSON в HTML.
  2. BEMTREE — для преобразования BEMJSON с данными в BEMJSON с БЭМ-деревом для последующего преобразования с помощью BEMHTML.

В основе шаблонизатора лежат декларативные принципы из XSLT (eXtensible Stylesheet Language Transformations). По аналогии было придумано название XJST — eXtensible JavaScript Transformations.

Для работы с шаблонизатором вам стоит изучить:

  1. Формат входных данных — BEMJSON
  2. Как писать шаблоны
  3. Процессы выбора и применения шаблонов

Отличительные черты

  1. Шаблоны расширяемы: их можно переопределить или доопределить.
  2. Для написания шаблонов используется сопоставление с образцом (pattern matching) по значениям и структуре входных данных.
  3. Обходит входные данные по умолчанию.
  4. Есть встроенное поведение рендеринга по умолчанию, даже если пользователь не добавил шаблонов.
  5. Написан на JavaScript — можно проводить проверки качества и корректности кода, пользоваться всей инфраструктурой JS.
  6. Не требует компиляции шаблонов.
  7. Предоставляет API для добавления шаблонов в рантайме.
  8. Работает на сервере и клиенте.

Читать далее: быстрый старт

Если вы заметили ошибку или хотите чем-то дополнить статью, вы всегда можете или написать нам об этом на Гитхабе, или поправить статью с помощью prose.io.