Drupal theming met sass, compass, susy en aurora

23
RESPONSIVE DRUPAL THEMING MET SASS, COMPASS, SUSY EN AURORA DRUPAL TECH TALK 25 APRIL 2013 MARC VAN GEND TRIQUANTA

description

Deze presentatie gaf Marc van Gend tijdens de Drupal Tech Talk op 25 april 2013

Transcript of Drupal theming met sass, compass, susy en aurora

Page 1: Drupal theming met sass, compass, susy en aurora

RESPONSIVE DRUPALTHEMING MET SASS,COMPASS, SUSY EN

AURORADRUPAL TECH TALK 25 APRIL 2013

MARC VAN GEND TRIQUANTA

Page 2: Drupal theming met sass, compass, susy en aurora

AGENDAHet Doel – #responsivemobilefirsthtml5buzzwordcompliantCSS preprocessing – SASSWerken met SASS – CompassDe 2e generatie CSS grid systems – SusyCombineren tot een Drupal theme – AuroraDe grote gevaarlijke onvermijdelijke live demo – or it didn't happen

Page 3: Drupal theming met sass, compass, susy en aurora

HET DOEL#RESPONSIVEMOBILEFIRSTHTML5BUZZWORDCOMPLIANT

Responsive – één site voor alle schermenProgressive enhancement – functioneel » fraai » funkyMobile first – eerst simpel, dan groeienHTML5 – is beter, kan meerWerkbaar – samenwerken, onderhouden, uitbreiden

Page 4: Drupal theming met sass, compass, susy en aurora

CSS PREPROCESSINGEN WAT IS SASS EIGENLIJK?

SASS: “programmeren met stylesheets”.scss syntax: superset van CSSvariablesnestingmixins

Page 5: Drupal theming met sass, compass, susy en aurora

SASS: VARIABLES$triquanta-blue: #00c2ff;$gutter: 16px;

.quote { margin: $gutter; padding: $gutter / 2; color: $triquanta-blue;}

.quote { margin: 16px; padding: 8px; color: #00c2ff;}

Page 6: Drupal theming met sass, compass, susy en aurora

SASS: NESTING.menu li { float: left;

a { color: #cc0000; }}

.menu li { float: left;}

.menu li a { color: #cc0000;}

Page 7: Drupal theming met sass, compass, susy en aurora

SASS: MIXINS@mixin box($color, $border:true) { padding: 1em; background-color: $color; @if $border { border: 1px solid #000000; }}

.node { @include box(#006600);}

.quote { @include box(#333333, false);}

.node { padding: 1em; background-color: #006600; border: 1px solid #000000;}

.quote { padding: 1em; background: #333333;}

Page 8: Drupal theming met sass, compass, susy en aurora

COMPASSZET SASS AAN HET WERK

Gereedschapskist – doet niet de afwasBibliotheek – best-practice CSSconfig.rb – om te delen met collega's

Page 9: Drupal theming met sass, compass, susy en aurora

GEREEDSCHAPSKISTcompass watch – schrijft CSS terwijl u SASStcompass create – begin een nieuw projectImage sprites genereren – volautomatisch

Page 10: Drupal theming met sass, compass, susy en aurora

BIBLIOTHEEKWie weet uit z'n hoofd hoe je een CSS3 background gradient maakt?

.gradient { background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0 background-image: -webkit-linear-gradient(#ffffff, #aaaaaa); background-image: -moz-linear-gradient(#ffffff, #aaaaaa); background-image: -o-linear-gradient(#ffffff, #aaaaaa); background-image: linear-gradient(#ffffff, #aaaaaa);}

.gradient { @include background-image(linear-gradient(#ffffff, #aaaaaa));}

Page 11: Drupal theming met sass, compass, susy en aurora

CONFIG.RBcss_dir = "stylesheets"sass_dir = "sass"images_dir = "images"javascripts_dir = "javascripts"

Page 12: Drupal theming met sass, compass, susy en aurora

DE 2e GENERATIE CSS GRID SYSTEMS...EN IN HET BIJZONDER SUSY

SemantischSASS & CompassFlexibel

Page 13: Drupal theming met sass, compass, susy en aurora

GRID SYSTEM: WAAROM EIGENLIJK?Grafisch ontwerp – nauwkeurige implementatieSchetsen / ontwerpen in de browser – gemak & snelheidDRY – developers zijn luiOnderhouden en uitbreiden – consistentie

Page 14: Drupal theming met sass, compass, susy en aurora

NIET-SEMANTISCH GRID SYSTEM<div id="main" class="container_12"> <article class="grid_8 prefix_4"> Lorem ipsum, dolor sit amet. </article></div>

.container_12 { width: 960px;}.grid_8 { display: inline; float: left; margin-left: 10px; margin-right: 10px;}.container_12 .prefix_4 { padding-left: 320px;}.container_12 .grid_8 { width: 620px;}

Page 15: Drupal theming met sass, compass, susy en aurora

SEMANTISCH GRID SYSTEM (SUSY)<div id="main"> <article> Lorem ipsum, dolor sit amet. </article></div>

#main { @include container;}

#main article { @include span-columns(8); @include prefix(4);}

Page 16: Drupal theming met sass, compass, susy en aurora

SASS & COMPASS DO THE MATH$total-columns : 4;$total-columns-m : 6;$total-columns-l : 8;$column-width : 8em;$gutter-width : 2em;$grid-padding : $gutter-width / 2;

#page { @include container($total-columns, $total-columns-m, $total-columns-l);}

#page { max-width: 40em; padding-left: 1em; padding-right: 1em; margin-left: auto; margin-right: auto;}#page:after { content: ""; display: table; clear: both;}@media (min-width: 60em) { #page { max-width: 60em; }}@media (min-width: 80em) { #page { max-width: 80em; }}

Page 17: Drupal theming met sass, compass, susy en aurora

COMBINEREN TOT EEN DRUPAL THEMELEES: AURORA INSTALLEREN

“Aurora is an HTML5, Sass and Compass powered, responsiveoptimized, mobile first base theme designed for people who like

theming through code as opposed to through a GUI.”

Page 18: Drupal theming met sass, compass, susy en aurora

AURORA: BASE THEMEdrush dl auroradrush en aurora -y

Page 19: Drupal theming met sass, compass, susy en aurora

AURORA: RUBY GEMgem install compass-aurora

Page 20: Drupal theming met sass, compass, susy en aurora

AURORA: SUB THEMEcompass create -r aurora --using aurora/corona

Page 21: Drupal theming met sass, compass, susy en aurora

AURORA: DON'T CLICK!Uit de .info file:

...; Chrome Frame Optionssettings[aurora_enable_chrome_frame] = 1settings[aurora_min_ie_support] = 10

; Miscelaneous Optionssettings[aurora_remove_core_css] = 0settings[aurora_html_tags] = 1settings[aurora_typekit_id] = 0

; JavaScript Optionssettings[aurora_footer_js] = 1settings[aurora_libraries_head] = 0...

Page 22: Drupal theming met sass, compass, susy en aurora

DE GROTE GEVAARLIJKE ONVERMIJDELIJKELIVE DEMO

Page 23: Drupal theming met sass, compass, susy en aurora

DOET U DEZE MAAR