21
Brian Hoke: WordPress & Sass @bentleyhoke Sass & WordPress Brian Hoke Bentley Hoke Interactive | @bentleyhoke bentleyhoke.com

Brian Hoke: WordCamp Toronto 2014 Presentation "Sass & WordPress"

Embed Size (px)

DESCRIPTION

Brian Hoke: WordCamp Toronto 2014 Presentation "Sass & WordPress"

Citation preview

Page 1: Brian Hoke: WordCamp Toronto 2014 Presentation "Sass & WordPress"

Brian Hoke: WordPress & Sass@bentleyhoke

Sass & WordPressBrian Hoke

Bentley Hoke Interactive | @bentleyhoke bentleyhoke.com

Page 2: Brian Hoke: WordCamp Toronto 2014 Presentation "Sass & WordPress"

This Presentationhttp://bent.ly/ENLX

Page 3: Brian Hoke: WordCamp Toronto 2014 Presentation "Sass & WordPress"

Aside: Presentation ThemeWordPress theme to generate this kind of presentationImplements reveal.jsDownload

Page 4: Brian Hoke: WordCamp Toronto 2014 Presentation "Sass & WordPress"

What Sass?preprocessorlanguageextends CSS

Page 5: Brian Hoke: WordCamp Toronto 2014 Presentation "Sass & WordPress"

Sass Code1234567891011121314151617

$base-color: #c00;$body-font-color: lighten( $base-color, 15%);$page-title-color: darken( $base-color, 20%);$body-font-size: '13px';

article { color: $body-font-color;

font: { size: $body-font-size; family: Helvetica, Arial, sans-serif;

}

h1 { color: $page-title-color;

}}

Page 6: Brian Hoke: WordCamp Toronto 2014 Presentation "Sass & WordPress"

Compiled CSS Code12345678

article { color: #ff1a1a; font-size: "13px"; font-family: Helvetica, Arial, sans-serif;}article h1 { color: #660000;}

Page 7: Brian Hoke: WordCamp Toronto 2014 Presentation "Sass & WordPress"

Really, what is it?Script that interprets SCSS into CSSSass is both the language and the script processFlavors –

old (indented)new (SCSS)

Output is perfectly valid CSS

example

Page 8: Brian Hoke: WordCamp Toronto 2014 Presentation "Sass & WordPress"

Various WhoopsAs in “Big Whoops”:

CompressionVariablesNestingFile organization (partials & import)Code reuse (mixins & inheritance)Built-in functions & operators

Page 9: Brian Hoke: WordCamp Toronto 2014 Presentation "Sass & WordPress"

Install SassAppsCommand linehttp://sass-lang.com/install

Page 10: Brian Hoke: WordCamp Toronto 2014 Presentation "Sass & WordPress"

Command Line Installation[Windows] Install Ruby

Windows: gem install sass[Mac] sudo gem install sasstest it: sass -v

Ruby Installer

Page 11: Brian Hoke: WordCamp Toronto 2014 Presentation "Sass & WordPress"

How Sass?setup watch to generate CSS from changes to SCSScarelessly bang out some code thoughtfully plan out organization of code and filesupload generated CSS – just like it was written directly – to production site

Page 12: Brian Hoke: WordCamp Toronto 2014 Presentation "Sass & WordPress"

Setting Your Watchsass --watch themes/reveal/sass:themes/reveal --style compressed

Page 13: Brian Hoke: WordCamp Toronto 2014 Presentation "Sass & WordPress"

Variables & Functions12345678910111213141516

$bright-red: #f00;$medium-red: #c00;$half-opaque-white: rgba(255,255,255,0.7); $default-link-color: opacify($medium-red, 0.6);$page-title-color: darken($medium-red, 10%);$link-color: complement($medium-red); $rightleft-padding: 2.5%;$tall-topbottom-padding: 1%;$narrow-topbottom-padding: 0.5%; $site-width: 90%;$main-content-width: 68%; $sidebar-width: 99% - $main-content-width - (4 * $rightleft-padding);

Page 14: Brian Hoke: WordCamp Toronto 2014 Presentation "Sass & WordPress"

Code Organization1234567891011

@import 'reset';@import 'assistive';@import 'variables';@import 'bxslider';@import 'mainnav';@import 'interior';@import 'full_flight_info';@import 'sidebar';@import 'structure';@import 'slicknav';@import 'responsive';

Page 15: Brian Hoke: WordCamp Toronto 2014 Presentation "Sass & WordPress"

MixinsSass (from library)Bourbon

1234

@import 'bourbon/bourbon';section { @include linear-gradient(to top, red, orange);}

Resulting CSS12345

section { background-color: red; background-image: -webkit-linear-gradient(bottom, red, orange); background-image: linear-gradient(to top, red, orange);}

Page 16: Brian Hoke: WordCamp Toronto 2014 Presentation "Sass & WordPress"

Why Sass?Code organization: easier to maintain, teamPerformance: loads fasterTools: write better, faster, stronger codeSharing: get code from, give code to others

Page 17: Brian Hoke: WordCamp Toronto 2014 Presentation "Sass & WordPress"

Code Organizationeasier to teameasier to maintaineasier to give and receiveexample: ABQ airport sites

Page 18: Brian Hoke: WordCamp Toronto 2014 Presentation "Sass & WordPress"

Performance

stitch together multiple CSS files – avoid limit on number of concurrent connectionscompression

Page 19: Brian Hoke: WordCamp Toronto 2014 Presentation "Sass & WordPress"

Powerinheritance and mixins offer DRY ease-of-change: great power and great responsibilitybuilt-in functionsa !for loop

Page 20: Brian Hoke: WordCamp Toronto 2014 Presentation "Sass & WordPress"

Sharinghanding off, receiving codeswitchboarding of settingsexample: Foundation

Page 21: Brian Hoke: WordCamp Toronto 2014 Presentation "Sass & WordPress"

More Info & Questionshttp://sass-lang.com/