bourbon 2.1.1 → 2.1.2
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile.lock +4 -2
- data/LICENSE +1 -1
- data/Rakefile +7 -0
- data/app/assets/stylesheets/_bourbon.scss +2 -0
- data/app/assets/stylesheets/addons/_button.scss +3 -3
- data/app/assets/stylesheets/addons/_font-face.scss +18 -9
- data/app/assets/stylesheets/addons/_hidpi-media-query.scss +10 -0
- data/app/assets/stylesheets/css3/_image-rendering.scss +13 -0
- data/app/assets/stylesheets/css3/_prefixer.scss +4 -0
- data/bin/bourbon +1 -1
- data/bourbon.gemspec +3 -2
- data/features/install.feature +20 -4
- data/features/step_definitions/bourbon_steps.rb +16 -18
- data/features/support/bourbon_support.rb +12 -9
- data/features/update.feature +17 -4
- data/features/version.feature +6 -0
- data/lib/bourbon/generator.rb +31 -22
- data/lib/bourbon/sass_extensions.rb +4 -2
- data/lib/bourbon/version.rb +1 -1
- data/readme.md +37 -156
- metadata +25 -9
data/Gemfile.lock
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
bourbon (1.
|
4
|
+
bourbon (2.1.1)
|
5
5
|
sass (>= 3.1)
|
6
|
+
thor
|
6
7
|
|
7
8
|
GEM
|
8
9
|
remote: http://rubygems.org/
|
@@ -35,8 +36,9 @@ GEM
|
|
35
36
|
rspec-expectations (2.8.0)
|
36
37
|
diff-lcs (~> 1.1.2)
|
37
38
|
rspec-mocks (2.8.0)
|
38
|
-
sass (3.1
|
39
|
+
sass (3.2.1)
|
39
40
|
term-ansicolor (1.0.7)
|
41
|
+
thor (0.15.4)
|
40
42
|
|
41
43
|
PLATFORMS
|
42
44
|
ruby
|
data/LICENSE
CHANGED
@@ -2,7 +2,7 @@ LICENSE
|
|
2
2
|
|
3
3
|
The MIT License
|
4
4
|
|
5
|
-
Copyright (c) 2011 thoughtbot, inc.
|
5
|
+
Copyright (c) 2011-2012 thoughtbot, inc.
|
6
6
|
|
7
7
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
8
|
of this software and associated documentation files (the "Software"), to deal
|
data/Rakefile
CHANGED
@@ -21,6 +21,7 @@
|
|
21
21
|
@import "css3/box-sizing";
|
22
22
|
@import "css3/columns";
|
23
23
|
@import "css3/flex-box";
|
24
|
+
@import "css3/image-rendering";
|
24
25
|
@import "css3/inline-block";
|
25
26
|
@import "css3/linear-gradient";
|
26
27
|
@import "css3/prefixer";
|
@@ -38,3 +39,4 @@
|
|
38
39
|
@import "addons/html5-input-types";
|
39
40
|
@import "addons/position";
|
40
41
|
@import "addons/timing-functions";
|
42
|
+
@import "addons/hidpi-media-query";
|
@@ -64,7 +64,7 @@
|
|
64
64
|
}
|
65
65
|
|
66
66
|
border: 1px solid $border;
|
67
|
-
|
67
|
+
border-radius: 3px;
|
68
68
|
@include box-shadow (inset 0 1px 0 0 $inset-shadow);
|
69
69
|
color: $color;
|
70
70
|
display: inline-block;
|
@@ -136,7 +136,7 @@
|
|
136
136
|
|
137
137
|
border: 1px solid $border;
|
138
138
|
border-bottom: 1px solid $border-bottom;
|
139
|
-
|
139
|
+
border-radius: 5px;
|
140
140
|
@include box-shadow(inset 0 1px 0 0 $inset-shadow);
|
141
141
|
color: $color;
|
142
142
|
display: inline-block;
|
@@ -207,7 +207,7 @@
|
|
207
207
|
|
208
208
|
border: 1px solid $border-top;
|
209
209
|
border-color: $border-top $border-sides $border-bottom;
|
210
|
-
|
210
|
+
border-radius: 16px;
|
211
211
|
@include box-shadow(inset 0 1px 0 0 $inset-shadow, 0 1px 2px 0 #b3b3b3);
|
212
212
|
color: $color;
|
213
213
|
display: inline-block;
|
@@ -1,12 +1,21 @@
|
|
1
|
-
@mixin font-face($font-family, $file-path, $weight: normal, $style: normal ) {
|
1
|
+
@mixin font-face($font-family, $file-path, $weight: normal, $style: normal, $asset-pipeline: false ) {
|
2
2
|
@font-face {
|
3
|
-
|
3
|
+
font-family: $font-family;
|
4
|
+
font-weight: $weight;
|
5
|
+
font-style: $style;
|
6
|
+
|
7
|
+
@if $asset-pipeline == true {
|
8
|
+
src: font-url('#{$file-path}.eot');
|
9
|
+
src: font-url('#{$file-path}.eot?#iefix') format('embedded-opentype'),
|
10
|
+
font-url('#{$file-path}.woff') format('woff'),
|
11
|
+
font-url('#{$file-path}.ttf') format('truetype'),
|
12
|
+
font-url('#{$file-path}.svg##{$font-family}') format('svg');
|
13
|
+
} @else {
|
4
14
|
src: url('#{$file-path}.eot');
|
5
|
-
src: url('#{$file-path}.eot?#iefix')
|
6
|
-
url('#{$file-path}.woff')
|
7
|
-
url('#{$file-path}.ttf')
|
8
|
-
url('#{$file-path}.svg##{$font-family}')
|
9
|
-
|
10
|
-
font-style: $style;
|
15
|
+
src: url('#{$file-path}.eot?#iefix') format('embedded-opentype'),
|
16
|
+
url('#{$file-path}.woff') format('woff'),
|
17
|
+
url('#{$file-path}.ttf') format('truetype'),
|
18
|
+
url('#{$file-path}.svg##{$font-family}') format('svg');
|
19
|
+
}
|
11
20
|
}
|
12
|
-
}
|
21
|
+
}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
// HiDPI mixin. Default value set to 1.3 to target Google Nexus 7 (http://bjango.com/articles/min-device-pixel-ratio/)
|
2
|
+
@mixin hidpi($ratio: 1.3) {
|
3
|
+
@media only screen and (-webkit-min-device-pixel-ratio: $ratio),
|
4
|
+
only screen and (min--moz-device-pixel-ratio: $ratio),
|
5
|
+
only screen and (-o-min-device-pixel-ratio: #{$ratio}/1),
|
6
|
+
only screen and (min-resolution: #{round($ratio*96)}dpi),
|
7
|
+
only screen and (min-resolution: #{$ratio}dppx) {
|
8
|
+
@content;
|
9
|
+
}
|
10
|
+
}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
@mixin image-rendering ($mode:optimizeQuality) {
|
2
|
+
|
3
|
+
@if ($mode == optimize-contrast) {
|
4
|
+
image-rendering: -moz-crisp-edges;
|
5
|
+
image-rendering: -o-crisp-edges;
|
6
|
+
image-rendering: -webkit-optimize-contrast;
|
7
|
+
image-rendering: optimize-contrast;
|
8
|
+
}
|
9
|
+
|
10
|
+
@else {
|
11
|
+
image-rendering: $mode;
|
12
|
+
}
|
13
|
+
}
|
@@ -1,3 +1,7 @@
|
|
1
|
+
//************************************************************************//
|
2
|
+
// Default: Webkit, moz, spec
|
3
|
+
// Example: @include prefixer(border-radius, $radii, $o: true);
|
4
|
+
//************************************************************************//
|
1
5
|
@mixin prefixer ($property, $value,
|
2
6
|
$webkit: true,
|
3
7
|
$moz: true,
|
data/bin/bourbon
CHANGED
data/bourbon.gemspec
CHANGED
@@ -6,7 +6,7 @@ Gem::Specification.new do |s|
|
|
6
6
|
s.name = "bourbon"
|
7
7
|
s.version = Bourbon::VERSION
|
8
8
|
s.platform = Gem::Platform::RUBY
|
9
|
-
s.authors = ["Phil LaPier", "Chad Mazzola", "Matt Jankowski", "Nick Quaranto", "Jeremy Raines", "Mike Burns", "Andres Mejia", "Travis Haynes", "Chris Lloyd", "Gabe Berke-Williams", "J. Edward Dewyea"]
|
9
|
+
s.authors = ["Phil LaPier", "Chad Mazzola", "Matt Jankowski", "Nick Quaranto", "Jeremy Raines", "Mike Burns", "Andres Mejia", "Travis Haynes", "Chris Lloyd", "Gabe Berke-Williams", "J. Edward Dewyea", "Reda Lemeden"]
|
10
10
|
s.email = ["support@thoughtbot.com"]
|
11
11
|
s.homepage = "https://github.com/thoughtbot/bourbon"
|
12
12
|
s.summary = "Bourbon Sass Mixins using SCSS syntax."
|
@@ -26,7 +26,8 @@ that support only CSS3 prefixed properties.
|
|
26
26
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
27
27
|
s.require_paths = ["lib"]
|
28
28
|
|
29
|
-
s.add_dependency('sass', '>= 3.
|
29
|
+
s.add_dependency('sass', '>= 3.2')
|
30
|
+
s.add_dependency('thor')
|
30
31
|
|
31
32
|
s.add_development_dependency('aruba', '~> 0.4')
|
32
33
|
s.add_development_dependency('rake')
|
data/features/install.feature
CHANGED
@@ -2,16 +2,32 @@
|
|
2
2
|
Feature: Install bourbon files
|
3
3
|
|
4
4
|
Scenario: Bourbon generates a new bourbon installation
|
5
|
-
When I
|
5
|
+
When I run `bundle exec bourbon install`
|
6
6
|
Then the sass directories should have been generated
|
7
7
|
And the following directories should exist:
|
8
|
-
| bourbon
|
9
|
-
| bourbon/lib
|
8
|
+
| bourbon |
|
9
|
+
| bourbon/lib |
|
10
10
|
And the master bourbon partial should have been generated
|
11
11
|
And the lib files should have been generated
|
12
12
|
And the output should contain "Bourbon files installed to bourbon/"
|
13
13
|
|
14
14
|
Scenario: Generating does not overwrite an existing bourbon directory
|
15
15
|
Given bourbon is already installed
|
16
|
-
When I
|
16
|
+
When I run `bundle exec bourbon install`
|
17
17
|
Then the output should contain "Bourbon files already installed, doing nothing."
|
18
|
+
|
19
|
+
Scenario: Install Bourbon into a custom path
|
20
|
+
When I run `bundle exec bourbon install --path=custom_path`
|
21
|
+
Then the sass directories with "custom_path" prefix should have been generated
|
22
|
+
And the following directories should exist:
|
23
|
+
| custom_path/bourbon |
|
24
|
+
| custom_path/bourbon/lib |
|
25
|
+
And the master bourbon partial should have been generated within "custom_path" directory
|
26
|
+
And the lib files should have been generated within "custom_path" directory
|
27
|
+
And the output should contain "Bourbon files installed to custom_path/bourbon/"
|
28
|
+
|
29
|
+
Scenario: Forcing install of bourbon
|
30
|
+
Given bourbon is already installed
|
31
|
+
When I run `bundle exec bourbon install --force`
|
32
|
+
Then the output from "bundle exec bourbon install --force" should contain "Bourbon files installed to bourbon/"
|
33
|
+
And the output should not contain "Bourbon files already installed, doing nothing."
|
@@ -1,33 +1,31 @@
|
|
1
1
|
Given /^bourbon is already installed$/ do
|
2
|
-
set_up_bourbon_directory
|
3
2
|
install_bourbon
|
4
3
|
end
|
5
4
|
|
6
|
-
|
7
|
-
set_up_bourbon_directory
|
8
|
-
install_bourbon
|
9
|
-
end
|
10
|
-
|
11
|
-
When /^I update bourbon files$/ do
|
12
|
-
update_bourbon
|
5
|
+
Given /^I install bourbon to "([^"]*)"$/ do |path|
|
13
6
|
end
|
14
7
|
|
15
|
-
Then /^the sass directories should have been generated$/ do
|
16
|
-
sass_directories = ["
|
8
|
+
Then /^the sass directories(?: with "([^"]+)" prefix)? should have been generated$/ do |prefix|
|
9
|
+
sass_directories = ["addons", "css3", "functions"]
|
10
|
+
sass_directories.map!{ |directory| bourbon_path(prefix, directory) }
|
17
11
|
check_directory_presence(sass_directories, true)
|
18
12
|
end
|
19
13
|
|
20
|
-
Then /^the master bourbon partial should have been generated
|
21
|
-
check_file_presence([
|
14
|
+
Then /^the master bourbon partial should have been generated(?: within "([^"]+)" directory)?$/ do |prefix|
|
15
|
+
check_file_presence([bourbon_path(prefix, '_bourbon.scss')], true)
|
22
16
|
end
|
23
17
|
|
24
|
-
Then /^the lib files should have been generated
|
25
|
-
check_file_presence([
|
26
|
-
check_directory_presence([
|
27
|
-
check_file_presence([
|
28
|
-
check_directory_presence([
|
18
|
+
Then /^the lib files should have been generated(?: within "([^"]+)" directory)?$/ do |prefix|
|
19
|
+
check_file_presence([bourbon_path(prefix, 'lib/bourbon.rb')], true)
|
20
|
+
check_directory_presence([bourbon_path(prefix, 'lib/bourbon')], true)
|
21
|
+
check_file_presence([bourbon_path(prefix, 'lib/bourbon/sass_extensions.rb')], true)
|
22
|
+
check_directory_presence([bourbon_path(prefix, 'lib/bourbon/sass_extensions')], true)
|
29
23
|
end
|
30
24
|
|
31
25
|
Then /^bourbon should not have been generated$/ do
|
32
|
-
check_directory_presence([
|
26
|
+
check_directory_presence(['bourbon'], false)
|
27
|
+
end
|
28
|
+
|
29
|
+
Then /^the output should contain the current version of Bourbon$/ do
|
30
|
+
step %(the output should contain exactly "Bourbon #{Bourbon::VERSION}\n")
|
33
31
|
end
|
@@ -1,15 +1,18 @@
|
|
1
1
|
module BourbonSupport
|
2
|
-
def
|
3
|
-
|
4
|
-
|
2
|
+
def install_bourbon(path = nil)
|
3
|
+
if path
|
4
|
+
run_simple("bundle exec bourbon install --path '#{path}'")
|
5
|
+
else
|
6
|
+
run_simple("bundle exec bourbon install")
|
7
|
+
end
|
5
8
|
end
|
6
9
|
|
7
|
-
def
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
10
|
+
def bourbon_path(prefix, path)
|
11
|
+
if prefix
|
12
|
+
File.join(prefix, 'bourbon', path)
|
13
|
+
else
|
14
|
+
File.join('bourbon', path)
|
15
|
+
end
|
13
16
|
end
|
14
17
|
end
|
15
18
|
|
data/features/update.feature
CHANGED
@@ -2,16 +2,29 @@
|
|
2
2
|
Feature: Update bourbon files
|
3
3
|
|
4
4
|
Scenario: Updating updates an existing bourbon install
|
5
|
-
|
6
|
-
|
5
|
+
Given bourbon is already installed
|
6
|
+
When I write to "bourbon/_bourbon.scss" with:
|
7
7
|
"""
|
8
8
|
foobar
|
9
9
|
"""
|
10
|
-
And I
|
10
|
+
And I run `bundle exec bourbon update`
|
11
11
|
Then the output should contain "Bourbon files updated."
|
12
12
|
And the file "bourbon/_bourbon.scss" should not contain "foobar"
|
13
13
|
|
14
|
+
Scenario: Updating with a --path option
|
15
|
+
Given I install bourbon to "custom_path"
|
16
|
+
When I write to "custom_path/bourbon/_bourbon.scss" with:
|
17
|
+
"""
|
18
|
+
foobar
|
19
|
+
"""
|
20
|
+
And I run `bundle exec bourbon update`
|
21
|
+
Then the output should contain "No existing bourbon installation. Doing nothing."
|
22
|
+
|
23
|
+
When I run `bundle exec bourbon update --path custom_path`
|
24
|
+
Then the output should contain "Bourbon files updated."
|
25
|
+
And the file "custom_path/bourbon/_bourbon.scss" should not contain "foobar"
|
26
|
+
|
14
27
|
Scenario: Updating does not generate a new bourbon install
|
15
|
-
|
28
|
+
And I run `bundle exec bourbon update`
|
16
29
|
Then bourbon should not have been generated
|
17
30
|
And the output should contain "No existing bourbon installation. Doing nothing."
|
data/lib/bourbon/generator.rb
CHANGED
@@ -1,19 +1,24 @@
|
|
1
|
+
require 'bourbon/version'
|
1
2
|
require "fileutils"
|
3
|
+
require 'thor'
|
2
4
|
|
3
5
|
module Bourbon
|
4
|
-
class Generator
|
5
|
-
|
6
|
-
@subcommand = arguments.first
|
7
|
-
end
|
6
|
+
class Generator < Thor
|
7
|
+
map ['-v', '--version'] => :version
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
9
|
+
desc 'install', 'Install Bourbon into your project'
|
10
|
+
method_options :path => :string, :force => :boolean
|
11
|
+
def install
|
12
|
+
if bourbon_files_already_exist? && !options[:force]
|
13
|
+
puts "Bourbon files already installed, doing nothing."
|
14
|
+
else
|
15
|
+
install_files
|
16
|
+
puts "Bourbon files installed to #{install_path}/"
|
14
17
|
end
|
15
18
|
end
|
16
19
|
|
20
|
+
desc 'update', 'Update Bourbon'
|
21
|
+
method_options :path => :string
|
17
22
|
def update
|
18
23
|
if bourbon_files_already_exist?
|
19
24
|
remove_bourbon_directory
|
@@ -24,19 +29,23 @@ module Bourbon
|
|
24
29
|
end
|
25
30
|
end
|
26
31
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
else
|
31
|
-
install_files
|
32
|
-
puts "Bourbon files installed to bourbon/"
|
33
|
-
end
|
32
|
+
desc 'version', 'Show Bourbon version'
|
33
|
+
def version
|
34
|
+
say "Bourbon #{Bourbon::VERSION}"
|
34
35
|
end
|
35
36
|
|
36
37
|
private
|
37
38
|
|
38
39
|
def bourbon_files_already_exist?
|
39
|
-
|
40
|
+
install_path.exist?
|
41
|
+
end
|
42
|
+
|
43
|
+
def install_path
|
44
|
+
@install_path ||= if options[:path]
|
45
|
+
Pathname.new(File.join(options[:path], 'bourbon'))
|
46
|
+
else
|
47
|
+
Pathname.new('bourbon')
|
48
|
+
end
|
40
49
|
end
|
41
50
|
|
42
51
|
def install_files
|
@@ -50,17 +59,17 @@ module Bourbon
|
|
50
59
|
end
|
51
60
|
|
52
61
|
def make_lib_directory
|
53
|
-
FileUtils.mkdir_p(
|
62
|
+
FileUtils.mkdir_p(install_path.join('lib', 'bourbon'))
|
54
63
|
end
|
55
64
|
|
56
65
|
def copy_in_sass_extensions
|
57
|
-
FileUtils.cp(File.join(lib_directory,
|
58
|
-
FileUtils.cp(File.join(lib_bourbon_directory,
|
59
|
-
FileUtils.cp_r(File.join(lib_bourbon_directory,
|
66
|
+
FileUtils.cp(File.join(lib_directory, 'bourbon.rb'), install_path.join('lib'))
|
67
|
+
FileUtils.cp(File.join(lib_bourbon_directory, 'sass_extensions.rb'), install_path.join('lib', 'bourbon'))
|
68
|
+
FileUtils.cp_r(File.join(lib_bourbon_directory, 'sass_extensions'), install_path.join('lib', 'bourbon'))
|
60
69
|
end
|
61
70
|
|
62
71
|
def copy_in_scss_files
|
63
|
-
FileUtils.cp_r(all_stylesheets,
|
72
|
+
FileUtils.cp_r(all_stylesheets, install_path)
|
64
73
|
end
|
65
74
|
|
66
75
|
def all_stylesheets
|
data/lib/bourbon/version.rb
CHANGED
data/readme.md
CHANGED
@@ -1,19 +1,20 @@
|
|
1
|
-
[![Bourbon Sass Mixin Library](http://
|
1
|
+
[![Bourbon Sass Mixin Library](http://bourbon.io/images/bourbon-logo.png)](http://bourbon.io)
|
2
|
+
|
2
3
|
# A simple and lightweight mixin library for Sass
|
3
4
|
Bourbon is a comprehensive library of sass mixins that are designed to be simple
|
4
|
-
and easy to use. No configuration required.
|
5
|
-
possible, meaning they should be as close to the original CSS syntax as possible.
|
5
|
+
and easy to use. No configuration required.
|
6
|
+
The mixins aim to be as vanilla as possible, meaning they should be as close to the original CSS syntax as possible.
|
6
7
|
|
7
8
|
The mixins contain vendor specific prefixes for all CSS3 properties for support
|
8
9
|
amongst modern browsers. The prefixes also ensure graceful degradation for older
|
9
10
|
browsers that support only CSS3 prefixed properties. Bourbon uses SCSS syntax.
|
10
11
|
|
11
|
-
#[Documentation & Demo](http://
|
12
|
+
#[Documentation & Demo](http://bourbon.io)
|
12
13
|
|
13
14
|
# Requirements
|
14
|
-
Sass 3.
|
15
|
+
Sass 3.2+
|
15
16
|
|
16
|
-
# Install for Rails
|
17
|
+
# Install for Rails 3.1+
|
17
18
|
In your Gemfile:
|
18
19
|
|
19
20
|
gem 'bourbon'
|
@@ -22,186 +23,61 @@ Then run:
|
|
22
23
|
|
23
24
|
$ bundle install
|
24
25
|
|
25
|
-
|
26
|
-
Rename application.css to application.css.scss:
|
26
|
+
Restart your server. Then rename application`.css` to application`.css.scss`:
|
27
27
|
|
28
28
|
mv app/assets/stylesheets/application.css app/assets/stylesheets/application.css.scss
|
29
29
|
|
30
|
-
|
31
|
-
Delete the following sprocket directive in application.css.scss:
|
30
|
+
Delete the sprocket directive in application.css.scss: [Why?](https://github.com/thoughtbot/bourbon/wiki/Rails-Sprockets)
|
32
31
|
|
33
32
|
*= require_tree .
|
34
33
|
|
35
|
-
Import
|
36
|
-
|
37
|
-
@import "bourbon";
|
38
|
-
|
39
|
-
Import all additional stylesheets from your app/assets/stylesheets directory underneath the bourbon import:
|
34
|
+
Import Bourbon at the beginning of application.css.scss. All additional stylesheets must be imported below Bourbon:
|
40
35
|
|
41
36
|
@import "bourbon";
|
42
37
|
@import "home";
|
43
38
|
@import "users";
|
44
39
|
|
45
|
-
## Rails 3.0.x
|
46
|
-
For Rails 3.0.x you must run the installation rake task. You should run this task every time a new version of Bourbon is released.
|
47
|
-
This will copy the Sass files into your project's `public/stylesheets/sass` directory.
|
48
|
-
|
49
|
-
rake bourbon:install
|
50
40
|
|
51
|
-
|
41
|
+
[Help! I'm getting an undefined mixin error.](https://github.com/thoughtbot/bourbon/wiki/Rails-Help-%5C-Undefined-mixin)
|
52
42
|
|
53
|
-
|
43
|
+
##### [Rails 3.0.x Install Instructions](https://github.com/thoughtbot/bourbon/wiki/Rails-3.0.x-Install)
|
54
44
|
|
55
|
-
|
45
|
+
##### Rails 2.3 - follow the [non-rails installation](#non-rails)
|
56
46
|
|
57
|
-
|
47
|
+
# <span id="non-rails"></span>Non-Rails projects
|
48
|
+
Bourbon includes an easy way to generate a directory with all the necessary files.
|
49
|
+
For command line help: `$ bourbon help` or visit the [Command line tools wiki](https://github.com/thoughtbot/bourbon/wiki/Command-Line-Tools)
|
58
50
|
|
59
|
-
|
60
|
-
Bourbon includes an easy way to generate a directory with all the necessary files.
|
61
|
-
Install the bourbon gem:
|
51
|
+
####Install
|
62
52
|
|
63
53
|
gem install bourbon
|
64
54
|
|
65
|
-
|
66
|
-
|
67
|
-
cd project_name/stylesheets/sass/
|
68
|
-
|
69
|
-
Install bourbon:
|
55
|
+
Install Bourbon into the current directory by generating the `bourbon` folder:
|
70
56
|
|
71
57
|
bourbon install
|
72
58
|
|
73
|
-
|
74
|
-
|
75
|
-
Update an existing bourbon installation with:
|
76
|
-
|
77
|
-
bourbon update
|
78
|
-
|
79
|
-
This will delete the bourbon directory and regenerate it.
|
59
|
+
<small>The generated folder will contain all the mixins and other necessary Bourbon files.
|
60
|
+
It is recommended not to add or modify the Bourbon files so that you can update Bourbon easily.</small>
|
80
61
|
|
62
|
+
#### Sass Watch
|
81
63
|
*Sass Watch:* To output properly, Bourbon must be explicitly required (`-r`) by Sass at the command line:
|
82
64
|
|
83
65
|
# Example (project root directory)
|
84
66
|
sass --watch stylesheets/sass:stylesheets -r ./stylesheets/sass/bourbon/lib/bourbon.rb
|
85
67
|
|
86
|
-
|
68
|
+
Lastly, import the mixins at the beginning of your stylesheet(s):
|
87
69
|
|
88
70
|
@import 'bourbon/bourbon';
|
89
71
|
|
90
72
|
|
91
|
-
|
92
|
-
|
73
|
+
#### Other Commands
|
74
|
+
Visit the [Command line tools wiki](https://github.com/thoughtbot/bourbon/wiki/Command-Line-Tools) for a complete list
|
93
75
|
|
76
|
+
bourbon help
|
77
|
+
bourbon update
|
94
78
|
|
95
|
-
#
|
96
|
-
|
97
|
-
|
98
|
-
*@ denotes a mixin and must be prefaced with @include*
|
99
|
-
|
100
|
-
Mixins
|
101
|
-
--------------------------------
|
102
|
-
animation
|
103
|
-
@ animation(*args)
|
104
|
-
@ animation-delay(*args)
|
105
|
-
@ animation-direction(*args)
|
106
|
-
@ animation-duration(*args)
|
107
|
-
@ animation-fill-mode(*args)
|
108
|
-
@ animation-iteration-count(*args)
|
109
|
-
@ animation-name(*args)
|
110
|
-
@ animation-play-state(*args)
|
111
|
-
@ animation-timing-function(*args)
|
112
|
-
|
113
|
-
@ appearance(*args)
|
114
|
-
@ background-image(*args)
|
115
|
-
@ background-size(*args)
|
116
|
-
@ border-image(*args)
|
117
|
-
|
118
|
-
border-radius
|
119
|
-
@ border-radius(*args)
|
120
|
-
@ border-top-radius(*args)
|
121
|
-
@ border-top-left-radius(*args)
|
122
|
-
@ border-top-right-radius(*args)
|
123
|
-
@ border-bottom-radius(*args)
|
124
|
-
@ border-bottom-left-radius(*args)
|
125
|
-
@ border-bottom-right-radius(*args)
|
126
|
-
@ border-left-radius(*args)
|
127
|
-
@ border-right-radius(*args)
|
128
|
-
|
129
|
-
@ box-shadow(*args)
|
130
|
-
@ box-sizing(*args)
|
131
|
-
|
132
|
-
columns
|
133
|
-
@columns(*args)
|
134
|
-
@column-count(*args)
|
135
|
-
@column-fill(*args)
|
136
|
-
@column-gap(*args)
|
137
|
-
@column-rule(*args)
|
138
|
-
@column-rule-color(*args)
|
139
|
-
@column-rule-style(*args)
|
140
|
-
@column-rule-width(*args)
|
141
|
-
@column-span(*args)
|
142
|
-
@column-width(*args)
|
143
|
-
|
144
|
-
flex-box
|
145
|
-
@ box(*args)
|
146
|
-
@ box-align(*args)
|
147
|
-
@ box-direction(*args)
|
148
|
-
@ box-flex(*args)
|
149
|
-
@ box-flex-group(*args)
|
150
|
-
@ box-lines(*args)
|
151
|
-
@ box-ordinal-group(*args)
|
152
|
-
@ box-orient(*args)
|
153
|
-
@ box-pack(*args)
|
154
|
-
@ display-box
|
155
|
-
|
156
|
-
@ inline-block
|
157
|
-
@ linear-gradient(*args)
|
158
|
-
@ radial-gradient(*args)
|
159
|
-
|
160
|
-
transform
|
161
|
-
@ transform(*args)
|
162
|
-
@ transform-origin(*args)
|
163
|
-
|
164
|
-
transition
|
165
|
-
@ transition(*args)
|
166
|
-
@ transition-delay(*args)
|
167
|
-
@ transition-duration(*args)
|
168
|
-
@ transition-property(*args)
|
169
|
-
@ transition-timing-function(*args)
|
170
|
-
|
171
|
-
@ user-select
|
172
|
-
|
173
|
-
Functions
|
174
|
-
--------------------------------
|
175
|
-
compact(*args)
|
176
|
-
flex-grid(*args)
|
177
|
-
golden-ratio(*args)
|
178
|
-
grid-width(*args)
|
179
|
-
linear-gradient(*args)
|
180
|
-
radial-gradient(*args)
|
181
|
-
shade(*args)
|
182
|
-
tint(*args)
|
183
|
-
|
184
|
-
Addons
|
185
|
-
-------------------------------
|
186
|
-
@ button(*args)
|
187
|
-
@ clearfix
|
188
|
-
@ hide-text
|
189
|
-
|
190
|
-
HTML5 Inputs
|
191
|
-
#{$all-text-inputs}
|
192
|
-
|
193
|
-
font-family
|
194
|
-
$georgia
|
195
|
-
$helvetica
|
196
|
-
$lucida-grande
|
197
|
-
$monospace
|
198
|
-
$verdana
|
199
|
-
|
200
|
-
timing-functions
|
201
|
-
$ease-in-*
|
202
|
-
$ease-out-*
|
203
|
-
$ease-in-out-*
|
204
|
-
* = quad, cubic, quart, quint, sine, expo, circ, back
|
79
|
+
# Browser support
|
80
|
+
Bourbon aims to provide support for CSS3 properties that are not yet fully supported in modern stable browsers.
|
205
81
|
|
206
82
|
|
207
83
|
## Help Out
|
@@ -219,20 +95,25 @@ If the answer is yes, there is a high chance the mixin will be accepted via a pu
|
|
219
95
|
*Bourbon does not intend to support IE filters.*
|
220
96
|
|
221
97
|
|
222
|
-
Resources for checking browser support:
|
98
|
+
Resources for checking browser support:
|
99
|
+
|
100
|
+
* [MDN - Moz Dev Network](https://developer.mozilla.org/en-US/)
|
101
|
+
* [Mozilla CSS Extensions](https://developer.mozilla.org/en/CSS_Reference/Mozilla_Extensions)
|
102
|
+
* [Webkit CSS Properties](http://css-infos.net/properties/webkit.php)
|
103
|
+
* [MSDN - Microsoft Dev Network](http://msdn.microsoft.com/en-us/library/ms531207\(v=VS.85\).aspx)
|
223
104
|
|
224
105
|
Credits
|
225
106
|
-------
|
226
107
|
|
227
108
|
![thoughtbot](http://thoughtbot.com/images/tm/logo.png)
|
228
109
|
|
229
|
-
Got questions? Need help? Tweet at [@phillapier](http://twitter.com/phillapier).
|
230
|
-
|
231
110
|
Bourbon is maintained and funded by [thoughtbot, inc](http://thoughtbot.com/community)
|
232
111
|
|
233
112
|
The names and logos for thoughtbot are trademarks of thoughtbot, inc.
|
234
113
|
|
114
|
+
Got questions? Need help? Tweet at [@phillapier](http://twitter.com/phillapier).
|
115
|
+
|
235
116
|
License
|
236
117
|
-------
|
237
118
|
|
238
|
-
Bourbon is Copyright © 2012 thoughtbot. It is free software, and may be redistributed under the terms specified in the LICENSE file.
|
119
|
+
Bourbon is Copyright © 2011-2012 thoughtbot. It is free software, and may be redistributed under the terms specified in the LICENSE file.
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bourbon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -16,25 +16,37 @@ authors:
|
|
16
16
|
- Chris Lloyd
|
17
17
|
- Gabe Berke-Williams
|
18
18
|
- J. Edward Dewyea
|
19
|
+
- Reda Lemeden
|
19
20
|
autorequire:
|
20
21
|
bindir: bin
|
21
22
|
cert_chain: []
|
22
|
-
date: 2012-
|
23
|
+
date: 2012-11-02 00:00:00.000000000 Z
|
23
24
|
dependencies:
|
24
25
|
- !ruby/object:Gem::Dependency
|
25
26
|
name: sass
|
26
|
-
requirement: &
|
27
|
+
requirement: &70222886729000 !ruby/object:Gem::Requirement
|
27
28
|
none: false
|
28
29
|
requirements:
|
29
30
|
- - ! '>='
|
30
31
|
- !ruby/object:Gem::Version
|
31
|
-
version: '3.
|
32
|
+
version: '3.2'
|
32
33
|
type: :runtime
|
33
34
|
prerelease: false
|
34
|
-
version_requirements: *
|
35
|
+
version_requirements: *70222886729000
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: thor
|
38
|
+
requirement: &70222886728580 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
44
|
+
type: :runtime
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *70222886728580
|
35
47
|
- !ruby/object:Gem::Dependency
|
36
48
|
name: aruba
|
37
|
-
requirement: &
|
49
|
+
requirement: &70222886728040 !ruby/object:Gem::Requirement
|
38
50
|
none: false
|
39
51
|
requirements:
|
40
52
|
- - ~>
|
@@ -42,10 +54,10 @@ dependencies:
|
|
42
54
|
version: '0.4'
|
43
55
|
type: :development
|
44
56
|
prerelease: false
|
45
|
-
version_requirements: *
|
57
|
+
version_requirements: *70222886728040
|
46
58
|
- !ruby/object:Gem::Dependency
|
47
59
|
name: rake
|
48
|
-
requirement: &
|
60
|
+
requirement: &70222886727620 !ruby/object:Gem::Requirement
|
49
61
|
none: false
|
50
62
|
requirements:
|
51
63
|
- - ! '>='
|
@@ -53,7 +65,7 @@ dependencies:
|
|
53
65
|
version: '0'
|
54
66
|
type: :development
|
55
67
|
prerelease: false
|
56
|
-
version_requirements: *
|
68
|
+
version_requirements: *70222886727620
|
57
69
|
description: ! 'The purpose of Bourbon Vanilla Sass Mixins is to provide a comprehensive
|
58
70
|
framework of
|
59
71
|
|
@@ -86,6 +98,7 @@ files:
|
|
86
98
|
- app/assets/stylesheets/addons/_font-face.scss
|
87
99
|
- app/assets/stylesheets/addons/_font-family.scss
|
88
100
|
- app/assets/stylesheets/addons/_hide-text.scss
|
101
|
+
- app/assets/stylesheets/addons/_hidpi-media-query.scss
|
89
102
|
- app/assets/stylesheets/addons/_html5-input-types.scss
|
90
103
|
- app/assets/stylesheets/addons/_position.scss
|
91
104
|
- app/assets/stylesheets/addons/_timing-functions.scss
|
@@ -100,6 +113,7 @@ files:
|
|
100
113
|
- app/assets/stylesheets/css3/_box-sizing.scss
|
101
114
|
- app/assets/stylesheets/css3/_columns.scss
|
102
115
|
- app/assets/stylesheets/css3/_flex-box.scss
|
116
|
+
- app/assets/stylesheets/css3/_image-rendering.scss
|
103
117
|
- app/assets/stylesheets/css3/_inline-block.scss
|
104
118
|
- app/assets/stylesheets/css3/_linear-gradient.scss
|
105
119
|
- app/assets/stylesheets/css3/_prefixer.scss
|
@@ -123,6 +137,7 @@ files:
|
|
123
137
|
- features/support/bourbon_support.rb
|
124
138
|
- features/support/env.rb
|
125
139
|
- features/update.feature
|
140
|
+
- features/version.feature
|
126
141
|
- lib/bourbon.rb
|
127
142
|
- lib/bourbon/engine.rb
|
128
143
|
- lib/bourbon/generator.rb
|
@@ -162,3 +177,4 @@ test_files:
|
|
162
177
|
- features/support/bourbon_support.rb
|
163
178
|
- features/support/env.rb
|
164
179
|
- features/update.feature
|
180
|
+
- features/version.feature
|