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


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


                   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

Дом из готовых кирпичей. Библиотека блоков, тюнинг, инструменты. Елена Глухова, Варвара Степанова, Яндекс