SlideShare a Scribd company logo
Дом из готовых кирпичей
                   Библиотека блоков, тюнинг, инструменты


                   Елена Глухова и Варвара Степанова
                   Разработчики интерфейсов


                   YAC, Москва, 19 сентября 2011 года



Wednesday, October 5, 2011
clck.ru/L462
                                шпаргалка к мастер-классу
                             Дом из готовых кирпичей




Wednesday, October 5, 2011
Немного теории



                   3

Wednesday, October 5, 2011
Образец подзаголовка

                              Картинка про предметную область БЭМ




                   4

Wednesday, October 5, 2011
Картинка про уровни переопределения




                                                 Образец текста




                   5

Wednesday, October 5, 2011
Про что мастер-класс?



                   6

Wednesday, October 5, 2011
Мы сделаем:




                   7

Wednesday, October 5, 2011
Мы сделаем:

                   Проект с типовой архитектурой




                   8

Wednesday, October 5, 2011
Мы сделаем:

                   Проект с типовой архитектурой
                   Страницу на блоках из библиотеки




                   9

Wednesday, October 5, 2011
Мы сделаем:

                   Проект с типовой архитектурой
                   Страницу на блоках из библиотеки
                   Свои блоки на ядре библиотеки




                   10

Wednesday, October 5, 2011
Мы сделаем:

                   Проект с типовой архитектурой
                   Страницу на блоках из библиотеки
                   Свои блоки на ядре библиотеки
                   Используем БЭМ-инструменты


                   11

Wednesday, October 5, 2011
Конкретно:




                   12

Wednesday, October 5, 2011
Конкретно:

                   Подключение библиотеки




                   13

Wednesday, October 5, 2011
Конкретно:

                   Подключение библиотеки
                   Сборка страницы




                   14

Wednesday, October 5, 2011
Конкретно:

                   Подключение библиотеки
                   Сборка страницы
                   Переопределение уровнем




                   15

Wednesday, October 5, 2011
Конкретно:

                   Подключение библиотеки
                   Сборка страницы
                   Переопределение уровнем
                   Переопределение в разных технологиях



                   16

Wednesday, October 5, 2011
БЭМ библиотека

                   Репозиторий
                             github.com/bem/bem-bl
                                              или clck.ru/Kuu4
                   Документация
                             bem.github.com/bem-bl
                                              или clck.ru/Kuuk
                   17

Wednesday, October 5, 2011
Среда разработки



                   18

Wednesday, October 5, 2011
Инструменты и окружение

                Локальный web-сервер
                БЭМ-инструменты
                         github.com/bem/bem-tools
                         или clck.ru/Kz8v



                   19

Wednesday, October 5, 2011
Установка bem-tools

                Node.js
                  nodejs.org
                Пакетный менеджер NPM
                  npmjs.org




                   20

Wednesday, October 5, 2011
Установка БЭМ-инструментов


                      > npm install -g
                          bem ometajs xjst




                   21

Wednesday, October 5, 2011
Команды:


                      > bem --help

                      > bem create

                      > bem build


                   22

Wednesday, October 5, 2011
Новый проект



                   23

Wednesday, October 5, 2011
Проект на GitHub

                   clck.ru/LP3d
                   git://github.com/toivonen/yac2011-bem-bl-in-use.git


                      > git checkout first

                      > make branches


                   24

Wednesday, October 5, 2011
Подключение библиотеки
                   bem-bl

      > git clone
        git://github.com/bem/bem-bl.git




                   25

Wednesday, October 5, 2011
Создание уровня (папки)
                   pages

                      > bem create level --help

                      > bem create level pages




                   26

Wednesday, October 5, 2011
Создание страницы
                   pages/index

                      > bem create block --help

                      > bem create block index
                          -l pages



                   27

Wednesday, October 5, 2011
Создание страницы
                   pages/index

                      > bem create block index
                          -l pages -T bemjson.js




                   28

Wednesday, October 5, 2011
Настройки уровня


                      > .bem/level.js




                   29

Wednesday, October 5, 2011
Создание страницы pages/index


                      > bem create block index
                          -l pages -T bemjson.js




                   30

Wednesday, October 5, 2011
Сборка страницы



                   31

Wednesday, October 5, 2011
Собранные файлы
                   для браузера

                      pages/index/index.css
                      pages/index/index.ie.css




                   32

Wednesday, October 5, 2011
Собранные файлы
                   для браузера

                      pages/index/index.css
                      pages/index/index.ie.css
                      pages/index/index.js




                   33

Wednesday, October 5, 2011
Собранные файлы
                   для браузера

                      pages/index/index.css
                      pages/index/index.ie.css
                      pages/index/index.js
                      pages/index/index.html



                   34

Wednesday, October 5, 2011
Сборка css и js


                      bemjson.js -> bemdecl.js
                      bemdecl.js -> deps.js
                      deps.js -> css, js, ie.css




                   35

Wednesday, October 5, 2011
Сборка html


                      deps.js -> bemhtml.js
                      bemjson + bemhtml.js = html




                   36

Wednesday, October 5, 2011
Команды сборки


                      > bem build --help
                      > bem create --help




                   37

Wednesday, October 5, 2011
Развернуть @import


                      npm install -g
                          borschik coa
                          node-inherit
                          cssp ometajs



                   38

Wednesday, October 5, 2011
Развернуть @import


                      borschik -t css
                       -i pages/index/index.css
                       -o pages/index/_index.css




                   39

Wednesday, October 5, 2011
GNUmake le



                   40

Wednesday, October 5, 2011
GNUmake le


                      > make
                      > make -B
                      > make -B
                          pages/index/index.html
                      > make -B
                          pages/index/index.css
                   41

Wednesday, October 5, 2011
Делаем страницу




                   42

Wednesday, October 5, 2011
43

Wednesday, October 5, 2011
Будем создавать:

                   Уровень переопределения блоков
                   Свой блок
                   Модификатор блока
                   Зависимость блока от другого блока



                   44

Wednesday, October 5, 2011
Создаем уровень переопределения
                   проекта blocks

                     > bem create level blocks
                       -l bem-bl/blocks-common/
                       .bem/level.js



                   45

Wednesday, October 5, 2011
Создаем блок
                      > bem create block b-page
                         -l blocks -T css




                   46

Wednesday, October 5, 2011
Сборка css для index.html
                      > make
                        pages/index/index.css -B

                      — index.css




                   47

Wednesday, October 5, 2011
Сборка любой другой технологии js

                      > make
                        pages/index/index.js -B
                      или
                      > make
                        pages/index/index.ie.css -B



                   48

Wednesday, October 5, 2011
Сборка всей страницы

                      > make
                        pages/index/index.html -B

                      — index.html
                      — index.js
                      — index.css
                      — index.ie.css
                   49

Wednesday, October 5, 2011
Ссылки
                   для “почитать”

                Репозиторий библиотеки
                   github.com/bem/bem-bl или clck.ru/Kuu4
                Сайт с документацией
                   clck.ru/KzG7
                Клуб в Ярушке
                   clubs.ya.ru/bem/ или clck.ru/4Jl3
                   50

Wednesday, October 5, 2011
Варвара Степанова
                             toivonen@yandex-team.ru



                             Елена Глухова
                             lento4ka@yandex-team.ru




Wednesday, October 5, 2011

More Related Content

Viewers also liked

New york 2005
New york 2005New york 2005
New york 2005
petergracia
 
Presentazione
Presentazione Presentazione
Presentazione laleing
 
Make in Italy presentation at OuiShare Fest 2014
Make in Italy presentation at OuiShare Fest 2014Make in Italy presentation at OuiShare Fest 2014
Make in Italy presentation at OuiShare Fest 2014
Tomas Mancin
 
Sample Work
Sample WorkSample Work
Sample Workbjm190
 
Know your city
Know your cityKnow your city
Know your city
Subhradip Bose
 
Powerpoint rationale
Powerpoint rationalePowerpoint rationale
Powerpoint rationale
Keppsy
 
Collaborate Bristol
Collaborate BristolCollaborate Bristol
Collaborate Bristol
David Peter Simon
 
Nebuloasa personal branding in social media
Nebuloasa   personal branding in social mediaNebuloasa   personal branding in social media
Nebuloasa personal branding in social media
OlteaZambori
 
DTC Lab Kickoff Intro
DTC Lab Kickoff IntroDTC Lab Kickoff Intro
DTC Lab Kickoff Intro
DTC Lab
 
Integration
IntegrationIntegration
Integration
lyonka02
 
Constitutionof india acts
Constitutionof india actsConstitutionof india acts
Constitutionof india acts
Ashique Mp
 
Ko'galo After Party
Ko'galo After PartyKo'galo After Party
Ko'galo After Party
Supremacy enterprises
 
KulturA Benedenwinds
KulturA BenedenwindsKulturA Benedenwinds
KulturA Benedenwinds
ejbezemer
 
KeyWifi 27 Exec Sum deck sldshr
KeyWifi 27 Exec Sum deck sldshrKeyWifi 27 Exec Sum deck sldshr
KeyWifi 27 Exec Sum deck sldshr
Adam Black
 

Viewers also liked (16)

New york 2005
New york 2005New york 2005
New york 2005
 
Presentazione
Presentazione Presentazione
Presentazione
 
Make in Italy presentation at OuiShare Fest 2014
Make in Italy presentation at OuiShare Fest 2014Make in Italy presentation at OuiShare Fest 2014
Make in Italy presentation at OuiShare Fest 2014
 
Sample Work
Sample WorkSample Work
Sample Work
 
Know your city
Know your cityKnow your city
Know your city
 
Powerpoint rationale
Powerpoint rationalePowerpoint rationale
Powerpoint rationale
 
Collaborate Bristol
Collaborate BristolCollaborate Bristol
Collaborate Bristol
 
Nebuloasa personal branding in social media
Nebuloasa   personal branding in social mediaNebuloasa   personal branding in social media
Nebuloasa personal branding in social media
 
DTC Lab Kickoff Intro
DTC Lab Kickoff IntroDTC Lab Kickoff Intro
DTC Lab Kickoff Intro
 
Integration
IntegrationIntegration
Integration
 
Constitutionof india acts
Constitutionof india actsConstitutionof india acts
Constitutionof india acts
 
Ko'galo After Party
Ko'galo After PartyKo'galo After Party
Ko'galo After Party
 
Impact Hub Moscow 2013
Impact Hub Moscow 2013Impact Hub Moscow 2013
Impact Hub Moscow 2013
 
KulturA Benedenwinds
KulturA BenedenwindsKulturA Benedenwinds
KulturA Benedenwinds
 
Favicon
FaviconFavicon
Favicon
 
KeyWifi 27 Exec Sum deck sldshr
KeyWifi 27 Exec Sum deck sldshrKeyWifi 27 Exec Sum deck sldshr
KeyWifi 27 Exec Sum deck sldshr
 

More from Varya Stepanova

Design systems on the web
Design systems on the webDesign systems on the web
Design systems on the web
Varya Stepanova
 
SC5 Style Guide Generator
SC5 Style Guide GeneratorSC5 Style Guide Generator
SC5 Style Guide Generator
Varya Stepanova
 
BEM it! Introduction to BEM
BEM it! Introduction to BEMBEM it! Introduction to BEM
BEM it! Introduction to BEM
Varya Stepanova
 
BEM it! Introduction to BEM methodology
BEM it! Introduction to BEM methodologyBEM it! Introduction to BEM methodology
BEM it! Introduction to BEM methodology
Varya Stepanova
 
The Thinking behind BEM
The Thinking behind BEMThe Thinking behind BEM
The Thinking behind BEM
Varya Stepanova
 
Maintainable Frontend Development with BEM
Maintainable Frontend Development with BEMMaintainable Frontend Development with BEM
Maintainable Frontend Development with BEM
Varya Stepanova
 
BEM. What you can borrow from Yandex frontend dev
BEM. What you can borrow from Yandex frontend devBEM. What you can borrow from Yandex frontend dev
BEM. What you can borrow from Yandex frontend dev
Varya Stepanova
 
Тема для WordPress в БЭМ
Тема для WordPress в БЭМТема для WordPress в БЭМ
Тема для WordPress в БЭМ
Varya Stepanova
 
Шаблонизатор BEMHTML
Шаблонизатор BEMHTMLШаблонизатор BEMHTML
Шаблонизатор BEMHTML
Varya Stepanova
 
JavaScript в БЭМ терминах
JavaScript в БЭМ терминахJavaScript в БЭМ терминах
JavaScript в БЭМ терминах
Varya Stepanova
 
Использование библиотеки bem-bl
Использование библиотеки bem-blИспользование библиотеки bem-bl
Использование библиотеки bem-bl
Varya Stepanova
 

More from Varya Stepanova (12)

Design systems on the web
Design systems on the webDesign systems on the web
Design systems on the web
 
SC5 Style Guide Generator
SC5 Style Guide GeneratorSC5 Style Guide Generator
SC5 Style Guide Generator
 
BEM it! Introduction to BEM
BEM it! Introduction to BEMBEM it! Introduction to BEM
BEM it! Introduction to BEM
 
BEM it! Introduction to BEM methodology
BEM it! Introduction to BEM methodologyBEM it! Introduction to BEM methodology
BEM it! Introduction to BEM methodology
 
The Thinking behind BEM
The Thinking behind BEMThe Thinking behind BEM
The Thinking behind BEM
 
Modular development
Modular developmentModular development
Modular development
 
Maintainable Frontend Development with BEM
Maintainable Frontend Development with BEMMaintainable Frontend Development with BEM
Maintainable Frontend Development with BEM
 
BEM. What you can borrow from Yandex frontend dev
BEM. What you can borrow from Yandex frontend devBEM. What you can borrow from Yandex frontend dev
BEM. What you can borrow from Yandex frontend dev
 
Тема для WordPress в БЭМ
Тема для WordPress в БЭМТема для WordPress в БЭМ
Тема для WordPress в БЭМ
 
Шаблонизатор BEMHTML
Шаблонизатор BEMHTMLШаблонизатор BEMHTML
Шаблонизатор BEMHTML
 
JavaScript в БЭМ терминах
JavaScript в БЭМ терминахJavaScript в БЭМ терминах
JavaScript в БЭМ терминах
 
Использование библиотеки bem-bl
Использование библиотеки bem-blИспользование библиотеки bem-bl
Использование библиотеки bem-bl
 

Использование библиотеки bem-bl