roots-rails 0.0.1.alpha → 1.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 (43) hide show
  1. data/.gitignore +0 -1
  2. data/lib/generators/roots/install_generator.rb +28 -12
  3. data/lib/generators/templates/layouts/_settings.styl +40 -0
  4. data/lib/generators/templates/layouts/application.css.styl +13 -0
  5. data/lib/generators/templates/layouts/layout.html.slim +26 -0
  6. data/lib/generators/templates/{scripts/pie.htc → pie.htc} +0 -0
  7. data/lib/roots/version.rb +1 -1
  8. data/readme.md +5 -13
  9. data/roots-rails.gemspec +2 -10
  10. metadata +13 -87
  11. data/Gemfile +0 -4
  12. data/lib/generators/roots/framework_generator.rb +0 -28
  13. data/lib/generators/templates/images/apple-touch-icon-114x114.png +0 -0
  14. data/lib/generators/templates/images/apple-touch-icon-72x72.png +0 -0
  15. data/lib/generators/templates/images/apple-touch-icon.png +0 -0
  16. data/lib/generators/templates/images/preview.png +0 -0
  17. data/lib/generators/templates/layouts/application.sass +0 -23
  18. data/lib/generators/templates/layouts/config.html.haml +0 -57
  19. data/lib/generators/templates/layouts/layout.html.haml +0 -26
  20. data/lib/generators/templates/sass/modules/_animation.sass +0 -454
  21. data/lib/generators/templates/sass/modules/_buttons.sass +0 -233
  22. data/lib/generators/templates/sass/modules/_code.sass +0 -41
  23. data/lib/generators/templates/sass/modules/_forms.sass +0 -209
  24. data/lib/generators/templates/sass/modules/_interaction.sass +0 -89
  25. data/lib/generators/templates/sass/modules/_reset.sass +0 -238
  26. data/lib/generators/templates/sass/modules/_tables.sass +0 -76
  27. data/lib/generators/templates/sass/modules/_typography.sass +0 -367
  28. data/lib/generators/templates/sass/modules/_ui.sass +0 -205
  29. data/lib/generators/templates/sass/modules/_utilities.sass +0 -372
  30. data/lib/generators/templates/sass/roots.sass +0 -54
  31. data/lib/generators/templates/scripts/selectivizr.js +0 -5
  32. data/vendor/assets/stylesheets/modules/_animation.sass +0 -454
  33. data/vendor/assets/stylesheets/modules/_buttons.sass +0 -233
  34. data/vendor/assets/stylesheets/modules/_code.sass +0 -41
  35. data/vendor/assets/stylesheets/modules/_fluid.sass +0 -160
  36. data/vendor/assets/stylesheets/modules/_forms.sass +0 -209
  37. data/vendor/assets/stylesheets/modules/_interaction.sass +0 -89
  38. data/vendor/assets/stylesheets/modules/_reset.sass +0 -238
  39. data/vendor/assets/stylesheets/modules/_tables.sass +0 -76
  40. data/vendor/assets/stylesheets/modules/_typography.sass +0 -367
  41. data/vendor/assets/stylesheets/modules/_ui.sass +0 -205
  42. data/vendor/assets/stylesheets/modules/_utilities.sass +0 -372
  43. data/vendor/assets/stylesheets/roots.sass +0 -57
@@ -1,205 +0,0 @@
1
- // -----------------------------------------------------
2
- // UI
3
- // -----------------------------------------------------
4
-
5
- // Mixin: Area
6
- // Just a nice little area for you to put content in. Rounded corners, box with light
7
- // grey background by default. You can pass it a different color if you'd like.
8
- // ex. +area
9
- // ex. +area($red) -- not recommended
10
-
11
- =area($color: #F5F5F5)
12
- +box-shadow(inset 0 0 6px rgba(#000,.05))
13
- background-color: $color
14
- padding: 15px
15
- border-radius: 4px
16
- behavior: asset-url('pie.htc', javascript)
17
- margin: 20px 0
18
-
19
- // Mixin: Notice
20
- // A notice for you. Best used for flash alerts, this was originally an internal
21
- // mixin, but you can use it if you'd like. Give it a color and a width and it will
22
- // output a nice lightly gradiented box for your notice to reside in.
23
- // ex. +notice
24
- // ex. +notice(500px, $blue)
25
-
26
- =notice($width: false, $color: #EEEEEE)
27
- +simple-gradient($color, 3%)
28
- +group
29
- border-radius: 5px
30
- padding: 15px
31
- border: 1px solid darken($color, 10%)
32
- -webkit-box-shadow: 1px 1px 3px rgba(#000,.05)
33
- position: relative
34
-
35
- @if $width
36
- width: $width
37
-
38
- // Mixin: Flash
39
- // This is really great for rails flash messages, or really any little notifications like
40
- // 'logged in!', 'logged out!', or 'errarrrr!'. Takes one of four types and colors them nicely
41
- // for you - notice, success, warning, or error. Defaults to notice
42
- // ex. +flash
43
- // ex. +flash(error )
44
-
45
- =flash($type: notice)
46
- @if $type == notice
47
- +notice($color: #6CC5FA)
48
- color: #fff
49
- font-weight: bold
50
- text-shadow: 1px 1px 1px rgba(#000,.2)
51
- @if $type == success
52
- +notice($color: #7BDEA3)
53
- color: #fff
54
- font-weight: bold
55
- text-shadow: 1px 1px 1px rgba(#000,.2)
56
- @if $type == warning
57
- +notice($color: #FAE677)
58
- font-weight: bold
59
- text-shadow: 1px 1px 1px rgba(#fff,.2)
60
- @if $type == error
61
- +notice($color: #E77C70)
62
- color: #fff
63
- font-weight: bold
64
- text-shadow: 1px 1px 1px rgba(#000,.2)
65
-
66
- // Mixin: Breadcrumb
67
- // Lay this one down on a list and it will turn the list into a breadcrumb-y thing. By default
68
- // separates with a slash, but you can feed it any character. Second param is spacing between the
69
- // list items, and the third is the color of the divider. All are optional.
70
- // ex. +breadcrumb
71
- // ex. +breadcrumb(">")
72
- // ex. +breadcrumb("-", 25px, $red)
73
-
74
- =breadcrumb($character: "/", $spacing: 10px, $divider-color: #CDCDCD)
75
- +inline-list($spacing)
76
- li:after
77
- content: $character
78
- margin-left: $spacing
79
- color: $divider-color
80
- li:last-child:after
81
- content: ""
82
-
83
- // Mixin: Bubble
84
- // If you're anything like me, you always seem to find your designers putting little bubbles in things.
85
- // This mixin takes care of that problem, and makes a nice bubble with 100% css.
86
- // All parameters optional - accepts width, pointer position (left, center, or right), and a color.
87
- // ex. +bubble
88
- // ex. +bubble($color: $blue)
89
- // ex. +bubble(center, #57777E)
90
- // ex. +bubble(right, #5740A1, 500px)
91
-
92
- =bubble($pointer: left, $color: #EEEEEE, $width: false)
93
- +notice($width, $color)
94
-
95
- &:after
96
- +triangle(down, 10px, darken($color, 3%))
97
- position: absolute
98
- bottom: -9px
99
- @if $pointer == center
100
- @if $width == false
101
- @warn "you must specify a width to center the pointer"
102
- left: $width/2
103
- @else if $pointer == right
104
- right: 15px
105
-
106
- &:before
107
- +triangle(down, 10px, darken($color, 10%))
108
- position: absolute
109
- bottom: -11px
110
- @if $pointer == center
111
- @if $width == false
112
- @warn "you must specify a width to center the pointer"
113
- left: $width/2
114
- @else if $pointer == right
115
- right: 15px
116
-
117
- // Mixin: Figure
118
- // For when you want to *semantically* show an image. Put this on your <figure /> element and it will style
119
- // the nested image and figcaption in a wonderfully pleasing manner. Takes a color (for the thin outline), and
120
- // if you want, dimensions of the image as a space separated list.
121
- // ex. +figure
122
- // ex. +figure($blue)
123
- // ex. +figure(#D29E78, 100px 250px)
124
- // ex. +figure($dimensions: 100px 250px)
125
-
126
- =figure($color: $default, $dimensions: false)
127
- @if type-of($dimensions) == list
128
- display: block
129
- width: nth($dimensions, 1)
130
- height: nth($dimensions, 2)
131
- @else if $dimensions == false
132
- +inline-block
133
- @else
134
- @warn "Pass dimensions as false or a space-spearated list, as such: +figure($dimensions: 100px 250px) or +figure($blue, 100px 250px)"
135
- img
136
- display: block
137
- padding: 4px
138
- +round-corners(3px)
139
- border: 1px solid rgba($color, .6)
140
- figcaption
141
- padding: 10px 0
142
- text-align: center
143
- font-style: italic
144
-
145
- // Mixin: Nav
146
- // Makes a fantastic nav bar for you that doesn't look exactly like bootstrap's and you can
147
- // customize it as well. Params: fixed (boolean), color (recommend something dark), link color,
148
- // and size, which is an integer from one up, and scales every aspect of the nav bar for you.
149
- // All have defaults.
150
- // This mixin is meant to be placed on a <nav> element that contains a ul.
151
- // ex. +nav
152
- // ex. +nav(false, #444, $red, 3)
153
-
154
- =nav($fixed: true, $color: #222, $link-color: #fff, $size: 1)
155
- display: block
156
- z-index: 10
157
- +simple-noise-gradient($color, 5%)
158
- +group
159
- +box-shadow(0 3px 3px rgba(0,0,0,.15))
160
- border-bottom: 1px solid rgba(darken($color, 15%),.7)
161
- height: #{round(($size + 14)*2.866)}px
162
- width: 100%
163
- font-size: #{$size + 14}px
164
- @if $fixed
165
- position: fixed
166
- @else
167
- position: relative
168
-
169
- ul
170
- float: right
171
- margin: 0
172
- padding: #{($size + 14)*.8}px
173
- color: $link-color
174
-
175
- li
176
- list-style-type: none
177
- margin-right: 30px
178
- float: left
179
-
180
- a
181
- color: $link-color
182
- border: none
183
- cursor: pointer
184
-
185
- &:hover
186
- color: darken($link-color, 20%)
187
- border: none
188
-
189
- // Additive Mixin: Flash Notices
190
- // WARNING: Creates classes in your css and styles them - not to be used inside an element.
191
- // Super convenient flash notices. Anything with .flash on it will display as a notice, and if
192
- // you add the additional class .error, .warning, .notice, or .success, it will display the
193
- // appropriate color background for the message.
194
- // ex. +flash-notices
195
-
196
- =flash-notices
197
- .flash
198
- &.error
199
- +flash(error)
200
- &.warning
201
- +flash(warning)
202
- &.notice
203
- +flash(notice)
204
- &.success
205
- +flash(success)
@@ -1,372 +0,0 @@
1
- // -----------------------------------------------------
2
- // Utilities
3
- // -----------------------------------------------------
4
-
5
- // Mixin: Prefix
6
- // Pass this a key and a value and it will put all the browser prefixes on it.
7
- // ex. +prefix(box-shadow, 0 0 3px #000)
8
- // ex. +prefix(transition, all .3s ease)
9
-
10
- =prefix($prop, $val)
11
- -webkit-#{$prop}: $val
12
- -moz-#{$prop}: $val
13
- -o-#{$prop}: $val
14
- -ms-#{$prop}: $val
15
- #{$prop}: $val
16
-
17
- // Mixin: Transition
18
- // A shortcut for prefixed transitions with an intelligent default. If you want to pass it multiple
19
- // comma-separated transitions you must put your parameters in quotes (or the commas get confused)
20
- // ex. +transition
21
- // ex. +transition(color 1s ease)
22
- // ex. +transition("color, background 1s ease")
23
-
24
- =transition($params: all .3s ease-in-out)
25
- +prefix(transition, unquote($params))
26
-
27
- // Mixin: Text Shadow
28
- // A shortcut for prefixed text-shadows with an intelligent default. If you want to pass it multiple
29
- // comma-separated shadows you must put your parameters in quotes (or the commas get confused)
30
- // ex. +text-shadow
31
- // ex. +text-shadow(1px 1px 3px $blue)
32
- // ex. +text-shadow("1px 1px 3px $blue, inset 2px 0 5px rgba(0,0,0,.5)")
33
-
34
- =text-shadow($params:0 0 1px rgba(0,0,0,.1))
35
- +prefix(text-shadow, unquote($params))
36
-
37
- // Mixin: Box Shadow
38
- // A shortcut for prefixed box-shadows with an intelligent default. If you want to pass it multiple
39
- // comma-separated shadows you must put your parameters in quotes (or the commas get confused)
40
- // ex. +box-shadow
41
- // ex. +box-shadow(1px 1px 3px $blue)
42
- // ex. +box-shadow("1px 1px 3px $blue, inset 2px 0 5px rgba(0,0,0,.5)")
43
-
44
- =box-shadow($params)
45
- +prefix(box-shadow, unquote($params))
46
- behavior: asset-url('test.htc', javascript)
47
-
48
- // Mixin: Opacity
49
- // I know, it seems silly. But every time you go to IE testing you will be thanking yourself for
50
- // using this instead of the normal opacity declaration. Takes the same params as opacity would normally
51
- // ex. +opacity(.6)
52
-
53
- =opacity($opacity)
54
- filter: unquote("progid:DXImageTransform.Microsoft.Alpha(Opacity=#{round($opacity * 100)})")
55
- opacity: $opacity
56
-
57
- // Mixin: Rotate
58
- // Prefixed rotation with IE compatibility. Takes a degree value followed by "deg"
59
- // ex. +rotate(45deg)
60
-
61
- =rotate($params)
62
- +prefix(transform, rotate($params))
63
- behavior: asset-url('pie.htc', javascript)
64
-
65
- // Mixin: Rounded
66
- // Unless you are working with a ridiculously large element, this will round the corners
67
- // as much as css will allow. Even in IE.
68
- // ex. +rounded
69
-
70
- =rounded
71
- border-radius: 999px
72
- behavior: asset-url('pie.htc', javascript)
73
-
74
- // Mixin: Round Corners
75
- // Take a guess what this does. Aliases border-radius, works in IE.
76
- // ex. +round-corners(5px)
77
-
78
- =round-corners($px)
79
- border-radius: $px
80
- behavior: asset-url('pie.htc', javascript)
81
-
82
- // Mixin: Round
83
- // Take a guess what this does. Aliases border-radius, works in IE.
84
- // ex. +round(5px)
85
-
86
- =round($px)
87
- +round-corners($px)
88
-
89
- // Mixin: Border
90
- // Alias of border, but with an intelligent default
91
-
92
- =border($params: 1px solid)
93
- border: $params
94
-
95
- // Mixin: B
96
- // Alias of border, but with an intelligent default. Intended for quick debugging use.
97
- // I used to spend a lot of time typing "border: 1px solid", but no more!
98
- // ex. +b
99
-
100
- =b
101
- +border
102
-
103
- // Mixin: Bg
104
- // Alias for background (with images), makes it a little quicker. Takes three arguments, the first is
105
- // the image path, second is background-position if you want, third is background repeat.
106
- // ex. +bg(../img/test.png)
107
- // ex. +bg(../img/other.jpg, center center, repeat)
108
-
109
- =bg($path, $position: unquote(""), $repeat: no-repeat)
110
- background: url(unquote($path)) $position $repeat
111
-
112
- // Mixin: Bold
113
- // It's just faster to type +bold than font-weight: bold
114
- // ex. +bold
115
-
116
- =bold
117
- font-weight: bold
118
-
119
- // Mixin: Italic
120
- // It's just faster to type +italic than font-style: italic
121
- // ex. +bold
122
-
123
- =italic
124
- font-style: italic
125
-
126
- // Mixin: Columns
127
- // For css3 columns. Takes column count (int), column gap (px, em), column width (px, em), and
128
- // a border-like declaration if you want a column rule. This follows exactly with the css3 spec,
129
- // it's just quicker, prefixed, and shortened.
130
- // ex. +columns
131
- // ex. +columns(5)
132
- // ex. +columns(8, 15px, 200px, 1px solid $red)
133
-
134
- =columns($count: 3, $gap: 30px, $width: false, $rule: false)
135
- +prefix(column-count, $count)
136
- +prefix(column-gap, $gap)
137
- @if $width
138
- +prefix(column-width, $width)
139
- @if $rule
140
- +prefix(column-rule, $rule)
141
-
142
- // Mixin: Avoid Column Break
143
- // If you have a list that is broken into columns, this will make sure that the list item
144
- // is not split across columns awkwardly. Works only in webkit at the moment.
145
-
146
- =avoid-column-break
147
- +prefix(column-break-inside, avoid)
148
-
149
- // Mixin: Triangle
150
- // One of my favorites. Makes a little css triangle for you. Pass it a direction (up, down, left, right),
151
- // size (in pixels), and a color.
152
- // ex. +triangle
153
- // ex. +triangle(down, 15px, $blue)
154
-
155
- =triangle($direction: up, $size: 10px, $color: #000)
156
- width: 0
157
- height: 0
158
- @if $direction == up
159
- border-left: $size solid transparent
160
- border-right: $size solid transparent
161
- border-bottom: $size solid $color
162
- @else if $direction == down
163
- border-left: $size solid transparent
164
- border-right: $size solid transparent
165
- border-top: $size solid $color
166
- @else if $direction == left
167
- border-top: $size solid transparent
168
- border-bottom: $size solid transparent
169
- border-right: $size solid $color
170
- @else if $direction == right
171
- border-top: $size solid transparent
172
- border-bottom: $size solid transparent
173
- border-left: $size solid $color
174
-
175
- // Mixin: Ir
176
- // Image replacement. Pass it an image path and the image's dimensions and any text will be hidden
177
- // in the div and it will show an image instead. Uses the fanciest new method, props to Paul Irish
178
- // Avoid any possibility of an error by quoting the image path. Also looks cleaner.
179
- // ex. +ir("../img/test.jpg", 200px 400px)
180
-
181
- =ir($img-path: false, $dimensions: false)
182
- font: 0/0 a
183
- text-shadow: none
184
- color: transparent
185
- @if $img-path
186
- +bg(unquote($img-path))
187
- @if type-of($dimensions) == list
188
- width: nth($dimensions, 1)
189
- height: nth($dimensions, 3)
190
- @else if $dimensions == false
191
- // all is well
192
- @else
193
- @warn "Dimenions takes a space-separated list of values - order: width, height. Ex: +ir('img.jpg', 100px 150px)"
194
-
195
-
196
- // Mixin: Group
197
- // This is the clearfix with a better name. I use this mixin like there's no tomorrow. It's like using
198
- // overflow: hidden, except it doesn't hide the overflow. Awesome for wrangling floats, and really quick now.
199
- // ex. +group
200
-
201
- =group
202
- zoom: 1
203
- &:before, &:after
204
- content: ""
205
- display: table
206
- &:after
207
- clear: both
208
-
209
- // Mixin: Clearfix
210
- // In case you can't leave this crazy word in the past. This is an alias for group.
211
- // ex. +clearfix
212
-
213
- =clearfix
214
- +group
215
-
216
- // Mixin: Inline Block
217
- // Cross browser inline block display. Saves many IE headaches.
218
- // ex. +inline-block
219
-
220
- =inline-block
221
- display: -moz-inline-stack
222
- display: inline-block
223
- vertical-align: top
224
- zoom: 1
225
- *display: inline
226
-
227
- // Mixin: Media
228
- // Based on Nicole Sullivan's media class, made famous by Facebook
229
- // http://www.stubbornella.org/content/2010/06/25/the-media-object-saves-hundreds-of-lines-of-code/
230
-
231
- // Put this on a parent and it will split the first two children left and right, like you would with perhaps
232
- // a comment with an avatar to the left. Pass it a margin between the two.
233
- // Explained fully here: http://carrotblog.com/css-patterns-evolved/
234
-
235
- // This mixin works right when the element you apply it to has two or three direct children
236
- // The first one will float to the left, the second one will be to the right of the first, and third will go farthest right
237
- // ex. +split
238
- // ex. +split(15px)
239
- // ex. +split(15px 10px)
240
-
241
- =media($margin: 10px)
242
-
243
- $left: $margin
244
- $right: $margin
245
-
246
- @if type-of($margin) == list
247
- $left: nth($margin, 1)
248
- $right: nth($margin, 2)
249
-
250
- overflow: hidden
251
- zoom: 1
252
-
253
- & > *
254
- overflow: hidden
255
- zoom: 1
256
- & > *:first-child
257
- float: left
258
- margin-right: $right
259
- & > *:nth-child(3)
260
- float: right
261
- margin-left: $left
262
-
263
- // Mixin: Raquo
264
- // Because technically raquo is not semantic, it's easier to add it like this.
265
- // ex. +raquo
266
-
267
- =raquo
268
- &:after
269
- content: " \00BB"
270
-
271
- // Mixin: D
272
- // I find myself writing "width: blah blah px, height: blah px" all the time. This makes it so so
273
- // much faster. The arguments it accepts are very flexible. You can pass it one number and it will set that
274
- // to the width and height. You can give it units, and if you don't it will assume pixels. You can pass
275
- // it two numbers and it will set the first to width and the second to height. It's very convenient.
276
- // ex. +d(50) => width: 50px; height: 50px;
277
- // ex. +d(1.5em 2em) => width: 1.5em; height: 2em
278
-
279
- =dimensions($numbers)
280
- @if type-of($numbers) == list
281
- @if unitless(nth($numbers, 1))
282
- width: #{nth($numbers, 1)}px
283
- height: #{nth($numbers, 2)}px
284
- @else
285
- width: nth($numbers, 1)
286
- height: nth($numbers, 2)
287
- @else if type-of($numbers) == number
288
- @if unitless($numbers)
289
- width: #{$numbers}px
290
- height: #{$numbers}px
291
- @else
292
- width: $numbers
293
- height: $numbers
294
- @else
295
- @warn "Please pass in a value or list of two values"
296
-
297
- // Mixin: D
298
- // A shorter alias for +dimensions, because I use it so so often.
299
-
300
- =d($arg)
301
- +dimensions($arg)
302
-
303
- // Mixin: Debug
304
- // Debugging tool - drop this at root level in your css and it will put borders on every element so
305
- // you can see what's up. It will also flag them if you made mistakes like put in inline styles, forgot
306
- // an alt on an image, left the alt blank, etc. For god's sake don't use this in production.
307
-
308
- // all credit for this goes to intuit.css, from which I adapted it (and improved it a bit)
309
- // https://github.com/csswizardry/inuit.css
310
-
311
- =debug
312
- html
313
-
314
- div
315
- border: 1px solid green
316
-
317
- [style], style
318
- border: 5px solid yellow
319
-
320
- style
321
- border: block
322
-
323
- img
324
- border: 5px solid red
325
-
326
- img[alt]
327
- border-color: green
328
-
329
- img[alt=""]
330
- border-color: yellow
331
-
332
- a
333
- border: 5px solid yellow
334
-
335
- a[title]
336
- border-color: green
337
-
338
- a[href="#"]
339
- outline-color: yellow
340
-
341
- a[target]
342
- border-color: red
343
-
344
- [class=""], [id=""]
345
- border: 5px solid yellow
346
-
347
- // Mixin: Keyframes
348
- // An easier way to do keyframe animations cross browser. Accepts an animation name
349
- // and a block.
350
- // ex. +keyframes(fade-out)
351
- // 0%
352
- // opacity: 1
353
- // 100%
354
- // opacity: 0
355
-
356
- // Check out the animations module for a bunch of sweet presets you can load if you want.
357
-
358
- =keyframes($name)
359
- @-moz-keyframes #{$name}
360
- @content
361
- @-webkit-keyframes #{$name}
362
- @content
363
- @-ms-keyframes #{$name}
364
- @content
365
-
366
- // Mixin: Animation
367
- // How you actually implement the animation. Takes animation name, duration, and how to handle
368
- // looping. works the same way as the official, just prefixes it.
369
- // ex. +animation(fade-out, 5s, infinite)
370
-
371
- =animation($params)
372
- +prefix(animation, $params)