БЭМ-проекты теперь могут легко использовать знаменитый Highlight.js для посветки кода, подключив библиотеку bem-highlight.js.
Библиотека предоставляет блок highlight с CSS, JavaScript и BEMHTML реализацией. Больше не нужно вручную подключать дополнительные файлы, всё собирается по БЭМ. Есть широкие возможности переопределения на своём уровне
Блоки кода независимы, для их подсветки можно использовать разные цветовые схемы, даже если всё в рамках одной страницы.
Библиотека совместима с bem-core, используется новая модульная система.
Пример использования на живом проекте можно посмотреть у меня в блоге.
Конечно, планируется развитие и в обозримом будущем — пост об особенностях реализации. Но похвастаться захотелось уже сейчас
расскажи в двух словах, в чем отличие от реализации Сагалаева, и где профит?
например, вижу что перепилены темы:
https://github.com/varya/ bem-highlight.js/blob/mas ter/blocks/highlight/_the me/highlight_theme_monoka i.css
https://github.com/isagal aev/highlight.js/blob/mas ter/src/styles/monokai.cs s
- .lisp .hljs-title,
+ .highlight_theme_monokai pre .lisp .title,
что дало на выходе вместо:
конструкцию вида:
Отличие в том, что это БЭМ-блок. Хотя слово "отличие" тут слабо применимо. Код Highlight.js у меня не изменен, взят как есть, просто добавлена БЭМ-обертка. В результате не нужно вручную подключать CSS и JS.
Кроме того, я обернула темы модификаторами, что позволяет их использовать на одной странице. И есть BEMHTML шаблон для производства HTML.
Написан иницилизационный JS, позволяющий переопределения в рамках проекта (так сделано у меня в блоге) или для контретного блока (если пользователь напишет свой модификатор).
Хотя ты прав, можно сделать блок на