Всем привет!
Кратко об основных изменениях и новостях в мире БЭМ за прошедшие 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 lintmod()/elemMod()теперь можно использовать без второго аргумента, чтобы сделать подпредикат модификатора с любым значением- новые
appendContent()иprependContent() - функции эскейпинга оптимизированны и работают быстрее, а главное не тормозят если работают в холостую
- новая опция
productionс помощью которой страница будет рендерится даже если случились ошибки в отдельных блоках
Подробнее обо всех изменениях читайте в release-notes.
- Мы взяли в официальную поддержку заготовку проекта на БЭМ-платформе с серверной частью на express: https://github.com/bem/bem-express.
Новости инструментов
- Выпустили
ENB 1.4.0, release-notes. - Работали над плагинами для
enb:enb-bemxjst 8.0.0enb-bem-specs 0.10.0enb-stylus 2.4.0enb-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.