Compare commits

...

No commits in common. "gh-pages" and "master" have entirely different histories.

60 changed files with 1164 additions and 0 deletions

BIN
.DS_Store vendored Normal file

Binary file not shown.

6
Gemfile Normal file
View File

@ -0,0 +1,6 @@
source :rubygems
gem 'sinatra', '~> 1.3.2'
gem 'attentive', :path => '../attentive'
gem 'thin'

148
Gemfile.lock Normal file
View File

@ -0,0 +1,148 @@
PATH
remote: ../attentive
specs:
attentive (0.0.1)
backbone-rails
coffee-script
compass (~> 0.12.rc)
haml
naturalsort (~> 1.1.1)
nokogiri
pygments.rb
rack (~> 1.4.0)
rdiscount
sinatra
sprockets
sprockets-sass
sprockets-vendor_gems
thor
GEM
remote: http://rubygems.org/
specs:
actionmailer (3.2.2)
actionpack (= 3.2.2)
mail (~> 2.4.0)
actionpack (3.2.2)
activemodel (= 3.2.2)
activesupport (= 3.2.2)
builder (~> 3.0.0)
erubis (~> 2.7.0)
journey (~> 1.0.1)
rack (~> 1.4.0)
rack-cache (~> 1.1)
rack-test (~> 0.6.1)
sprockets (~> 2.1.2)
activemodel (3.2.2)
activesupport (= 3.2.2)
builder (~> 3.0.0)
activerecord (3.2.2)
activemodel (= 3.2.2)
activesupport (= 3.2.2)
arel (~> 3.0.2)
tzinfo (~> 0.3.29)
activeresource (3.2.2)
activemodel (= 3.2.2)
activesupport (= 3.2.2)
activesupport (3.2.2)
i18n (~> 0.6)
multi_json (~> 1.0)
arel (3.0.2)
backbone-rails (0.9.1)
rails (>= 3.0.0)
blankslate (2.1.2.4)
builder (3.0.0)
chunky_png (1.2.5)
coffee-script (2.2.0)
coffee-script-source
execjs
coffee-script-source (1.2.0)
compass (0.12.1)
chunky_png (~> 1.2)
fssm (>= 0.2.7)
sass (~> 3.1)
daemons (1.1.8)
erubis (2.7.0)
eventmachine (0.12.10)
execjs (1.3.0)
multi_json (~> 1.0)
ffi (1.0.11)
fssm (0.2.8.1)
haml (3.1.4)
hike (1.2.1)
i18n (0.6.0)
journey (1.0.3)
json (1.6.5)
mail (2.4.4)
i18n (>= 0.4.0)
mime-types (~> 1.16)
treetop (~> 1.4.8)
mime-types (1.17.2)
multi_json (1.1.0)
naturalsort (1.1.1)
nokogiri (1.5.2)
polyglot (0.3.3)
pygments.rb (0.2.7)
rubypython (~> 0.5.3)
rack (1.4.1)
rack-cache (1.2)
rack (>= 0.4)
rack-protection (1.2.0)
rack
rack-ssl (1.3.2)
rack
rack-test (0.6.1)
rack (>= 1.0)
rails (3.2.2)
actionmailer (= 3.2.2)
actionpack (= 3.2.2)
activerecord (= 3.2.2)
activeresource (= 3.2.2)
activesupport (= 3.2.2)
bundler (~> 1.0)
railties (= 3.2.2)
railties (3.2.2)
actionpack (= 3.2.2)
activesupport (= 3.2.2)
rack-ssl (~> 1.3.2)
rake (>= 0.8.7)
rdoc (~> 3.4)
thor (~> 0.14.6)
rake (0.9.2.2)
rdiscount (1.6.8)
rdoc (3.12)
json (~> 1.4)
rubypython (0.5.3)
blankslate (>= 2.1.2.3)
ffi (~> 1.0.7)
sass (3.1.15)
sinatra (1.3.2)
rack (~> 1.3, >= 1.3.6)
rack-protection (~> 1.2)
tilt (~> 1.3, >= 1.3.3)
sprockets (2.1.2)
hike (~> 1.2)
rack (~> 1.0)
tilt (~> 1.1, != 1.3.0)
sprockets-sass (0.7.0)
sprockets (~> 2.0)
tilt (~> 1.1)
sprockets-vendor_gems (0.1.1)
thin (1.3.1)
daemons (>= 1.0.9)
eventmachine (>= 0.12.6)
rack (>= 1.0.0)
thor (0.14.6)
tilt (1.3.3)
treetop (1.4.10)
polyglot
polyglot (>= 0.3.1)
tzinfo (0.3.32)
PLATFORMS
ruby
DEPENDENCIES
attentive!
sinatra (~> 1.3.2)
thin

View File

Before

Width:  |  Height:  |  Size: 125 KiB

After

Width:  |  Height:  |  Size: 125 KiB

View File

Before

Width:  |  Height:  |  Size: 551 KiB

After

Width:  |  Height:  |  Size: 551 KiB

View File

Before

Width:  |  Height:  |  Size: 116 KiB

After

Width:  |  Height:  |  Size: 116 KiB

View File

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

View File

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 44 KiB

View File

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 53 KiB

View File

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

View File

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

View File

Before

Width:  |  Height:  |  Size: 43 B

After

Width:  |  Height:  |  Size: 43 B

View File

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View File

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

Before

Width:  |  Height:  |  Size: 337 KiB

After

Width:  |  Height:  |  Size: 337 KiB

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

View File

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

View File

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

View File

Before

Width:  |  Height:  |  Size: 81 KiB

After

Width:  |  Height:  |  Size: 81 KiB

BIN
assets/.DS_Store vendored Normal file

Binary file not shown.

BIN
assets/images/.DS_Store vendored Normal file

Binary file not shown.

0
assets/images/.gitkeep Normal file
View File

BIN
assets/images/36kou7.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 551 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

BIN
assets/images/dark-logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

BIN
assets/images/diagonal.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
assets/images/rage-face.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 337 KiB

BIN
assets/images/sass.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
assets/images/smart.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

BIN
assets/images/vert.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

View File

@ -0,0 +1,2 @@
#= require attentive
Attentive.Presentation.setup('#slides')

View File

@ -0,0 +1,125 @@
$noise-bg: '';
$base03: #002b36 !default; //darkest blue
$base02: #073642 !default; //dark blue
$base01: #586e75 !default; //darkest gray
$base00: #657b83 !default; //dark gray
$base0: #839496 !default; //medium gray
$base1: #93a1a1 !default; //medium light gray
$base2: #eee8d5 !default; //cream
$base3: #fdf6e3 !default; //white
$solar-yellow: #b58900 !default;
$solar-orange: #cb4b16 !default;
$solar-red: #dc322f !default;
$solar-magenta: #d33682 !default;
$solar-violet: #6c71c4 !default;
$solar-blue: #268bd2 !default;
$solar-cyan: #2aa198 !default;
$solar-green: #859900 !default;
$solarized: dark !default;
@if $solarized == light {
$_base03: $base03;
$_base02: $base02;
$_base01: $base01;
$_base00: $base00;
$_base0: $base0;
$_base1: $base1;
$_base2: $base2;
$_base3: $base3;
$base03: $_base3;
$base02: $_base2;
$base01: $_base1;
$base00: $_base0;
$base0: $_base00;
$base1: $_base01;
$base2: $_base02;
$base3: $_base03;
}
/* non highlighted code colors */
$pre-bg: $base03 !default;
$pre-border: darken($base02, 5) !default;
$pre-color: $base1 !default;
.highlight pre {
//@include selection(adjust-color($base03, $lightness: 23%, $saturation: -65%), $text-shadow: $base03 0 1px);
overflow: scroll;
overflow-y: hidden;
display: block;
padding: .8em !important;
overflow-x: auto;
line-height: 1.45em;
background: $base03 $noise-bg !important;
color: $base1 !important;
span { color: $base1 !important; }
span { font-style: normal !important; font-weight: normal !important; }
.c { color: $base01 !important; font-style: italic !important; } /* Comment */
.cm { color: $base01 !important; font-style: italic !important; } /* Comment.Multiline */
.cp { color: $base01 !important; font-style: italic !important; } /* Comment.Preproc */
.c1 { color: $base01 !important; font-style: italic !important; } /* Comment.Single */
.cs { color: $base01 !important; font-weight: bold !important; font-style: italic !important; } /* Comment.Special */
.err { color: $solar-red !important; background: none !important; } /* Error */
.k { color: $solar-orange !important; } /* Keyword */
.o { color: $base1 !important; font-weight: bold !important; } /* Operator */
.p { color: $base1 !important; } /* Operator */
.ow { color: $solar-cyan !important; font-weight: bold !important; } /* Operator.Word */
.gd { color: $base1 !important; background-color: mix($solar-red, $base03, 25%) !important; display: inline-block; } /* Generic.Deleted */
.gd .x { color: $base1 !important; background-color: mix($solar-red, $base03, 35%) !important; display: inline-block; } /* Generic.Deleted.Specific */
.ge { color: $base1 !important; font-style: italic !important; } /* Generic.Emph */
//.gr { color: #aa0000 } /* Generic.Error */
.gh { color: $base01 !important; } /* Generic.Heading */
.gi { color: $base1 !important; background-color: mix($solar-green, $base03, 20%) !important; display: inline-block; } /* Generic.Inserted */
.gi .x { color: $base1 !important; background-color: mix($solar-green, $base03, 40%) !important; display: inline-block; } /* Generic.Inserted.Specific */
//.go { color: #888888 } /* Generic.Output */
//.gp { color: #555555 } /* Generic.Prompt */
.gs { color: $base1 !important; font-weight: bold !important; } /* Generic.Strong */
.gu { color: $solar-violet !important; } /* Generic.Subheading */
//.gt { color: #aa0000 } /* Generic.Traceback */
.kc { color: $solar-green !important; font-weight: bold !important; } /* Keyword.Constant */
.kd { color: $solar-blue !important; } /* Keyword.Declaration */
.kp { color: $solar-orange !important; font-weight: bold !important; } /* Keyword.Pseudo */
.kr { color: $solar-magenta !important; font-weight: bold !important; } /* Keyword.Reserved */
.kt { color: $solar-cyan !important; } /* Keyword.Type */
.n { color: $solar-blue !important; }
.na { color: $solar-blue !important; } /* Name.Attribute */
.nb { color: $solar-green !important; } /* Name.Builtin */
.nc { color: $solar-magenta !important;} /* Name.Class */
.no { color: $solar-yellow !important; } /* Name.Constant */
//.ni { color: #800080 } /* Name.Entity */
.nl { color: $solar-green !important; }
.ne { color: $solar-blue !important; font-weight: bold !important; } /* Name.Exception */
.nf { color: $solar-blue !important; font-weight: bold !important; } /* Name.Function */
.nn { color: $solar-yellow !important; } /* Name.Namespace */
.nt { color: $solar-blue !important; font-weight: bold !important; } /* Name.Tag */
.nx { color: $solar-yellow !Important; }
//.bp { color: #999999 } /* Name.Builtin.Pseudo */
//.vc { color: #008080 } /* Name.Variable.Class */
.vg { color: $solar-blue !important; } /* Name.Variable.Global */
.vi { color: $solar-blue !important; } /* Name.Variable.Instance */
.nv { color: $solar-blue !important; } /* Name.Variable */
//.w { color: #bbbbbb } /* Text.Whitespace */
.mf { color: $solar-cyan !important; } /* Literal.Number.Float */
.m { color: $solar-cyan !important; } /* Literal.Number */
.mh { color: $solar-cyan !important; } /* Literal.Number.Hex */
.mi { color: $solar-cyan !important; } /* Literal.Number.Integer */
//.mo { color: #009999 } /* Literal.Number.Oct */
.s { color: $solar-cyan !important; } /* Literal.String */
//.sb { color: #d14 } /* Literal.String.Backtick */
//.sc { color: #d14 } /* Literal.String.Char */
.sd { color: $solar-cyan !important; } /* Literal.String.Doc */
.s2 { color: $solar-cyan !important; } /* Literal.String.Double */
.se { color: $solar-red !important; } /* Literal.String.Escape */
//.sh { color: #d14 } /* Literal.String.Heredoc */
.si { color: $solar-blue !important; } /* Literal.String.Interpol */
//.sx { color: #d14 } /* Literal.String.Other */
.sr { color: $solar-cyan !important; } /* Literal.String.Regex */
.s1 { color: $solar-cyan !important; } /* Literal.String.Single */
//.ss { color: #990073 } /* Literal.String.Symbol */
//.il { color: #009999 } /* Literal.Number.Integer.Long */
div { .gd, .gd .x, .gi, .gi .x { display: inline-block; width: 100%; }}
}

View File

@ -0,0 +1,183 @@
@import 'attentive';
@import 'compass';
//@import 'syntax';
$dark-gray : rgb(33,33,33);
$red : rgb(255, 0, 0);
$white : white;
$lighter-gray : lighten(mix($dark-gray, $white), 30%);
$body-color : $dark-gray;
$code-background : $lighter-gray;
$important-color : $red;
$compass-logo : 'dark-logo.png';
$sass-logo : 'sass.gif';
body {
background-color: $body-color;
}
@mixin show-logo($logo) {
background-image : image-url($logo);
background-repeat : no-repeat;
width : image-width($logo);
height : image-height($logo);
}
.compass {
position : absolute;
bottom : 0;
left : 20px;
@include show-logo($compass-logo);
}
.sass {
position : absolute;
bottom : 10px;
right : 20px;
@include show-logo($sass-logo);
}
//extendables
.rounded {
@include border-radius(10px);
}
// syntax overrides
.na {
color : #19177C;
}
.err {
color : #008000;
border : none;
}
h1, h2, h3, li, p {
font-family : Nunito, sans-serif;
color : white;
}
#slides {
@include transition-duration(0.5s);
.highlight {
@extend .rounded;
background-color : $code-background;
width : 90%;
margin : 0 auto;
margin-top : 20px;
}
.slide {
opacity : 0.4;
&.active { opacity : 1.0 }
}
.style-big-list li {
font-size : 60px;
}
.style-medium-list li {
font-size : 40px;
}
.style-small-list li {
font-size : 20px;
}
.style-sprite-layout ul {
width : 500px !important;
}
.style-variable-why ul {
width : 450px !important;
margin : 0 auto;
}
.style-better .highlight {
width : 800px;
}
.style-bad .highlight, .style-pallet .highlight {
width : 700px;
}
.style-variables .highlight {
width : 500px;
}
.style-mixins .highlight {
width : 900px;
}
ul {
padding-top: 30px;
font-size : 30px;
width : 50%;
margin : 0 auto;
text-align : left;
li {
padding-top : 10px;
}
}
.style-grid-slide-scss {
.highlight {
font-size: 16px !important;
}
}
code {
@extend .rounded;
background-color : $code-background;
font-size : 90%;
font-weight : bold;
padding : 2px 10px;
color : $body-color;
}
.style-long {
h1 {
font-size : 60px !important;
}
}
.style-important {
h1 {
color : $important-color;
font-weight : normal;
}
}
}
@mixin my-grid {
@include grid-background(16, 20px, 10px, 20px, 5px, $force-fluid: true);
}
.grid {
@include my-grid;
background-color : $code-background;
margin : 0 auto;
height : 500px;
width : 700px;
}
.standard-grid {
$show-baseline-grid-backgrounds: false;
@include my-grid;
background-color : $code-background;
margin : 0 auto;
height : 500px;
width : 700px;
}

8
presentation.rb Normal file
View File

@ -0,0 +1,8 @@
Attentive.configure do |c|
c.title = "My presentation"
# add rack middleware here
# require 'rack-livereload'
# c.middleware << Rack::LiveReload
end

View File

@ -0,0 +1,2 @@
!SLIDE
# Welcome

151
presentation/02_sass.slides Normal file
View File

@ -0,0 +1,151 @@
!SLIDE
# Sass
!SLIDE
# What is Sass?
## Its a preprocesor
!SLIDE
# What does it do?
* Variables `$foo`
* Mixins `@mixin`
* Functions
* Selector Inheritance `@extend, &`
* Control Directives `@if, @for, @each, @while`
* Its a language!
!SLIDE variables
# Variables
``` scss
$foo : #fffff;
$bar : (1px * 2em) / 4px;
```
!SLIDE
# Lists
``` css
border : 1px solid black;
```
!SLIDE
``` scss
$my-list : 1px solid black;
$my-list2 : 1px, solid, black;
$my-list3 : (1px solid black);
border : $my-list;
```
!SLIDE
# In ruby
``` ruby
Sass::Script::List.new(['1px', 'solid', 'black'], ',')
```
!SLIDE
## List Functions
* `length($list)`
* `nth($list, $n)`
* `join($list1, $list2, [$separator])`
* More coming soon!
!SLIDE mixins
# Functions and Mixins
``` scss
@function get-stops($colors, $stops) {
$out:();
@each $color in $colors {
$i: index($colors, $color);
$stop: 0% + nth($stops, $i);
$out: append($out, $color $stop, 'comma');
}
@return $out;
}
@mixin menu-level2-active {
$args: get-stops($menu-active-colors, $menu-active-stops);
@include background(linear-gradient($menu-active-direction, $args));
}
```
!SLIDE inheritance
# Inheritance
``` scss
a {
color : $link-color;
&:hover {
color : $link-hover-color;
}
}
```
``` css
a { color : blue; }
a:hover { color : red; }
```
!SLIDE extend
## Extend
``` scss
.foo {
font-size : 10px;
}
.bar {
@extend .foo;
}
```
``` css
.foo, .bar {
font-size : 10px;
}
```
!SLIDE
## Extending with ruby
``` ruby
def sprite(map, sprite, offset_x = ZERO, offset_y = ZERO)
sprite = convert_sprite_name(sprite)
verify_map(map)
unless sprite.is_a?(Sass::Script::String)
raise Sass::SyntaxError
end
url = sprite_url(map)
position = sprite_position(map, sprite, offset_x, offset_y)
Sass::Script::List.new([url] + position.value, :space)
end
Sass::Script::Functions.declare :sprite, [:map, :sprite]
Sass::Script::Functions.declare :sprite, [:map, :sprite, :offset_x]
Sass::Script::Functions.declare :sprite, [:map, :sprite, :offset_x, :offset_y]
```
!SLIDE
## Data types
* Bool
* Color
* List
* Number
* String

View File

@ -0,0 +1,4 @@
!SLIDE
# Best Practices

View File

@ -0,0 +1,74 @@
!SLIDE
# Colors
!SLIDE bad
# This is bad
``` scss
$orange : rgb(138, 182, 225) !default;
$blue : rgb(33,89,167) !default;
$lighter-blue : rgb(138, 182, 225) !default;
$gray : rgb(63,63,63) !default;
$dark-gray : rgb(33,33,33) !default;
$light-gray : rgb(109,109,109) !default;
$lighter-gray : rgb(150,150,150) !default;
$lightest-gray : rgb(188,188,188) !default;
.foo {
color : $blue;
}
```
!SLIDE better
## This is ok, but we can do better
``` scss
// dark gray
$text-color : rgb(33,33,33) !default;
// lightest gray
$text-compliment-color : rgb(188,188,188) !default;
//h1, h2
$title-color : rgb(63,63,63) !default;
// blue
$primary-accent-color : rgb(33,89,167) !default;
// blue on dark
$primary-accent-compliment-color : rgb(138, 182, 225) !default;
//orange - link color
$secondary-accent-color : rgb(199, 105, 0) !default;
// light gray
$ancillary-color : rgb(109,109,109) !default;
// lighter gray
$ancillary-compliment-color : rgb(150,150,150) !default;
```
!SLIDE pallet
# Pallets
``` scss
// _pallet.scss
$orange : rgb(138, 182, 225) !default;
$blue : rgb(33,89,167) !default;
$lighter-blue : rgb(138, 182, 225) !default;
$gray : rgb(63,63,63) !default;
$light-gray : rgb(109,109,109) !default;
$lighter-gray : rgb(150,150,150) !default;
$lightest-gray : rgb(188,188,188) !default;
// _colors.scss
//text
$text-color : $dark-gray;
$text-compliment-color : $lightest-gray;
$title-color : $gray;
$primary-accent-color : $blue;
$primary-accent-compliment-color : $lighter-blue;
$secondary-accent-color : $orange;
$ancillary-color : $light-gray;
$ancillary-compliment-color : $lighter-gray;
```
!SLIDE important long
<img src="/assets/rage-face.png">
# Only use your pallet colors to define your more descriptive color variables!

View File

@ -0,0 +1,53 @@
!SLIDE variable-layout
# Variables Definitions
!SLIDE bad-variables
``` scss
$height : 2px;
// There are 100 lines before this
.content_head {
@include clearfix;
.hr {
padding-top : (rhythm(1) / 2) - $height;
width : 100%;
border-bottom : $height solid $secondary-accent-color;
margin-bottom : 10px;
display : block;
@extend .float-right;
}
.release_identifiers {
@extend .float-right;
text-align : right;
font-family : $ancillary-font;
}
}
```
!SLIDE important
#Always define your variables at the top of each file!
!SLIDE big-list variable-why
* Easy to find
* Easy to update
* No surprises
!SLIDE
``` scss
/* Local Variables */
$release-content-height : rhythm(2);
$section-side-width : column-width(4) + $sidebar-width;
$group-image-height : rhythm(6);
.show {
h1 {
@include header(3);
@include trailer;
color : $primary-accent-color;
}
// ... goes on for 100+ lines
```

View File

@ -0,0 +1,50 @@
!SLIDE
# Math
## Is your best friend
!SLIDE long
# *Almost* every thing a designer does can be converted into some sort of mathmatical layout... *ALMOST*
!SLIDE
<img src='/assets/The_Parthenon_in_Athens.jpg' >
!SLIDE
# Layout
``` scss
$wrapper-width : 960px;
$sidebar-width : 50px;
$main-content-width : $wrapper - $sidebar;
.wrapper {
width : $wrapper-width;
}
.sidebar {
width : $sidebar-width;
}
.content {
width : $main-content-width;
}
```
!SLIDE
# Ranges
``` scss
@for $i from 1 through 4 {
h#{$i} {
@include header($i);
}
}
```
!SLIDE
# Image demensions
``` scss
.play {
left: ($width / 2) - (global-sprite-width(play_movie) / 2);
top: ($height / 2) - (global-sprite-height(play_movie) / 2);
}
```
<img src='/assets/play_button.png' >

View File

@ -0,0 +1,51 @@
!SLIDE
# Inheritance
!SLIDE
# Inception rule!
<img src="/assets/InceptionArch_Slusher.jpg" width='800px'>
!SLIDE
<img src='/assets/36kou7.jpg' height='600px'>
!SLIDE
## Well you can but it gets messy
``` scss
.foo {
width: 5px;
.bar {
height: 20px;
.baz {
color : red;
.what-comes-after-baz {
border : green solid 1px;
&.something {
@extend .float-left;
}
}
}
}
}
```
!SLIDE
# And slow
!SLIDE
## Selector layout
``` scss
.release_title a{
@extend h3;
@include adjust-font-size-to(20px, 1);
@include trailer;
text-decoration : none;
display : block;
&:hover {
color:$hover-color;
}
}
```

View File

@ -0,0 +1,236 @@
!SLIDE
# Compass
## http://compass-style.org
!SLIDE
* Stylesheet framework
* Considered sass standard library
* Standalone application
* Has the ability to have application integrations (rails, django, etc.)
!SLIDE
## Currently the only application integration supported by the core team is rails
!SLIDE big-list
## Features
* Sprites
* CSS3
* Layout tools
* And much more
!SLIDE
# Sprites!
!SLIDE medium-list
* Fewer http requests.
* You don't have a bunch of individual images to manage.
* Customizable
* ITS EASY!
!SLIDE
# This EASY!
``` scss
@import "my-icons/*.png";
@include all-my-icons-sprites;
```
!SLIDE
## BAM!
``` scss
.my-icons-sprite,
.my-icons-delete,
.my-icons-edit,
.my-icons-new,
.my-icons-save {
background: url('/images/my-icons-s34fe0604ab.png') no-repeat;
}
.my-icons-delete { background-position: 0 0; }
.my-icons-edit { background-position: 0 -32px; }
.my-icons-new { background-position: 0 -64px; }
.my-icons-save { background-position: 0 -96px; }
```
!SLIDE
# Sprite Layouts
!SLIDE
## Vertical (default)
<img src='/assets/vert.png' >
!SLIDE
## Horizontal
<img src='/assets/horizontal.png' >
!SLIDE
## Diagonal
<img src='/assets/diagonal.png' >
!SLIDE
## Smart
<img src='/assets/smart.png' >
!SLIDE
# Magic Selectors
* my-buttons/glossy.png
* my-buttons/glossy_hover.png
* my-buttons/glossy_active.png
* my-buttons/glossy_target.png
!SLIDE
# Example
``` scss
@import "my-buttons/*.png";
a {
@include my-buttons-sprite(glossy)
}
```
!SLIDE
# BAM!
``` scss
.my-buttons-sprite, a {
background: url('/my-buttons-sedfef809e2.png') no-repeat;
}
a {
background-position: 0 0;
}
a:hover, a.glossy-hover {
background-position: 0 -40px;
}
a:target, a.glossy-target {
background-position: 0 -60px;
}
a:active, a.glossy-active {
background-position: 0 -20;
}
```
!SLIDE important
# Beware of your file size!
!SLIDE
# We support most CSS3 properties with vendor prefix's.
!SLIDE big-list
* Gradients
* Shadows
* Box model
* Transitions
* Much more
!SLIDE big-list
# Layout tools
* Grid
* Vertical rhythm
* And more!
!SLIDE
<div class='standard-grid' ></div>
!SLIDE grid-slide-scss
``` scss
.grid {
@include grid-background($total, $column, $gutter, $baseline,
$offset, $column-color, $gutter-color,
$baseline-color, $force-fluid)
}
```
!SLIDE
# Vertical rhythm
## The spacing and arrangement of text as the reader descends the page.
!SLIDE
## "Just as regular use of time provides rhythm in music, so regular use of space provides rhythm in typography, and without rhythm the listener, or the reader, becomes disorientated and lost." - 24ways.org
!SLIDE
<div class='grid' ></div>
!SLIDE
<img src='/assets/rhythm_layout.png' width="700px">
!SLIDE medium-list
* Height : rhythms
* Width : columns
!SLIDE
``` scss
$release-content-height : rhythm(2);
$section-side-width : column-width(4);
$primary-image-caption-line-height : floor($base-line-height / 2);
$group-image-height : rhythm(6);
.contents .show {
h1 {
@include header(3);
@include padding-leader;
@include trailer;
color : $primary-accent-color;
}
// etc ...
```
!SLIDE
<img src='/assets/vert_rhythm_bad.jpg' >
http://coding.smashingmagazine.com/2009/04/03/8-simple-ways-to-improve-typography-in-your-designs/
!SLIDES
# Extensions
* fancy-buttons
* sassy-buttons
* susy
* blueprint
* twitter-bootstrap
* etc...
!SLIDE
<img src='/assets/fancy-buttons.png' >

View File

@ -0,0 +1,39 @@
!SLIDE
# The future!
!SLIDE medium-list
# Sass
* Associative array data type (Hash)
* Better list functions
* `@content`
!SLIDE
## @content
``` scss
@mixin do-something {
font-size : 12px;
color : red;
@content;
}
p {
@include do-something {
color : blue;
}
}
```
``` css
p {
font-size : 12px;
color : red;
color : blue;
}
```
!SLIDE medium-list
# Compass
* Media query framework
* A css hacks library
* Extract blueprint from compass to a stand alone framework

View File

@ -0,0 +1,26 @@
!SLIDE
## We need help!
https://github.com/chriseppstein/compass
* Documentation
* Stylesheet cleanup
* Code Refactoring
!SLIDE small-list
## Core Team
* Chris Eppstein - chriseppstein.github.com
* Scott Davis (me) - scottdavis.github.com
* Brandon Mathis - brandonmathis.com
* Eric Meyer (The other one) - eric.oddbird.net
* Anthony Short - anthonyshort.me
!SLIDE
# Charity
### United Mitochondrial Disease Foundation
### Please donate - http://umdf.org/compass
!SLIDE
# Questions!

2
views/_footer.haml Normal file
View File

@ -0,0 +1,2 @@
.compass
.sass

4
views/_header.haml Normal file
View File

@ -0,0 +1,4 @@
- # this file gets included in the output, inside the <head> tags
- # use it for including things like Web fonts
%link{:href => 'http://fonts.googleapis.com/css?family=Nunito', :rel => 'stylesheet', :type => 'text/css'}/