neat 1.7.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. checksums.yaml +5 -5
  2. data/.circleci/config.yml +34 -0
  3. data/.github/ISSUE_TEMPLATE.md +22 -0
  4. data/.github/PULL_REQUEST_TEMPLATE.md +8 -0
  5. data/.gitignore +4 -2
  6. data/.hound.yml +5 -0
  7. data/.npmignore +20 -0
  8. data/.scss-lint.yml +239 -0
  9. data/.tool-versions +2 -0
  10. data/CHANGELOG.md +388 -0
  11. data/CODE_OF_CONDUCT.md +6 -0
  12. data/CONTRIBUTING.md +16 -1
  13. data/Gemfile +1 -2
  14. data/Gulpfile.js +42 -0
  15. data/{LICENSE → LICENSE.md} +8 -10
  16. data/README.md +138 -214
  17. data/RELEASING.md +27 -0
  18. data/Rakefile +3 -17
  19. data/bin/neat +2 -2
  20. data/contrib/base/_variables.scss +8 -0
  21. data/contrib/index.html +90 -0
  22. data/contrib/patterns/_box.scss +11 -0
  23. data/contrib/patterns/_global.scss +32 -0
  24. data/contrib/patterns/_grid-collapse.scss +3 -0
  25. data/contrib/patterns/_grid-media.scss +36 -0
  26. data/contrib/patterns/_grid-nested.scss +12 -0
  27. data/contrib/patterns/_grid-push.scss +7 -0
  28. data/contrib/patterns/_grid-shift.scss +7 -0
  29. data/contrib/patterns/_grid-visual.scss +3 -0
  30. data/contrib/patterns/_grid.scss +39 -0
  31. data/contrib/styles.scss +13 -0
  32. data/core/_neat.scss +26 -0
  33. data/core/neat/functions/_neat-append-grid-visual.scss +21 -0
  34. data/core/neat/functions/_neat-column-default.scss +23 -0
  35. data/core/neat/functions/_neat-column-ratio.scss +24 -0
  36. data/core/neat/functions/_neat-column-width.scss +25 -0
  37. data/core/neat/functions/_neat-float-direction.scss +22 -0
  38. data/core/neat/functions/_neat-merge-defaults.scss +23 -0
  39. data/core/neat/functions/_neat-opposite-direction.scss +22 -0
  40. data/core/neat/functions/_neat-parse-columns.scss +22 -0
  41. data/core/neat/functions/_neat-parse-media.scss +20 -0
  42. data/core/neat/functions/_retrieve-neat-settings.scss +19 -0
  43. data/core/neat/mixins/_grid-collapse.scss +35 -0
  44. data/core/neat/mixins/_grid-column.scss +39 -0
  45. data/core/neat/mixins/_grid-container.scss +31 -0
  46. data/core/neat/mixins/_grid-media.scss +88 -0
  47. data/core/neat/mixins/_grid-push.scss +37 -0
  48. data/core/neat/mixins/_grid-shift.scss +36 -0
  49. data/core/neat/mixins/_grid-visual.scss +41 -0
  50. data/core/neat/settings/_settings.scss +74 -0
  51. data/eyeglass-exports.js +7 -0
  52. data/index.js +7 -0
  53. data/lib/neat/generator.rb +43 -26
  54. data/lib/neat/version.rb +1 -1
  55. data/lib/neat.rb +6 -11
  56. data/neat.gemspec +26 -31
  57. data/package-lock.json +5960 -0
  58. data/package.json +47 -0
  59. data/spec/.keep +0 -0
  60. data/spec/fixtures/_setup.scss +1 -0
  61. data/spec/fixtures/functions/neat-column-default.scss +22 -0
  62. data/spec/fixtures/functions/neat-column-width.scss +30 -0
  63. data/spec/fixtures/functions/neat-float-direction.scss +17 -0
  64. data/spec/fixtures/functions/neat-opposite-direction.scss +17 -0
  65. data/spec/fixtures/functions/neat-parse-media.scss +9 -0
  66. data/spec/fixtures/functions/retrieve-neat-settings.scss +22 -0
  67. data/spec/fixtures/mixins/grid-collapse.scss +14 -0
  68. data/spec/fixtures/mixins/grid-column.scss +57 -0
  69. data/spec/fixtures/mixins/grid-container.scss +5 -0
  70. data/spec/fixtures/mixins/grid-media.scss +45 -0
  71. data/spec/fixtures/mixins/grid-push.scss +38 -0
  72. data/spec/fixtures/mixins/grid-shift.scss +38 -0
  73. data/spec/neat/functions/neat_column_default_spec.rb +35 -0
  74. data/spec/neat/functions/neat_column_width_spec.rb +47 -0
  75. data/spec/neat/functions/neat_float_direction_spec.rb +23 -0
  76. data/spec/neat/functions/neat_opposite_direction_spec.rb +23 -0
  77. data/spec/neat/functions/neat_parse_media_spec.rb +23 -0
  78. data/spec/neat/functions/retrieve_neat_settings_spec.rb +35 -0
  79. data/spec/neat/mixins/grid_collapse_spec.rb +26 -0
  80. data/spec/neat/mixins/grid_column_spec.rb +101 -0
  81. data/spec/neat/mixins/grid_container_spec.rb +17 -0
  82. data/spec/neat/mixins/grid_media_spec.rb +39 -0
  83. data/spec/neat/mixins/grid_push_spec.rb +59 -0
  84. data/spec/neat/mixins/grid_shift_spec.rb +59 -0
  85. data/spec/spec_helper.rb +5 -8
  86. data/spec/support/matchers/be_contained_in.rb +1 -1
  87. data/spec/support/matchers/have_rule.rb +8 -6
  88. data/spec/support/matchers/have_ruleset.rb +20 -0
  89. data/spec/support/matchers/have_value.rb +9 -7
  90. data/spec/support/parser_support.rb +8 -1
  91. data/spec/support/sass_support.rb +3 -3
  92. metadata +98 -148
  93. data/.rspec +0 -2
  94. data/.travis.yml +0 -5
  95. data/NEWS.md +0 -47
  96. data/app/assets/stylesheets/_neat-helpers.scss +0 -8
  97. data/app/assets/stylesheets/_neat.scss +0 -23
  98. data/app/assets/stylesheets/functions/_new-breakpoint.scss +0 -49
  99. data/app/assets/stylesheets/functions/_private.scss +0 -108
  100. data/app/assets/stylesheets/grid/_box-sizing.scss +0 -11
  101. data/app/assets/stylesheets/grid/_direction-context.scss +0 -31
  102. data/app/assets/stylesheets/grid/_display-context.scss +0 -26
  103. data/app/assets/stylesheets/grid/_fill-parent.scss +0 -22
  104. data/app/assets/stylesheets/grid/_media.scss +0 -92
  105. data/app/assets/stylesheets/grid/_omega.scss +0 -91
  106. data/app/assets/stylesheets/grid/_outer-container.scss +0 -36
  107. data/app/assets/stylesheets/grid/_pad.scss +0 -23
  108. data/app/assets/stylesheets/grid/_private.scss +0 -35
  109. data/app/assets/stylesheets/grid/_row.scss +0 -53
  110. data/app/assets/stylesheets/grid/_shift.scss +0 -48
  111. data/app/assets/stylesheets/grid/_span-columns.scss +0 -90
  112. data/app/assets/stylesheets/grid/_to-deprecate.scss +0 -105
  113. data/app/assets/stylesheets/grid/_visual-grid.scss +0 -40
  114. data/app/assets/stylesheets/settings/_disable-warnings.scss +0 -11
  115. data/app/assets/stylesheets/settings/_grid.scss +0 -53
  116. data/app/assets/stylesheets/settings/_visual-grid.scss +0 -25
  117. data/bower.json +0 -22
  118. data/lib/neat/engine.rb +0 -5
  119. data/lib/tasks/install.rake +0 -21
  120. data/sache.json +0 -5
  121. data/spec/neat/columns_spec.rb +0 -73
  122. data/spec/neat/container_spec.rb +0 -21
  123. data/spec/neat/default_spec.rb +0 -15
  124. data/spec/neat/direction_spec.rb +0 -19
  125. data/spec/neat/display_spec.rb +0 -19
  126. data/spec/neat/media_spec.rb +0 -55
  127. data/spec/neat/new_breakpoint_spec.rb +0 -17
  128. data/spec/neat/omega_spec.rb +0 -43
  129. data/spec/neat/pad_spec.rb +0 -32
  130. data/spec/neat/row_spec.rb +0 -39
  131. data/spec/neat/shift_spec.rb +0 -41
  132. data/spec/support/bourbon_support.rb +0 -9
  133. data/test/_setup.scss +0 -3
  134. data/test/default.scss +0 -1
  135. data/test/direction-context.scss +0 -13
  136. data/test/display-context.scss +0 -15
  137. data/test/media.scss +0 -39
  138. data/test/new-breakpoint.scss +0 -13
  139. data/test/omega.scss +0 -25
  140. data/test/outer-container.scss +0 -11
  141. data/test/pad.scss +0 -17
  142. data/test/row.scss +0 -26
  143. data/test/shift.scss +0 -36
  144. data/test/span-columns.scss +0 -21
data/README.md CHANGED
@@ -1,282 +1,206 @@
1
- <img src="http://neat.bourbon.io/images/logotype.svg" width="250" />
1
+ [<img src="http://images.thoughtbot.com/bourbon/neat-logo-v2.svg" width="200" alt="Neat logo">][Neat]
2
2
 
3
- [![Gem Version](http://img.shields.io/gem/v/neat.svg?style=flat)](https://rubygems.org/gems/neat) [![Travis](http://img.shields.io/travis/thoughtbot/neat.svg?style=flat)](https://travis-ci.org/thoughtbot/neat)
4
- [![Code Climate](http://img.shields.io/codeclimate/github/thoughtbot/neat.svg?style=flat)](https://codeclimate.com/github/thoughtbot/neat)
5
- [![IRC](http://img.shields.io/badge/freenode-%23bourbon--neat-ae3dd2.svg?style=flat)](#)
6
- [![Stack Overflow](http://img.shields.io/badge/stack%20overflow-neat-ae3dd2.svg?style=flat)](http://stackoverflow.com/questions/tagged/neat)
3
+ [![Reviewed by Hound](https://img.shields.io/badge/Reviewed_by-Hound-8E64B0.svg)](https://houndci.com)
7
4
 
8
- ***
5
+ ## A lightweight and flexible Sass grid
9
6
 
10
- ## A lightweight, semantic grid framework built on top of Bourbon
7
+ [Neat] is a fluid grid framework with the aim of being easy enough to
8
+ use out of the box and flexible enough to customize down the road.
11
9
 
12
- Neat is a fluid grid framework built on [Bourbon](http://bourbon.io) with the aim of being easy enough to use out of the box and flexible enough to customize down the road.
10
+ [Neat]: https://neat.bourbon.io/
13
11
 
14
- #### [Documentation & Demo](http://neat.bourbon.io)
12
+ ### Helpful Links
15
13
 
16
- #### [Changelog](https://github.com/thoughtbot/neat/releases)
14
+ - [Demos](https://neat.bourbon.io/examples/)
15
+ - [Documentation](https://neat.bourbon.io/docs/latest/)
16
+ - [Change log](CHANGELOG.md)
17
+ - [Twitter](https://twitter.com/bourbonsass)
18
+ - [Stack Overflow](https://stackoverflow.com/questions/tagged/neat)
19
+ - [Neat 2.0 Building the future of floated Sass grids](https://robots.thoughtbot.com/building-the-future-of-floated-css-grids) by [@whmii](http://social.mcmahan.me)
20
+ - [Getting started with Neat 2.0, a lightweight and flexible Sass grid](https://robots.thoughtbot.com/the-release-of-neat-2-0-a-lightweight-and-flexible-sass-grid) by [@whmii](http://social.mcmahan.me)
17
21
 
18
- ## Requirements
19
-
20
- - [Sass](https://github.com/sass/sass) 3.3+ ([Use Neat
21
- 1.5.1](#installing-older-versions-of-neat) if you are still tied to Sass 3.2)
22
- - [Bourbon](https://github.com/thoughtbot/bourbon) 3.1+
23
-
24
- ## Installation
25
-
26
- Neat uses the [RubyGems](https://rubygems.org) package manager to easily generate a `neat` directory with all of the necessary files.
27
-
28
- 1. Install the Neat gem:
29
-
30
- ```bash
31
- gem install neat
32
- ```
33
-
34
- 2. Install or update Neat’s dependencies:
35
-
36
- ```bash
37
- gem install sass # or gem update sass
38
- ```
39
- ```bash
40
- gem install bourbon # or gem update bourbon
41
- ```
42
-
43
- 3. Install the Neat library into the current directory:
22
+ ## Table of Contents
44
23
 
45
- ```bash
46
- bourbon install # if not already installed
47
- ```
48
- ```bash
49
- neat install
50
- ```
24
+ - [Requirements](#requirements)
25
+ - [Installation](#installation)
26
+ - [Command Line Interface](#command-line-interface)
27
+ - [The Bourbon Family](#the-bourbon-family)
28
+ - [Contributing](#contributing)
29
+ - [License](#license)
30
+ - [About](#about)
51
31
 
52
- 4. Import Neat in your stylesheet, after Bourbon:
53
-
54
- ```scss
55
- @import "bourbon/bourbon";
56
- @import "neat/neat";
57
- ```
58
-
59
- It’s not recommended to add or modify the Neat files so that you can update them easily.
60
-
61
- ## Installation for Ruby on Rails
62
-
63
- 1. Add Neat to your Gemfile:
64
-
65
- ```ruby
66
- gem 'neat'
67
- ```
68
-
69
- 2. Then run:
70
-
71
- ```bash
72
- bundle install
73
- ```
32
+ ## Requirements
74
33
 
75
- If you see the error `Bundler could not find compatible versions for gem "sass"`, run:
34
+ - [Sass] 3.4+ or [LibSass] 3.3+
76
35
 
77
- ```bash
78
- bundle update sass
79
- ```
36
+ [Sass]: https://github.com/sass/sass
37
+ [LibSass]: https://github.com/sass/libsass
80
38
 
81
- 3. Import Neat in your `application.css.scss`, after Bourbon:
39
+ ## Installation
82
40
 
83
- ```scss
84
- @import "bourbon";
85
- @import "neat";
86
- ```
41
+ 1. Install the Neat gem using the [RubyGems] package manager:
87
42
 
88
- ## Installing older versions of Neat
43
+ ```bash
44
+ gem install neat
45
+ ```
89
46
 
90
- 1. Uninstall any Neat gem versions you already have:
47
+ 1. Install or update Neat’s dependencies:
91
48
 
92
- ```bash
93
- gem uninstall neat
94
- ```
49
+ ```bash
50
+ gem install sass # or gem update sass
51
+ ```
95
52
 
96
- 2. Reinstall the Neat gem, using the `-v` flag to specify the version you need:
53
+ **Pro Tip:** You can target installation into a specific directory using the
54
+ `path` flag:
97
55
 
98
- ```bash
99
- gem install neat -v 1.7.0
100
- ```
56
+ ```bash
57
+ neat install --path my/custom/path/
58
+ ```
101
59
 
102
- 3. Follow the [instructions above](#installation) to install Neat into your project.
60
+ 1. Install the Neat library into the current directory:
103
61
 
104
- ## Command line interface
62
+ ```bash
63
+ neat install
64
+ ```
105
65
 
106
- ```bash
107
- neat install
108
- neat update
109
- neat remove
110
- ```
66
+ 1. Import Neat in your stylesheet:
111
67
 
112
- More information can be found in the [wiki](https://github.com/thoughtbot/neat/wiki/Command-Line-Interface).
68
+ ```scss
69
+ @import "neat/neat";
70
+ ```
113
71
 
114
- ## Using Neat
72
+ It’s not recommended to add or modify the Neat files so that you can update
73
+ them easily.
115
74
 
116
- First off, if you are planning to override the default grid settings (12 columns), it is recommended to create a `_grid-settings.scss` file for that purpose. Make sure to import it right *before* importing Neat:
75
+ [RubyGems]: https://rubygems.org
117
76
 
118
- ```scss
119
- @import "bourbon/bourbon"; // or "bourbon" when in Rails
120
- @import "grid-settings";
121
- @import "neat/neat"; // or "neat" when in Rails
122
- ```
77
+ ### Installation for Ruby on Rails 4.2+
123
78
 
124
- In your newly created `_grid-settings.scss`, import `neat-helpers` if you are planning to use `new-breakpoint()`, then define your new variables:
79
+ 1. Add Neat to your Gemfile:
125
80
 
126
- ```scss
127
- @import "neat/neat-helpers"; // or "neat-helpers" when in Rails
81
+ ```ruby
82
+ gem "neat"
83
+ ```
128
84
 
129
- // Change the grid settings
130
- $column: 90px;
131
- $gutter: 30px;
132
- $grid-columns: 10;
133
- $max-width: em(1088);
85
+ 1. Then run:
134
86
 
135
- // Define your breakpoints
136
- $tablet: new-breakpoint(max-width 768px 8);
137
- $mobile: new-breakpoint(max-width 480px 4);
138
- ```
87
+ ```bash
88
+ bundle install
89
+ ```
139
90
 
140
- See the [docs](http://neat.bourbon.io/docs/#variables) for a full list of settings.
91
+ If you see the error `Bundler could not find compatible versions for gem
92
+ "sass"`, run:
141
93
 
142
- Next, include the `outer-container` mixin in the topmost container (to which the `max-width` setting will be applied):
94
+ ```bash
95
+ bundle update sass
96
+ ```
143
97
 
144
- ```scss
145
- div.container {
146
- @include outer-container;
147
- }
148
- ```
98
+ 1. Import Neat in your `application.scss`:
149
99
 
150
- Then use `span-columns` on any element to specify the number of columns it should span:
100
+ ```scss
101
+ @import "neat";
102
+ ```
151
103
 
152
- ```scss
153
- div.element {
154
- @include span-columns(6);
155
- }
156
- ```
104
+ It should be noted that `@import` rules are not compatible with Sprockets
105
+ directives. You need to use one or the other.
157
106
 
158
- 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:
107
+ ### Installing with npm and using a Node-based asset pipeline
159
108
 
160
- ```scss
161
- div.container {
162
- @include outer-container;
109
+ 1. Add Neat as a dependency:
163
110
 
164
- div.parent-element {
165
- @include span-columns(8);
111
+ ```bash
112
+ npm install --save bourbon-neat
113
+ ```
166
114
 
167
- div.element {
168
- @include span-columns(6 of 8);
169
- }
170
- }
171
- }
172
- ```
115
+ 1. If you’re using [eyeglass], skip to Step 3. Otherwise, you’ll need to add
116
+ Neat to your node-sass `includePaths` option.
117
+ `require("bourbon-neat").includePaths` is an array of directories that you
118
+ should pass to node-sass. How you do this depends on how node-sass is
119
+ integrated into your project.
173
120
 
174
- To make your layout responsive, use the `media()` mixin to modify both the grid and the layout:
175
-
176
- ```scss
177
- .my-class {
178
- @include media($mobile) { // As defined in _grid-settings.scss
179
- @include span-columns(2);
180
- }
181
- }
182
-
183
- // Compiled CSS
184
- @media screen and (max-width: 480px) {
185
- .my-class {
186
- display: block;
187
- float: left;
188
- margin-right: 7.42297%;
189
- width: 46.28851%; // 2 columns of the total 4 in this media context
190
- }
191
- .my-class:last-child {
192
- margin-right: 0;
193
- }
194
- }
195
- ```
121
+ 1. Import Neat into your Sass files:
196
122
 
197
- By setting `$visual-grid` to `true`, you can display the base grid in the background (default) or as an overlay. You can even change the color and opacity of the grid-lines by overriding the default settings as detailed in the section below.
123
+ ```scss
124
+ @import "neat";
125
+ ```
198
126
 
199
- The visual grid reflects the changes applied to the grid via the `new-breakpoint()` mixin, as long as the media contexts are defined *before* importing Neat.
127
+ [eyeglass]: http://eyeglass.rocks
200
128
 
201
- ## FAQ
129
+ ### Installing older versions of Neat
202
130
 
203
- #### How do I use `omega()` in a mobile-first workflow?
131
+ 1. Uninstall any Neat gem versions you already have:
204
132
 
205
- Using `omega()` with an `nth-child` pseudo selector in a mobile-first workflow will cause the style to be applied to wider-viewport media queries as well. That
206
- is the cascading nature of CSS.
133
+ ```bash
134
+ gem uninstall neat
135
+ ```
207
136
 
208
- One solution would be to provide an `omega-reset()` mixin that negates the effect of `omega()` on that specific `nth-child` pseudo selector. While this is
209
- often the most suggested solution, it is also a lazy hack that outputs ugly code and can quickly get out of hand in complex layouts. As a general rule, having to *undo* CSS styles is a sign of poor stylesheet architecture (more about [CSS code smells](http://csswizardry.com/2012/11/code-smells-in-css/)).
137
+ 1. Reinstall the Neat gem, using the `-v` flag to specify the version you need:
210
138
 
211
- The other, more elegant, solution is to use mutually exclusive media queries, also referred to as [media-query
212
- splitting](http://simurai.com/blog/2012/08/29/media-query-splitting). This would guarantee that `omega()` styles are only applied where desired.
139
+ ```bash
140
+ gem install neat -v 1.8.1
141
+ ```
213
142
 
214
- ```scss
215
- $first-breakpoint-value: 400px;
216
- $second-breakpoint-value: 700px;
217
- $medium-viewport: new-breakpoint(min-width em($first-breakpoint-value) max-width em($second-breakpoint-value));
218
- $large-viewport: new-breakpoint(min-width em($second-breakpoint-value + 1));
143
+ 1. Follow the [instructions above](#installation) to install Neat into your
144
+ project.
219
145
 
220
- .element {
221
- @include media($medium-viewport) {
222
- @include span-columns(6);
223
- @include omega(2n);
224
- }
146
+ ## Command Line Interface
225
147
 
226
- @include media($large-viewport) {
227
- @include span-columns(4);
228
- @include omega(3n);
229
- }
230
- }
148
+ ```bash
149
+ neat [options]
231
150
  ```
232
151
 
233
- If, for some reason, you still think that `omega-reset` is the only way you want to go, check out Josh Fry’s [omega-reset](http://joshfry.me/blog/2013/05/13/omega-reset-for-bourbon-neat).
234
-
235
- #### Why are the elements not properly aligned with the visual grid?
236
-
237
- The visual grid is built using CSS gradients whose stops might contain decimal values depending on the default settings of your grid. In order to render the gradient, browsers round the pixel values since they can’t deal with pixel fractions.
152
+ ### Options
238
153
 
239
- As a result the viusal grid might be few pixels off in some browsers. The result is also inconsistent across browsers. For best results, preview your website on Firefox as it renders closest to the expected outcome.
154
+ | Option | Description |
155
+ | :---------------- | :------------------------ |
156
+ | `-h`, `--help` | Show help |
157
+ | `-v`, `--version` | Show the version number |
158
+ | `--path` | Specify a custom path |
159
+ | `--force` | Force install (overwrite) |
240
160
 
241
- At this point, writing an internal rounding mechanism is not high priority.
161
+ ### Commands
242
162
 
243
- #### Framework X has this feature that Neat seems to be missing. Can you add it?
163
+ | Command | Description |
164
+ | :------------- | :------------------------------------------------- |
165
+ | `neat install` | Install Neat into the current directory |
166
+ | `neat update` | Overwrite and update Neat in the current directory |
167
+ | `neat remove` | Removes Neat from the current directory |
168
+ | `neat help` | Show help |
169
+ | `neat version` | Show the version number |
244
170
 
245
- Unless you [open a pull request](https://github.com/thoughtbot/neat/compare/), the answer is most likely going to be no. Neat is lightweight and simple compared to other grid frameworks, and strives to remain so. We have plans for adding new features in future versions of the framework, but these will be most likely to support new ways of working with layouts on the Web, not patches to existing ones.
171
+ ## The Bourbon family
246
172
 
247
- ## Documentation
173
+ - [Bourbon]: A lightweight Sass tool set
174
+ - [Bitters]: Scaffold styles, variables and structure for Bourbon projects
248
175
 
249
- - [Full documentation](http://thoughtbot.github.io/neat-docs/latest/) (latest)
250
- - Neat documentation is now available by default in [Dash](http://kapeli.com/dash)
176
+ [Bourbon]: https://github.com/thoughtbot/bourbon
177
+ [Bitters]: https://github.com/thoughtbot/bitters
251
178
 
252
- ## Links
179
+ ## Contributing
253
180
 
254
- - Ask questions on [Stack Overflow](http://stackoverflow.com/questions/tagged/neat). Don’t forget to tag them `bourbon` and `neat`.
255
- - Suggest features or file bugs in [Issues](https://github.com/thoughtbot/neat/issues).
256
- - Join `#bourbon-neat` on `irc.freenode.net`.
181
+ See the [contributing] document. Thank you, [contributors]!
257
182
 
258
- ## Browser support
183
+ [contributing]: CONTRIBUTING.md
184
+ [contributors]: https://github.com/thoughtbot/neat/graphs/contributors
259
185
 
260
- - Chrome 4.0+
261
- - Firefox 3.5+
262
- - Internet Explorer 9+ (visual grid is IE 10 only)
263
- - Internet Explorer 8 with [selectivizr](http://selectivizr.com) (no `media()` support)
264
- - Opera 9.5+
265
- - Safari 4.0+
186
+ ## License
266
187
 
267
- ## The Bourbon family
188
+ Neat is copyright © 2012 [thoughtbot, inc.][thoughtbot] It is free software, and
189
+ may be redistributed under the terms specified in the [license].
268
190
 
269
- - [Bourbon](http://bourbon.io): A simple and lightweight mixin library for Sass
270
- - [Neat](http://neat.bourbon.io): A lightweight semantic grid framework for Sass and Bourbon
271
- - [Bitters](http://bitters.bourbon.io): Scaffold styles, variables and structure for Bourbon projects
272
- - [Refills](http://refills.bourbon.io): Prepackaged patterns and components, built on top of Bourbon, Bitters & Neat
191
+ [license]: LICENSE.md
273
192
 
274
- ## Credits
193
+ ## About
275
194
 
276
- ![thoughtbot](http://thoughtbot.com/images/tm/logo.png)
195
+ Neat is maintained by the thoughtbot design team. It is funded by
196
+ [thoughtbot, inc.][thoughtbot] and the names and logos for thoughtbot are
197
+ trademarks of thoughtbot, inc.
277
198
 
278
- Neat is maintained and funded by [thoughtbot, inc](http://thoughtbot.com). Tweet your questions or suggestions to [@bourbonsass](https://twitter.com/bourbonsass) and while you’re at it follow us too.
199
+ [![thoughtbot logo](https://presskit.thoughtbot.com/images/thoughtbot-logo-for-readmes.svg)][thoughtbot]
279
200
 
280
- ## License
201
+ We love open-source software! See [our other projects][community] or
202
+ [hire us][hire] to design, develop, and grow your product.
281
203
 
282
- Copyright © 2012–2014 [thoughtbot, inc](http://thoughtbot.com). Neat is free software, and may be redistributed under the terms specified in the [license](LICENSE.md).
204
+ [thoughtbot]: https://thoughtbot.com?utm_source=github
205
+ [community]: https://thoughtbot.com/community?utm_source=github
206
+ [hire]: https://thoughtbot.com/hire-us?utm_source=github
data/RELEASING.md ADDED
@@ -0,0 +1,27 @@
1
+ # Releasing
2
+
3
+ 1. Update the version number in these places:
4
+ - `lib/neat/version.rb`
5
+ - `core/_neat.scss`
6
+ - `package.json`
7
+
8
+ 1. Update `CHANGELOG.md`
9
+
10
+ 1. Commit changes. Use the convention “Neat vX.X.X” in your commit message.
11
+ There shouldn’t be code changes, and thus CI doesn’t need to run.
12
+
13
+ 1. Run `bundle exec rake release`, which tags the release, pushes the tag to GitHub, and
14
+ pushes the gem to RubyGems.org.
15
+
16
+ 1. Run `npm publish`, which pushes the new version to npm’s registry (if
17
+ releasing a pre-release, run `npm publish --tag beta`).
18
+
19
+ 1. Draft a [new GitHub release].
20
+
21
+ 1. Re-generate and publish the [documentation website].
22
+
23
+ 1. Announce the new release, making sure to say “thank you” to the contributors
24
+ who helped shape this version!
25
+
26
+ [new GitHub release]: https://github.com/thoughtbot/neat/releases/new
27
+ [documentation website]: https://github.com/thoughtbot/neat.bourbon.io
data/Rakefile CHANGED
@@ -1,22 +1,8 @@
1
- require 'rubygems'
2
- require 'bundler'
3
- require 'rspec/core/rake_task'
1
+ require "bundler"
2
+ require "rspec/core/rake_task"
3
+
4
4
  Bundler::GemHelper.install_tasks
5
5
 
6
6
  RSpec::Core::RakeTask.new(:spec)
7
7
 
8
8
  task :default => :spec
9
-
10
- task :test do
11
- puts "Creating a Bourbon directory..."
12
- `bourbon install --path test`
13
- puts "Generating CSS..."
14
- `sass -I . --watch test:css/ --style expanded`
15
- end
16
-
17
- task :clean do
18
- puts "Deleting Bourbon directory..."
19
- `rm -rf test/bourbon`
20
- puts "Deleting generated CSS..."
21
- `rm -rf css/`
22
- end
data/bin/neat CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require "neat"
3
+ require File.dirname(__FILE__) + "/../lib/neat.rb"
4
4
 
5
- Neat::Generator.new(ARGV).run
5
+ Neat::Generator.start
@@ -0,0 +1,8 @@
1
+ $color-neat-blue: #53aee0;
2
+ $color-neat-orange: #ff7c56;
3
+ $color-white: #fff;
4
+
5
+ $neat-grid: (
6
+ columns: 12,
7
+ gutter: 20px,
8
+ );
@@ -0,0 +1,90 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
6
+ <meta name="viewport" content="width=device-width,initial-scale=1">
7
+ <title>Have fun ❤︎</title>
8
+ <link rel="stylesheet" href="styles.css">
9
+ </head>
10
+ <body>
11
+ <header role="banner">
12
+ <h1>
13
+ Hey there! Thanks for contributing to
14
+ <a href="http://neat.bourbon.io">Neat</a>.
15
+ </h1>
16
+ <p>
17
+ The purpose of this page is to help contributors view and test
18
+ changes to Neat.
19
+ </p>
20
+ </header>
21
+ <main role="main">
22
+ <div class="grid grid-visual">
23
+ <div class="grid__column--full">
24
+ <h3>Basic Floated Grid</h3>
25
+ </div>
26
+ <div class="grid__column box"></div>
27
+ <div class="grid__column box"></div>
28
+ <div class="grid__column box"></div>
29
+ <div class="grid__column box"></div>
30
+ <div class="grid__column box"></div>
31
+ <div class="grid__column box"></div>
32
+ <div class="grid__column box"></div>
33
+ <div class="grid__column box"></div>
34
+ <div class="grid__column box"></div>
35
+ <div class="grid__column box"></div>
36
+ <div class="grid__column box"></div>
37
+ <div class="grid__column box"></div>
38
+ <div class="grid__column--full">
39
+ <h3>RTL Grid</h3>
40
+ </div>
41
+ <div class="grid--rtl__column--thirds box">&nbsp;First</div>
42
+ <div class="grid--rtl__column--thirds box">&nbsp;Second</div>
43
+ <div class="grid--rtl__column--thirds box">&nbsp;Third</div>
44
+ <div class="grid__column--full">
45
+ <h3>Nested Grid</h3>
46
+ </div>
47
+ <div class="grid__column--thirds grid--nested">
48
+ <div class="grid--nested__column box--alt"></div>
49
+ <div class="grid--nested__column box--alt"></div>
50
+ <div class="grid--nested__column box--alt"></div>
51
+ </div>
52
+ <div class="grid__column--thirds box"></div>
53
+ <div class="grid__column--thirds box"></div>
54
+ <div class="grid__column--full">
55
+ <h3>Push Grid</h3>
56
+ </div>
57
+ <div class="grid__column--thirds grid-push--3 box"></div>
58
+ <div class="grid__column box"></div>
59
+ <div class="grid__column--thirds box"></div>
60
+ <div class="grid__column--full">
61
+ <h3>Shift Grid</h3>
62
+ </div>
63
+ <div class="grid__column--8 grid-shift--4 box">&nbsp;First</div>
64
+ <div class="grid__column--4 grid-shift--neg-8 box">&nbsp;Second</div>
65
+ <div class="grid__column--full">
66
+ <h3>Shorthand Sub-Grid</h3>
67
+ </div>
68
+ <div class="grid__column--3-of-5 box"></div>
69
+ <div class="grid__column--2-of-5 box"></div>
70
+ <div class="grid__column--3-of-5 box grid-push--2-of-5"></div>
71
+ <div class="grid__column--full">
72
+ <h3>Grid Media Queries</h3>
73
+ </div>
74
+ <div class="grid-column--media-3-to-6 box"></div>
75
+ <div class="grid__column--full">
76
+ <h3>Grid collapse</h3>
77
+ </div>
78
+ <div class="grid__column--thirds box"></div>
79
+ <div class="grid__column--thirds">
80
+ <div class="grid-collapse">
81
+ <div class="grid__column--thirds box"></div>
82
+ <div class="grid__column--thirds box"></div>
83
+ <div class="grid__column--thirds box"></div>
84
+ </div>
85
+ </div>
86
+ <div class="grid__column--thirds box"></div>
87
+ </div>
88
+ </main>
89
+ </body>
90
+ </html>
@@ -0,0 +1,11 @@
1
+ .box {
2
+ background-color: $color-neat-blue;
3
+ margin-bottom: 10px;
4
+ min-height: 30px;
5
+ padding: 0.5rem;
6
+ }
7
+
8
+ .box--alt {
9
+ @extend .box;
10
+ border: 2px solid $color-neat-orange;
11
+ }
@@ -0,0 +1,32 @@
1
+ *,
2
+ *::before,
3
+ *::after {
4
+ box-sizing: border-box;
5
+ font-family:
6
+ -apple-system,
7
+ BlinkMacSystemFont,
8
+ "Avenir Next",
9
+ "Avenir",
10
+ "Segoe UI",
11
+ "Lucida Grande",
12
+ "Helvetica Neue",
13
+ "Helvetica",
14
+ "Fira Sans",
15
+ "Roboto",
16
+ "Noto",
17
+ "Droid Sans",
18
+ "Cantarell",
19
+ "Oxygen",
20
+ "Ubuntu",
21
+ "Franklin Gothic Medium",
22
+ "Century Gothic",
23
+ "Liberation Sans",
24
+ sans-serif;
25
+ }
26
+
27
+ h1,
28
+ h2,
29
+ h3,
30
+ h4 {
31
+ font-weight: 400;
32
+ }
@@ -0,0 +1,3 @@
1
+ .grid-collapse {
2
+ @include grid-collapse;
3
+ }