SlideShare a Scribd company logo
1 of 27
Download to read offline
Ускорение frontend-разработки с помощью
Haml, Sass, Compass
Андрей Ситник


@andrey_sitnik
ai@evilmartians.com
sitnik.ru
Лень, нетерпимость и гордыня
1996        2011
HTML, CSS   HTML, CSS
Мистерия
о том, как Haml, Sass и Compass
помогают нам верстать
на реальном примере с groupon.ru
Скачайте пример
evilmartians.ru/rit2011
Haml — язык шаблонов
с альтернативным синтаксисом
      для HTML или XML
Шаблон на
Веб-сервер   Haml

   HTML

Браузер
Поддержка Haml


   PHP, ASP.Net, Java,
Ruby on Rails, Perl, Python
!!! 5                <!DOCTYPE html>
%html( lang="ru" )   <html lang="ru">
 %body                <body>
   #content            <div id="content">
     %h1.big            <h1 class="big">
      Заголовок          Заголовок
                        </h1>
                      </body>
                     </html>
Мистерия 1
Sass — препроцессор CSS
Compass — набор кошерных инструментов и
           шаблонов для Sass
Начало работы         Разработка             Деплой
compass create        compass watch          compass compile
Создаёт файл          Следит за изменением   Компилирует
настроек с путями с   sass-файлов и тут же   sass-файлы в CSS,
sass- и css-файлам    обновляет css-файлы    чтобы отдавать
                                             пользователям уже
                                             готовые css-файлы
$width: 100px;
@mixin default-font($size = 12px) {
  font: $size serif;
}
                                      #content {
#content {
                                        width: 110px;
  width: $width + 10px;
                                        }
  h1 {
                                        #content h1 {
    @include default-font(40px);
                                          font: 40px serif;
  }
                                          }
}
Мистерия 2
@import 'compass/css3'
input {
                                        CSS3
  @include box-shadow(5px); }


input {
  box-shadow: black 0 0 5px;
   -webkit-box-shadow: black 0 0 5px;
   -moz-box-shadow: black 0 0 5px;
   -o-box-shadow: black 0 0 5px; }
Мистерия 3
Градиенты
@import 'compass/css3';

$experimental-support-for-svg: true;

header {
  @include background(linear-gradient(red, blue));
  @include filter-gradient(gray, black);
}
Мистерия 4
data:uri
background: inline-image('icon.png') no-repeat;


background: url('data:image/png;base64,iVBORw0KG…')
          no-repeat;
Спрайты
$sprite: sprite-map('dir/*.png'); /* dir/one.png, dir/two.png */
.one { background: sprite($sprite, one); }
.two { background: sprite($sprite, two); }


.one { background: url('dir-2f78ea.png') 0 0; }
.one { background: url('dir-2f78ea.png') 0 -20px; }
Мистерия 5
Ещё в SASS
• Генерация изображений с шумом
  gist.github.com/856571
• Изменение изображений через
  ImageMagick
  github.com/StanAngeloff/compass-magick
Ссылки

Haml    haml-lang.com
Compass compass-style.org
Вопросы?



ai@evilmartians.com
evilmatians.ru

More Related Content

Viewers also liked

Viewers also liked (8)

Roma10.11
Roma10.11Roma10.11
Roma10.11
 
Curs d'edició de vídeo
Curs d'edició de vídeoCurs d'edició de vídeo
Curs d'edició de vídeo
 
Timoho town house show
Timoho town house   showTimoho town house   show
Timoho town house show
 
Vanessa I
Vanessa IVanessa I
Vanessa I
 
Ram azo
Ram azoRam azo
Ram azo
 
ERC Redbook Hit May 2011
ERC Redbook Hit May 2011ERC Redbook Hit May 2011
ERC Redbook Hit May 2011
 
Conquistando o seu_lugar_no_mercado_de_trabalho[1][1]
Conquistando o seu_lugar_no_mercado_de_trabalho[1][1]Conquistando o seu_lugar_no_mercado_de_trabalho[1][1]
Conquistando o seu_lugar_no_mercado_de_trabalho[1][1]
 
Vistta laguna
Vistta lagunaVistta laguna
Vistta laguna
 

Similar to Ускорение frontend-разработки с помощью Haml, Sass, Compass

Вёрстка в стиле Ruby: HAML, SASS, Compass, CoffeeScript, Jammit
Вёрстка в стиле Ruby: HAML, SASS, Compass, CoffeeScript, JammitВёрстка в стиле Ruby: HAML, SASS, Compass, CoffeeScript, Jammit
Вёрстка в стиле Ruby: HAML, SASS, Compass, CoffeeScript, JammitAndrey Sitnik
 
Андрей Тюпа Оптимизация верстки Sass + Compass framework
Андрей Тюпа Оптимизация верстки Sass + Compass frameworkАндрей Тюпа Оптимизация верстки Sass + Compass framework
Андрей Тюпа Оптимизация верстки Sass + Compass frameworkAlbina Tiupa
 
Web весна 2012 лекция 10
Web весна 2012 лекция 10Web весна 2012 лекция 10
Web весна 2012 лекция 10Technopark
 
Артем Маркушев - HTML & CSS
Артем Маркушев - HTML & CSSАртем Маркушев - HTML & CSS
Артем Маркушев - HTML & CSSDataArt
 
Web весна 2013 лекция 10
Web весна 2013 лекция 10Web весна 2013 лекция 10
Web весна 2013 лекция 10Technopark
 
CSS глазами машин
CSS глазами машинCSS глазами машин
CSS глазами машинRoman Dvornov
 
пользовательские свойства как основа архитектуры CSS
пользовательские свойства как основа архитектуры CSSпользовательские свойства как основа архитектуры CSS
пользовательские свойства как основа архитектуры CSSZigzag_McQuack
 
Пользовательские свойства как основа архитектуры CSS / Павел Ловцевич (LOVATA)
Пользовательские свойства как основа архитектуры CSS / Павел Ловцевич (LOVATA)Пользовательские свойства как основа архитектуры CSS / Павел Ловцевич (LOVATA)
Пользовательские свойства как основа архитектуры CSS / Павел Ловцевич (LOVATA)Ontico
 
Web осень 2012 лекция 10
Web осень 2012 лекция 10Web осень 2012 лекция 10
Web осень 2012 лекция 10Technopark
 
Семинар-практикум по Drupal
Семинар-практикум по DrupalСеминар-практикум по Drupal
Семинар-практикум по Drupalit-people
 
LESS and even more. Anton Shubkin.
LESS and even more. Anton Shubkin.LESS and even more. Anton Shubkin.
LESS and even more. Anton Shubkin.ADCI Solutions
 
010 презентация less и адаптивный дизайн
010 презентация   less и адаптивный дизайн010 презентация   less и адаптивный дизайн
010 презентация less и адаптивный дизайнsivorka
 
Front-end разработка. Compass
Front-end разработка. CompassFront-end разработка. Compass
Front-end разработка. CompassDrupalSib
 
Ваш CSS нас не устраивает, мы придумаем свой / Роман Прудников (2ГИС)
Ваш CSS нас не устраивает, мы придумаем свой / Роман Прудников (2ГИС)Ваш CSS нас не устраивает, мы придумаем свой / Роман Прудников (2ГИС)
Ваш CSS нас не устраивает, мы придумаем свой / Роман Прудников (2ГИС)Ontico
 
Роман Комаров "CSS-препроцессоры: из каменного века — в будущее"
Роман Комаров "CSS-препроцессоры: из каменного века — в будущее"Роман Комаров "CSS-препроцессоры: из каменного века — в будущее"
Роман Комаров "CSS-препроцессоры: из каменного века — в будущее"Yandex
 
Илья Андриенко: Вёрстка в проекте глазами “неверстальщика”
Илья Андриенко: Вёрстка в проекте глазами  “неверстальщика”Илья Андриенко: Вёрстка в проекте глазами  “неверстальщика”
Илья Андриенко: Вёрстка в проекте глазами “неверстальщика”Oleg Poludnenko
 

Similar to Ускорение frontend-разработки с помощью Haml, Sass, Compass (20)

Вёрстка в стиле Ruby: HAML, SASS, Compass, CoffeeScript, Jammit
Вёрстка в стиле Ruby: HAML, SASS, Compass, CoffeeScript, JammitВёрстка в стиле Ruby: HAML, SASS, Compass, CoffeeScript, Jammit
Вёрстка в стиле Ruby: HAML, SASS, Compass, CoffeeScript, Jammit
 
Андрей Тюпа Оптимизация верстки Sass + Compass framework
Андрей Тюпа Оптимизация верстки Sass + Compass frameworkАндрей Тюпа Оптимизация верстки Sass + Compass framework
Андрей Тюпа Оптимизация верстки Sass + Compass framework
 
Web весна 2012 лекция 10
Web весна 2012 лекция 10Web весна 2012 лекция 10
Web весна 2012 лекция 10
 
Артем Маркушев - HTML & CSS
Артем Маркушев - HTML & CSSАртем Маркушев - HTML & CSS
Артем Маркушев - HTML & CSS
 
SASS & LESS
SASS & LESSSASS & LESS
SASS & LESS
 
Canvas
CanvasCanvas
Canvas
 
Web весна 2013 лекция 10
Web весна 2013 лекция 10Web весна 2013 лекция 10
Web весна 2013 лекция 10
 
Парсим CSS
Парсим CSSПарсим CSS
Парсим CSS
 
CSS глазами машин
CSS глазами машинCSS глазами машин
CSS глазами машин
 
пользовательские свойства как основа архитектуры CSS
пользовательские свойства как основа архитектуры CSSпользовательские свойства как основа архитектуры CSS
пользовательские свойства как основа архитектуры CSS
 
Пользовательские свойства как основа архитектуры CSS / Павел Ловцевич (LOVATA)
Пользовательские свойства как основа архитектуры CSS / Павел Ловцевич (LOVATA)Пользовательские свойства как основа архитектуры CSS / Павел Ловцевич (LOVATA)
Пользовательские свойства как основа архитектуры CSS / Павел Ловцевич (LOVATA)
 
Web осень 2012 лекция 10
Web осень 2012 лекция 10Web осень 2012 лекция 10
Web осень 2012 лекция 10
 
Семинар-практикум по Drupal
Семинар-практикум по DrupalСеминар-практикум по Drupal
Семинар-практикум по Drupal
 
LESS and even more. Anton Shubkin.
LESS and even more. Anton Shubkin.LESS and even more. Anton Shubkin.
LESS and even more. Anton Shubkin.
 
010 презентация less и адаптивный дизайн
010 презентация   less и адаптивный дизайн010 презентация   less и адаптивный дизайн
010 презентация less и адаптивный дизайн
 
Front-end разработка. Compass
Front-end разработка. CompassFront-end разработка. Compass
Front-end разработка. Compass
 
Ваш CSS нас не устраивает, мы придумаем свой / Роман Прудников (2ГИС)
Ваш CSS нас не устраивает, мы придумаем свой / Роман Прудников (2ГИС)Ваш CSS нас не устраивает, мы придумаем свой / Роман Прудников (2ГИС)
Ваш CSS нас не устраивает, мы придумаем свой / Роман Прудников (2ГИС)
 
6) css background
6) css background6) css background
6) css background
 
Роман Комаров "CSS-препроцессоры: из каменного века — в будущее"
Роман Комаров "CSS-препроцессоры: из каменного века — в будущее"Роман Комаров "CSS-препроцессоры: из каменного века — в будущее"
Роман Комаров "CSS-препроцессоры: из каменного века — в будущее"
 
Илья Андриенко: Вёрстка в проекте глазами “неверстальщика”
Илья Андриенко: Вёрстка в проекте глазами  “неверстальщика”Илья Андриенко: Вёрстка в проекте глазами  “неверстальщика”
Илья Андриенко: Вёрстка в проекте глазами “неверстальщика”
 

More from Andrey Sitnik

More from Andrey Sitnik (6)

Evolu Lang
Evolu LangEvolu Lang
Evolu Lang
 
R18n
R18nR18n
R18n
 
Rails rumble
Rails rumbleRails rumble
Rails rumble
 
D²NA
D²NAD²NA
D²NA
 
Ruby
RubyRuby
Ruby
 
I18n ruby-приложений
I18n ruby-приложенийI18n ruby-приложений
I18n ruby-приложений
 

Ускорение frontend-разработки с помощью Haml, Sass, Compass