neat 0.4.2

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore ADDED
@@ -0,0 +1,14 @@
1
+ .DS_store
2
+ .sass-cache/
3
+ *.scssc
4
+ /stylesheets/.sass-cache/
5
+ _site/
6
+ _includes/
7
+ _layouts/
8
+ _sass/
9
+ examples/
10
+ images/
11
+ css/
12
+ _config.yml
13
+ index.html
14
+
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in neat.gemspec
4
+ gemspec
data/LICENSE ADDED
@@ -0,0 +1,23 @@
1
+ LICENSE
2
+
3
+ The MIT License
4
+
5
+ Copyright (c) 2011 thoughtbot, inc.
6
+
7
+ Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ of this software and associated documentation files (the "Software"), to deal
9
+ in the Software without restriction, including without limitation the rights
10
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ copies of the Software, and to permit persons to whom the Software is
12
+ furnished to do so, subject to the following conditions:
13
+
14
+ The above copyright notice and this permission notice shall be included in
15
+ all copies or substantial portions of the Software.
16
+
17
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
+ THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,283 @@
1
+ [![Bourbon Neat](http://thoughtbot.com/neat/images/logotype.svg)](http://thoughtbot.com/neat)
2
+
3
+ **Neat** is an open source fluid grid framework built on top of [Bourbon](http://thoughtbot.com/bourbon) with the aim of being easy enough to use out of the box and flexible enough to customize down the road.
4
+
5
+ Learn more about Neat and why we built it [here](http://thoughtbot.com/neat/).
6
+
7
+
8
+ Getting started
9
+ ===
10
+
11
+ Requirements:
12
+
13
+ - Sass 3.2+
14
+ - Bourbon 2.1+
15
+
16
+
17
+ Gemfile contents:
18
+
19
+ gem 'bourbon'
20
+ gem 'neat'
21
+
22
+ After running `bundle install` you will be able to use bourbon and neat together. Within your application.css.scss file place the following:
23
+
24
+ @import "bourbon";
25
+ @import "neat";
26
+
27
+
28
+ Using the grid
29
+ ===
30
+ The default grid uses 12 columns (a setting that can be easily overridden as detailed further down).
31
+
32
+ ### Containers
33
+ Include the ```outer-container``` mixin in the topmost container (to which the ```max-width``` setting will be applied):
34
+
35
+ div.container {
36
+ @include outer-container;
37
+ }
38
+
39
+
40
+ You can include this mixin in more than one element in the same page.
41
+
42
+ ### Columns
43
+ Use the ```span-columns``` mixin to specify the number of columns an element should span:
44
+
45
+ @include span-columns($span: $columns of $container-columns, $display: block)
46
+
47
+ * ```columns``` is the number of columns you wish this element to span.
48
+ * ```container-columns``` (optional) is the number of columns the container spans, defaults to the total number of columns in the grid.
49
+ * ```display``` (optional) changes the display type of the grid. Use ```block```—the default—for floated layout, ```table``` for table-cell layout, and ```inline-block``` for an inline block layout.
50
+
51
+ eg. Element that spans across 6 columns (out of the default 12):
52
+
53
+ div.element {
54
+ @include span-columns(6);
55
+ }
56
+
57
+
58
+ If the element's parent isn't the top-most container, you need to add the number of columns of the parent element to keep the right proportions:
59
+
60
+ div.container {
61
+ @include outer-container;
62
+
63
+ div.parent-element {
64
+ @include span-columns(8);
65
+
66
+ div.element {
67
+ @include span-columns(6 of 8);
68
+ }
69
+ }
70
+ }
71
+
72
+ To use a table-cell layout, add ```table``` as the ```display``` argument:
73
+
74
+ @include span-columns(6 of 8, table)
75
+
76
+
77
+ Likewise for inline-block:
78
+
79
+ @include span-columns(6 of 8, inline-block)
80
+
81
+ The following syntaxes would also work:
82
+
83
+ @include span-columns(6 / 8,inline-block);
84
+ @include span-columns(6 8,inline-block);
85
+
86
+
87
+ ### Rows
88
+ In order to clear floated or table-cell columns, use the ```row``` mixin:
89
+
90
+ @include row($display);
91
+
92
+ * ```display``` takes either ```block```—the default—or ```table```.
93
+
94
+
95
+ ### Shifting columns
96
+
97
+
98
+ To move an element to the left or right by a number of columns, use the ```shift``` mixin:
99
+
100
+ @include shift(2); // Move 2 columns to the right
101
+ @include shift(-3); // Move 3 columns to the left
102
+
103
+ Please note that the ```shift()``` mixin is incompatible with display ```table```.
104
+
105
+
106
+ ### Padding columns
107
+
108
+ To add padding around the entire column use ```pad()```. By default it adds the same value as the grid's gutter but can take any unit value.
109
+
110
+ @include pad; // Adds a padding equivalent to the grid's gutter
111
+ @extend pad(20px); // Adds a padding of 20px
112
+
113
+ The ```pad()``` mixin works particularly well with ```span-columns(x, y, table)``` by adding the necessary padding without breaking your table-based grid layout.
114
+
115
+ ### Removing gutter
116
+
117
+ Neat automatically removes the last columns's gutter. However, if you are queueing more than one row of columns within the same parent element, you need to specify which columns are considered last in their row to preserve the layout. Use the ```omega``` mixin to achieve this:
118
+
119
+ @include omega; // Removes right gutter
120
+
121
+ You can also use ```nth-omega``` to remove the gutter of a specific column or set of columns:
122
+
123
+ @include nth-omega(nth-child);
124
+
125
+ * ```nth-child``` takes any valid :nth-child value. See [https://developer.mozilla.org/en-US/docs/CSS/:nth-child](Mozilla's :nth-child documentation)
126
+
127
+ eg. Remove every 3rd gutter using:
128
+
129
+ @include nth-omega(3n);
130
+
131
+ ### Filling parent elements
132
+
133
+ This makes sure that the child fills 100% of its parent:
134
+
135
+ @include fill-parent;
136
+
137
+ ### Breakpoints
138
+
139
+ The ```breakpoint()``` mixin allows you to use media-queries to modify both the grid and the layout. It takes two arguments:
140
+
141
+ @include breakpoint($query:$feature $value, $total-columns: $grid-columns)
142
+
143
+ * ```query``` contains the media feature (min-width, max-width, etc.) and the value (481px, 30em, etc.). If you specify the value only, ```min-width``` will be used by default (ideal if you follow a mobile-first approach). You can also change the default feature in the settings (see section below).
144
+ * ```total-columns``` (optional) is the total number of columns to be used inside this media query. Changing the total number of columns will change the width, padding and margin percentages obtained using the ```span-column``` mixin.
145
+
146
+ ##### Example 1
147
+
148
+ .my-class {
149
+ @include breakpoint(481px) {
150
+ font-size: 1.2em;
151
+ }
152
+ }
153
+
154
+ // Compiled CSS
155
+
156
+ @media screen and (min-width: 481px) {
157
+ .my-class {
158
+ font-size: 1.2em;
159
+ }
160
+ }
161
+
162
+ ##### Example 2
163
+
164
+ .my-class {
165
+ @include breakpoint(max-width 769px) {
166
+ float: none;
167
+ }
168
+ }
169
+
170
+ // Compiled CSS
171
+
172
+ @media screen and (max-width: 769px) {
173
+ .my-class {
174
+ float: none;
175
+ }
176
+ }
177
+
178
+ ##### Example 3
179
+
180
+ .my-class {
181
+ @include breakpoint(max-width 769px) {
182
+ @include span-columns(6);
183
+ }
184
+ }
185
+
186
+ // Compiled CSS
187
+
188
+ @media screen and (max-width: 769px) {
189
+ .my-class {
190
+ display: block;
191
+ float: left;
192
+ margin-right: 2.35765%;
193
+ width: 48.82117%; // That's 6 columns of the total 12
194
+ }
195
+
196
+ .my-class:last-child {
197
+ margin-right: 0;
198
+ }
199
+ }
200
+
201
+ ##### Example 4
202
+
203
+ .my-class {
204
+ @include breakpoint(max-width 769px, 6) { // Use a 6 column grid (instead of the default 12)
205
+ @include span-columns(6);
206
+ }
207
+ }
208
+
209
+ // Compiled CSS
210
+
211
+ @media screen and (max-width: 769px) {
212
+ .my-class {
213
+ display: block;
214
+ float: left;
215
+ margin-right: 4.82916%;
216
+ width: 100%; // That's 6 columns of the total 6 specified for this media query
217
+ }
218
+ .my-class:last-child {
219
+ margin-right: 0;
220
+ }
221
+ }
222
+
223
+ For convenience, you can create a list variable to hold your media context (breakpoint/column-count) and use it throughout your code:
224
+
225
+ $mobile: max-width 480px 4; // Use a 4 column grid in mobile devices (requires all three arguments to work)
226
+
227
+ .my-class {
228
+ @include breakpoint($mobile) {
229
+ @include span-columns(2);
230
+ }
231
+ }
232
+
233
+ // Compiled CSS
234
+
235
+ @media screen and (max-width: 480px) {
236
+ .my-class {
237
+ display: block;
238
+ float: left;
239
+ margin-right: 7.42297%;
240
+ width: 46.28851%; // 2 columns of the total 4 in this media context
241
+ }
242
+ .my-class:last-child {
243
+ margin-right: 0;
244
+ }
245
+ }
246
+
247
+ Here is a summary of possible argument combinations:
248
+
249
+ // YAY
250
+ @include breakpoint(480px);
251
+ @include breakpoint(max-width 480px);
252
+ @include breakpoint(480px, 4);
253
+ @include breakpoint(max-width 480px, 4);
254
+ @include breakpoint(max-width 480px 4); // Shorthand syntax
255
+
256
+ // NAY
257
+ @include breakpoint(480px 4);
258
+ @include breakpoint(max-width 4);
259
+ @include breakpoint(max-width, 4);
260
+
261
+
262
+ ### Changing the defaults
263
+
264
+ All the default settings can be overridden, including ```$grid-columns``` and ```$max-width```. The complete list of settings can be found in the ```/settings``` subfolder. In order to override any of these settings, redefine the variable in your site-wide ```_variables.scss``` and make sure to import it *before* Neat (failing to do so will cause Neat to use the default values):
265
+
266
+ @import "bourbon/bourbon";
267
+ @import "variables";
268
+ @import "neat/neat";
269
+
270
+
271
+ Credits
272
+ ===
273
+
274
+ ![thoughtbot](http://thoughtbot.com/images/tm/logo.png)
275
+
276
+ Bourbon is maintained and funded by [thoughtbot, inc](http://thoughtbot.com/community). Tweet your questions or suggestions at [Kyle](https://twitter.com/kylefiedler) / [Reda](https://twitter.com/kaishin).
277
+
278
+ License
279
+ ===
280
+
281
+ Bourbon Neat is Copyright © 2012 thoughtbot. It is free software, and may be redistributed under the terms specified in the LICENSE file.
282
+
283
+
@@ -0,0 +1,18 @@
1
+ // Bourbon Neat 0.9 beta
2
+ // MIT Licensed
3
+ // Copyright (c) 2011 thoughtbot, inc.
4
+
5
+ // Custom Functions
6
+ @import "functions/line-height";
7
+ @import "functions/px-to-em";
8
+ @import "functions/grid";
9
+
10
+ // Default Settings
11
+ @import "settings/grid";
12
+ @import "settings/typography";
13
+
14
+ // The Grid
15
+ @import "grid/grid";
16
+
17
+ // Typography
18
+ @import "typography/typography";
@@ -0,0 +1,15 @@
1
+ @function container-span($span: $span) {
2
+ @if length($span) == 3 {
3
+ $container-columns: nth($span, 3);
4
+ @return $container-columns;
5
+ }
6
+
7
+ @else if length($span) == 2 {
8
+ $container-columns: nth($span, 2);
9
+ @return $container-columns;
10
+ }
11
+
12
+ @else {
13
+ @return $grid-columns;
14
+ }
15
+ }
@@ -0,0 +1,3 @@
1
+ @function em($pxval, $base: 16) {
2
+ @return #{$pxval / $base}em;
3
+ }
@@ -0,0 +1,152 @@
1
+ @if $border-box-sizing == true {
2
+ * {
3
+ @include box-sizing(border-box);
4
+ }
5
+ }
6
+
7
+ $fg-column: $column;
8
+ $fg-gutter: $gutter;
9
+ $fg-max-columns: $grid-columns;
10
+ $fg-max-width: $max-width;
11
+
12
+ // outer wrapper center container
13
+ @mixin outer-container() {
14
+ @include clearfix;
15
+ max-width: $fg-max-width;
16
+ text-align: left;
17
+ margin: {
18
+ left: auto;
19
+ right: auto;
20
+ }
21
+ }
22
+
23
+ // Grid span columns
24
+ @mixin span-columns($span: $columns of $container-columns, $display: block) {
25
+
26
+ $columns: nth($span, 1);
27
+ $container-columns: container-span($span);
28
+
29
+ @if $display == table {
30
+ display: table-cell;
31
+ padding-right: flex-gutter($container-columns);
32
+ width: flex-grid($columns, $container-columns) + flex-gutter($container-columns);
33
+
34
+ &:last-child {
35
+ padding-right: 0;
36
+ }
37
+ }
38
+
39
+ @else if $display == inline-block {
40
+ @include inline-block;
41
+ margin-right: flex-gutter($container-columns);
42
+ width: flex-grid($columns, $container-columns);
43
+
44
+ &:last-child {
45
+ margin-right: 0;
46
+ }
47
+ }
48
+
49
+ @else {
50
+ display: block;
51
+ float: left;
52
+ margin-right: flex-gutter($container-columns);
53
+ width: flex-grid($columns, $container-columns);
54
+
55
+ &:last-child {
56
+ margin-right: 0;
57
+ }
58
+ }
59
+ }
60
+
61
+ // Clearfix / row container
62
+ @mixin row($display: block) {
63
+ @include clearfix;
64
+ @if $display == table {
65
+ display: table;
66
+ }
67
+
68
+ @else {
69
+ display: block;
70
+ }
71
+ }
72
+
73
+ // Shift
74
+ @mixin shift($n-columns: 1) {
75
+ margin-left: $n-columns * flex-grid(1) + $n-columns * flex-gutter();
76
+ }
77
+
78
+
79
+ // Pad
80
+ @mixin pad($padding: flex-gutter()) {
81
+ padding: $padding;
82
+ }
83
+
84
+ // Remove element gutter
85
+ @mixin omega($display: block, $direction: right) {
86
+ @if $display == table {
87
+ padding-#{$direction}: 0;
88
+ }
89
+
90
+ @else {
91
+ margin-#{$direction}: 0;
92
+ }
93
+ }
94
+
95
+ @mixin nth-omega($nth, $display: block, $direction: right) {
96
+ @if $display == table {
97
+ &:nth-child(#{$nth}) {
98
+ padding-#{$direction}: 0;
99
+ }
100
+ }
101
+
102
+ @else {
103
+ &:nth-child(#{$nth}) {
104
+ margin-#{$direction}: 0;
105
+ }
106
+ }
107
+ }
108
+
109
+ // Fill 100% of parent
110
+ @mixin fill-parent() {
111
+ width: 100%;
112
+
113
+ @if $border-box-sizing == false {
114
+ @include box-sizing(border-box);
115
+ }
116
+ }
117
+
118
+ // Breakpoints
119
+ @mixin breakpoint($query:$feature $value $columns, $total-columns: $grid-columns) {
120
+
121
+ @if length($query) == 1 {
122
+ @media screen and ($default-feature: nth($query, 1)) {
123
+ $default-grid-columns: $grid-columns;
124
+ $grid-columns: $total-columns;
125
+ @content;
126
+ $grid-columns: $default-grid-columns;
127
+ }
128
+ }
129
+
130
+ @else if length($query) == 2 {
131
+ @media screen and (nth($query, 1): nth($query, 2)) {
132
+ $default-grid-columns: $grid-columns;
133
+ $grid-columns: $total-columns;
134
+ @content;
135
+ $grid-columns: $default-grid-columns;
136
+ }
137
+ }
138
+
139
+ @else if length($query) == 3 {
140
+ @media screen and (nth($query, 1): nth($query, 2)) {
141
+ $default-grid-columns: $grid-columns;
142
+ $grid-columns: nth($query, 3);
143
+ @content;
144
+ $grid-columns: $default-grid-columns;
145
+ }
146
+ }
147
+
148
+ @else {
149
+ @warn "Wrong number of arguments for breakpoint(). Read the documentation for more details.";
150
+ }
151
+ }
152
+
@@ -0,0 +1,6 @@
1
+ $column: golden-ratio(1em, 3) !default;
2
+ $gutter: golden-ratio(1em, 1) !default;
3
+ $grid-columns: 12 !default;
4
+ $max-width: golden-ratio(1em, 9) !default;
5
+ $border-box-sizing: true !default; // Makes all elements have border-box layout
6
+ $default-feature: min-width;
@@ -0,0 +1,3 @@
1
+ $body-font-size: 1em !default;
2
+ $body-line-height: golden-ratio(1em, 1) !default;
3
+ $body-font-family: $helvetica !default;
@@ -0,0 +1,4 @@
1
+ body {
2
+ font: $body-font-size $body-font-family;
3
+ line-height: $body-line-height;
4
+ }
@@ -0,0 +1,5 @@
1
+ module Neat
2
+ class Engine < Rails::Engine
3
+ # auto wire
4
+ end
5
+ end
@@ -0,0 +1,3 @@
1
+ module Neat
2
+ VERSION = '0.4.2'
3
+ end
data/lib/neat.rb ADDED
@@ -0,0 +1,15 @@
1
+ module Neat
2
+ if defined?(Rails) && defined?(Rails::Engine)
3
+ class Engine < ::Rails::Engine
4
+ require 'neat/engine'
5
+ end
6
+
7
+ module Rails
8
+ class Railtie < ::Rails::Railtie
9
+ rake_tasks do
10
+ load "tasks/install.rake"
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,23 @@
1
+ # Needed for pre-3.1.
2
+
3
+ require "fileutils"
4
+ require "find"
5
+
6
+ namespace :bourbon do
7
+ namespace :neat do
8
+ desc "Copy Neat's files to the Rails assets directory."
9
+ task :install, [:sass_path] do |t, args|
10
+ args.with_defaults(:sass_path => 'public/stylesheets/sass')
11
+ source_root = File.expand_path(File.join(File.dirname(__FILE__), '..', '..'))
12
+ FileUtils.mkdir_p("#{Rails.root}/#{args.sass_path}/neat")
13
+ FileUtils.cp_r("#{source_root}/app/assets/stylesheets/.", "#{Rails.root}/#{args.sass_path}/neat", { :preserve => true })
14
+
15
+ Find.find("#{Rails.root}/#{args.sass_path}/neat") do |path|
16
+ if path.end_with?(".css.scss")
17
+ path_without_css_extension = path.gsub(/\.css\.scss$/, ".scss")
18
+ FileUtils.mv(path, path_without_css_extension)
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
data/neat.gemspec ADDED
@@ -0,0 +1,29 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path('../lib', __FILE__)
3
+ require 'neat/version'
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "neat"
7
+ s.version = Neat::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ["Kyle Fiedler", "Reda Lemeden", "Joel Oliveira"]
10
+ s.email = ["support@thoughtbot.com"]
11
+ s.homepage = "https://github.com/thoughtbot/neat"
12
+ s.summary = "A fluid grid framework on top of Bourbon"
13
+ s.description = <<-DESC
14
+ Neat is an open source fluid grid framework built on top of Bourbon with the aim of being easy enough to use out of the box and flexible enough to customize down the road.
15
+ DESC
16
+
17
+ s.rubyforge_project = "neat"
18
+
19
+ s.files = `git ls-files`.split("\n")
20
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
21
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
22
+ s.require_paths = ["lib"]
23
+
24
+ s.add_dependency('sass', '>= 3.2')
25
+ s.add_dependency('bourbon', '>= 2.1')
26
+
27
+ s.add_development_dependency('aruba', '~> 0.4')
28
+ s.add_development_dependency('rake')
29
+ end
metadata ADDED
@@ -0,0 +1,132 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: neat
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.4.2
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Kyle Fiedler
9
+ - Reda Lemeden
10
+ - Joel Oliveira
11
+ autorequire:
12
+ bindir: bin
13
+ cert_chain: []
14
+ date: 2012-08-31 00:00:00.000000000 Z
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: sass
18
+ requirement: !ruby/object:Gem::Requirement
19
+ none: false
20
+ requirements:
21
+ - - ! '>='
22
+ - !ruby/object:Gem::Version
23
+ version: '3.2'
24
+ type: :runtime
25
+ prerelease: false
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ none: false
28
+ requirements:
29
+ - - ! '>='
30
+ - !ruby/object:Gem::Version
31
+ version: '3.2'
32
+ - !ruby/object:Gem::Dependency
33
+ name: bourbon
34
+ requirement: !ruby/object:Gem::Requirement
35
+ none: false
36
+ requirements:
37
+ - - ! '>='
38
+ - !ruby/object:Gem::Version
39
+ version: '2.1'
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ none: false
44
+ requirements:
45
+ - - ! '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '2.1'
48
+ - !ruby/object:Gem::Dependency
49
+ name: aruba
50
+ requirement: !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ~>
54
+ - !ruby/object:Gem::Version
55
+ version: '0.4'
56
+ type: :development
57
+ prerelease: false
58
+ version_requirements: !ruby/object:Gem::Requirement
59
+ none: false
60
+ requirements:
61
+ - - ~>
62
+ - !ruby/object:Gem::Version
63
+ version: '0.4'
64
+ - !ruby/object:Gem::Dependency
65
+ name: rake
66
+ requirement: !ruby/object:Gem::Requirement
67
+ none: false
68
+ requirements:
69
+ - - ! '>='
70
+ - !ruby/object:Gem::Version
71
+ version: '0'
72
+ type: :development
73
+ prerelease: false
74
+ version_requirements: !ruby/object:Gem::Requirement
75
+ none: false
76
+ requirements:
77
+ - - ! '>='
78
+ - !ruby/object:Gem::Version
79
+ version: '0'
80
+ description: ! 'Neat is an open source fluid grid framework built on top of Bourbon
81
+ with the aim of being easy enough to use out of the box and flexible enough to customize
82
+ down the road.
83
+
84
+ '
85
+ email:
86
+ - support@thoughtbot.com
87
+ executables: []
88
+ extensions: []
89
+ extra_rdoc_files: []
90
+ files:
91
+ - .gitignore
92
+ - Gemfile
93
+ - LICENSE
94
+ - README.md
95
+ - app/assets/stylesheets/_neat.scss
96
+ - app/assets/stylesheets/functions/_grid.scss
97
+ - app/assets/stylesheets/functions/_line-height.scss
98
+ - app/assets/stylesheets/functions/_px-to-em.scss
99
+ - app/assets/stylesheets/grid/_grid.scss
100
+ - app/assets/stylesheets/settings/_grid.scss
101
+ - app/assets/stylesheets/settings/_typography.scss
102
+ - app/assets/stylesheets/typography/_typography.scss
103
+ - lib/neat.rb
104
+ - lib/neat/engine.rb
105
+ - lib/neat/version.rb
106
+ - lib/tasks/install.rake
107
+ - neat.gemspec
108
+ homepage: https://github.com/thoughtbot/neat
109
+ licenses: []
110
+ post_install_message:
111
+ rdoc_options: []
112
+ require_paths:
113
+ - lib
114
+ required_ruby_version: !ruby/object:Gem::Requirement
115
+ none: false
116
+ requirements:
117
+ - - ! '>='
118
+ - !ruby/object:Gem::Version
119
+ version: '0'
120
+ required_rubygems_version: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ requirements: []
127
+ rubyforge_project: neat
128
+ rubygems_version: 1.8.22
129
+ signing_key:
130
+ specification_version: 3
131
+ summary: A fluid grid framework on top of Bourbon
132
+ test_files: []