Всем привет!
Кратко об основных изменениях и новостях в мире БЭМ за прошедшие 3 месяца с предыдущего дайджеста.
Новости документации
У нас появились два новых и крутых документа по БЭМ:
- Быстрый старт для начинающих знакомиться с БЭМ — он по-настоящему простой, без
bem-tools
иBEMJSON
. - Мы внезапно написали документ про CSS. Хотя «БЭМ не только про CSS» ©.
Кроме этого, многие другие документы исправлены и дописаны.
Новости библиотек
Закончили работу над стабильной версией
bem-core 4.0.0
. Основные изменения:- Изменился API блока
i-bem
- Изменился API блока
querystring
. - Из модуля
identify
удален опциональный параметрonlyGet
. - Из модуля
events
удалены все статические методы. - В классе
Event
модуляevents
удалено полеresult
. - Элемент
css
блокаpage
больше не поддерживает автоматическое добавление условных комментариев для IE.
Все подробности можно прочитать в миграционном гайде. А еще лучше — посмотреть выступление @veged: https://events.yandex.ru/lib/talks/3685/ где он подробно рассказывает обо всех изменениях.
- Изменился API блока
- Заканчиваем работу над новой весрией
bem-components
— уже на этой неделе планируется релиз v4 с новым дизайном, обязательно расскажем об этом релизе отдельно. - Начали работу над
bem-react-core
. Это новая библиотека, которая позволит писать react-совместимые блоки в bem-терминах. - Параллельно с этим работаем над
bem-react-components
, библиотека будет содержать react-реализацию блоков изbem-components
. На данный момент готовы блокиButton
,Icon
,Link
,TextInput
,TextArea
,Checkbox
.Новости технологий
Выпустили два мажорных, десятки минорных и патчевых релизов
bem-xjst
. Самая свежая весия —8.3.0
. Основные изменения:- Теперь режимы
mix()
,js()
,attrs()
заменяют значения BEMJSON. - Если выхотите расширить значение BEMJSON используйте
applyNext()
. - Вызовы
applyNext()
во всех режимах по умолчанию возвращаютBEMJSON
. - Если вы захотите добавить
mix
,js
илиattrs
теперь можно использоватьaddMix()
,addJs()
илиaddAttrs()
.
Важно!
bem-xjst 8.x
пока несовместима сbem-components
. Прямо сейчас мы работаем над этим.- Теперь режимы
Кроме
bem-xjst 8.0.0
у нас появилась куча новых фич:runtime lint
mod()/elemMod()
теперь можно использовать без второго аргумента, чтобы сделать подпредикат модификатора с любым значением- новые
appendContent()
иprependContent()
- функции эскейпинга оптимизированны и работают быстрее, а главное не тормозят если работают в холостую
- новая опция
production
с помощью которой страница будет рендерится даже если случились ошибки в отдельных блоках
Подробнее обо всех изменениях читайте в release-notes.
- Мы взяли в официальную поддержку заготовку проекта на БЭМ-платформе с серверной частью на express: https://github.com/bem/bem-express.
Новости инструментов
- Выпустили
ENB 1.4.0
, release-notes. - Работали над плагинами для
enb
:enb-bemxjst 8.0.0
enb-bem-specs 0.10.0
enb-stylus 2.4.0
enb-css 1.2.2
- Мы продолжаем строить инструмент
bem-lib-site
для автоматической сборки документации для библиотеки блоков/проекта на БЭМ. - Кроме этого, идет большая работа в
BEM-SDK
.Новости мероприятий
- Провели очередной хакатон по БЭМ, продвинулись по:
bem-config
: доведен до готовности и ума модуль для работы с конфигурациями БЭМ-проектов.bem-tools
: создан готовый к использованию плагинbem-tools-create
, чтобы его использовать нужно так же установитьbem-tools-core
.- плагины для
bem-tools-create
к различным IDE: для Atom, IDEA, и Sublime были собраны рабочие прототипы плагинов для запуска командыbem-tools-create
. - модульной сборке c gulp: взяли
gulp-bem-bundle-builder
и попытались внедрить в реальные проекты, запустилось, поняли чего не хватает, работаем дальше. - по модулям
BEM-SDK
: доведены до рабочего состояния модулиbem-deps
,bem-graph
для чтения и работы с зависимостями между БЭМ-сущностями,bem-decl
для работы с файлами деклараций БЭМ-сущностей,bem-bundle
, и другие.
- Возобновили традицию BEMup'ов — 30 сентября очередной БЭМап для всех желающих прошел в Московском офисе Яндекса
- Вместе с @zxqfox провели два вебинара про сборку проектов на gulp, если кто-то пропустил — смотрите в записи:
сборка проекта с помощью
BEM-SDK
сборка проекта с помощьюgulp
.