Коротко о том, как мы завершили прошлый год и с чем вошли в новый.
Новости документации
- Полностью обновили документ про сборку БЭМ-проектов. Свежий, красивый и понятный читайте на bem.info.
- Опубликовали новый документ про то, как описывать зависимости в БЭМ.
- Написали спецификацию для DEPS в БЭМ.
- Внесли много мелких правок в методологической части документации.
Новости сайта
Выкатили раздел БЭМ-библиотек в новом дизайне:
Новости библиотек
bem-core
bem-components
- Выпустили обещанную в прошлом дайджесте bem-components v4.0.0 с небольшим обновлением дизайна контролов и переходом со Stylus на postCSS.
- Выпустили долгожданную версию bem-components 5.0.0, которая под капотом использует bem-core 4.1.1. В версию 5.0.0 вошли сразу два набора стилей: исходники на postCSS и скомпилированный CSS на случай, если вы предпочитаете использовать препроцессор.
bem-history
- Пока не выпустили в релиз, но призываем вас уже посмотреть и пощупать библиотеку в отдельной ветке v4. Эта версия совместима с
bem-core v4
.
Главное изменение — переименование блокаuri
в элементuri__querystring
, который расширяет базовую реализацию одноименного модуля изbem-core
классомUri
. Методы класса сохранились без изменений.
Если вы давно этого ждали — самое время попробовать и рассказать о возможных проблемах до того, как мы выпустим версию.
bem-react-core
- Работаем над BEM React Core — библиотекой для описания React-компонентов в виде деклараций БЭМ-сущностей.
- Разработали полный пакет документации: README, REFERENCE и CONTRIBUTION GUIDE.
Новости технологий
bem-express
Выпустили очередную партию мажорных обновлений:
- Обновили bem-core до версии 4.1.1 и bem-components до 5.0.0.
- Перешли со Stylus к PostCSS. Из коробки поставляется тот же набор плагинов, что и в bem-components.
- Внедрили опциональный
livereload
. Подробнее смотри в документации и в README проекта. - Добились ускорения сборки за счет прогрева
npm
-модулей, необходимых для сборки. - Отказались от
bower
для поставки библиотек. Теперь все зависимости ставятся черезnpm
в папкуnode_modules
.
bem-xjst
v8.3.1 (v7.4.1)
- Исправлен баг в режиме
extend()
. Теперь режим работает как ожидается. - Дополнена документация: описание
this.extend(o1, o2)
.
- Исправлен баг в режиме
v8.4.0 (v7.6.0)
- Новая опция
unquotedAttrs
позволяет не выводить двойные кавычки у тех HTML-атрибутов, значения которых позволяют это сделать.
- Новая опция
v8.4.1 (v7.6.1)
- Колбек режима
extend(function(ctx, json) { … })
теперь принимает такие же аргументы, как и остальные колбеки в других режимах. Первый — ссылка на контекст исполнения шаблона(this)
, второй — ссылка на узел BEMJSON, на который сматчился шаблон.
- Колбек режима
-
- Функции экранирования теперь возвращают пустую строку, если аргументом был
undefined
,null
илиNaN
. Раньше вы получали результат приведения к строке, что было исправлено.
- Функции экранирования теперь возвращают пустую строку, если аргументом был
-
- В BEMTREE добавлены режимы, имеющие отношение к данным:
js()
,addJs()
,mix()
,addMix()
,mods()
,addElemMods()
,elemMods()
. Остальные режимы, которые имеют отношение только к HTML, доступны в BEMHTML.
- В BEMTREE добавлены режимы, имеющие отношение к данным:
-
- Исправлен баг с расчетом
this.position
во время использования режимаreplace()
.
- Исправлен баг с расчетом
v8.5.2 (v7.6.4)
- Исправлен баг в BEMTREE, связанный с рендерингом специального значения поля
content
{ html: '<unescaped value>' }
. - Обновлена bem-xjst onlinе demo:
- Добавлен переключатель движков BEMHTML/BEMTREE.
- Добавлена заглушка для
BEM.I18N()
, которая возвращает свой второй аргумент. Это удобно для копирования кода из продакшена в песочницу.
- Обновлен README: описали основные отличия шаблонизатора, фичи и т.д.
- Силами Михаила Степанова обновлена песочница. Вы тоже можете помочь: у нас есть задачи, помеченные как help wanted.
- Исправлен баг в BEMTREE, связанный с рендерингом специального значения поля
enb-bemxjst
- Выпустили новую версию enb-bemxjst v8.5.2 с зависимостью
"dependencies": { "bem-xjst": "8.5.2"
. Однако продолжаем активно поддерживать две ветки: 7.x и 8.x.
Обо всех изменениях читайте в примечаниях к релизу v8.5.2 и v7.6.4. Полный список изменений описан в CHANGELOG.
Новости инструментов
bem-tools
Выпустили bem-tools 2.0.0, где обновили bem-tools-create. Подробности читайте в документации.
bem-walk
Написали полный и понятный README.
project-stub
- Внедрили новую версию bem-components v5.0.0 с учётом перехода на postCSS и новую версию bem-tools 2.0.0.
- В качестве эксперимента включили gulp-bem в project-stub.
Новости мероприятий и сообщества
- Выступили на DevCon School: Технологии будущего с докладом «Разрабатываем ASP.NET MVC приложение с БЭМ-фронтендом».
- Рассказали на форуме об опыте внедрения gulp-bem.
- Антон Виноградов ответил на вопросы про bem-xjst и React.
- Занялись портированием Animate.CSS на БЭМ. Инструкция по подключению.
- Работаем над библиотекой блоков для типографики.
- Провели BEMup для новичков, где рассказали про независимые блоки с самого начала — очень понятно и без BEMJSON/BEMHTML/bem-tools. Поговорили про сценарии, когда один проект требуется распараллелить на несколько разработчиков. Для тех, кто пропустил, опубликовали скринкаст с BEMup'а для начинающих.
https://youtu.be/Ai-yt0b8iKE