neat 1.2.1 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/NEWS.md +8 -0
- data/README.md +3 -6
- data/app/assets/stylesheets/_neat.scss +2 -1
- data/app/assets/stylesheets/functions/_private.scss +35 -0
- data/app/assets/stylesheets/grid/_omega.scss +21 -10
- data/app/assets/stylesheets/grid/_private.scss +21 -0
- data/app/assets/stylesheets/grid/_reset.scss +12 -0
- data/app/assets/stylesheets/grid/_row.scss +2 -4
- data/app/assets/stylesheets/grid/_shift.scss +5 -1
- data/app/assets/stylesheets/grid/_span-columns.scss +11 -24
- data/app/assets/stylesheets/grid/_to-deprecate.scss +5 -0
- data/app/assets/stylesheets/grid/_visual-grid.scss +1 -0
- data/app/assets/stylesheets/settings/_grid.scss +1 -0
- data/lib/neat/version.rb +1 -1
- data/neat.gemspec +1 -0
- data/spec/neat/columns_spec.rb +3 -11
- data/spec/neat/container_spec.rb +1 -3
- data/spec/neat/media_spec.rb +6 -8
- data/spec/neat/new_breakpoint_spec.rb +3 -5
- data/spec/neat/omega_spec.rb +34 -24
- data/spec/neat/pad_spec.rb +7 -9
- data/spec/neat/row_spec.rb +2 -4
- data/spec/neat/shift_spec.rb +12 -8
- data/test/omega.scss +21 -14
- data/test/shift.scss +14 -4
- metadata +80 -52
- data/app/assets/stylesheets/grid/_global-variables.scss +0 -5
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 5bdefb64cec2e270e681c122c86cb3c428b93ae3
|
4
|
+
data.tar.gz: 23f6315428bb85162b9ed54f7b96b95e16f659a6
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 4f18d2d97a9b7ccb34366f6d6af3defacbcc1df94602f62c70db60ec26498636939e2d9a28fd7289b5906437b96d8712ced5ccf5d4c58a1d0e9c8b5fe20f4b69
|
7
|
+
data.tar.gz: 88ece79f10a6a0a72daabdce203ac49bf930706b5abf92afd087313468b8e41e6ed83ae3f6425ef2a47aace49bf87f866d7a839e78c35bd0c6c76843ede5ad5f
|
data/NEWS.md
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
### 1.3.0 (2013-05-03)
|
2
|
+
|
3
|
+
* New: Add global RTL layout support
|
4
|
+
* New: Add row-specific RTL layout support
|
5
|
+
* New: Add auto-clearing for elements using `omega(nth-child)` (works only with simple nth-child arguments due to limited string operations in Sass)
|
6
|
+
* Fix: The visual grid no longer blocks user interactions
|
7
|
+
* Deprecate: `omega()` will no longer take `$direction` in favor of `row($direction)` or `$default-layout-direction`
|
8
|
+
|
1
9
|
### 1.2.1 (2013-04-04)
|
2
10
|
|
3
11
|
* New: Add stylesheets path to Sass.load_paths
|
data/README.md
CHANGED
@@ -166,16 +166,13 @@ Browser support
|
|
166
166
|
- IE 9+ (Visual grid is IE10 only)
|
167
167
|
- IE 8 with [selectivizr](http://selectivizr.com) (no `media()` support)
|
168
168
|
|
169
|
-
|
169
|
+
Links
|
170
170
|
===
|
171
171
|
|
172
172
|
- [Online documentation](http://neat.bourbon.io/docs/)
|
173
173
|
- [Docset feed](http://neat.bourbon.io/docset/Neat.xml) for Dash 1.8+ (Preferences **>** Downloads **>** + *Add Docset Feed*)
|
174
|
-
|
175
|
-
Roadmap
|
176
|
-
===
|
177
|
-
|
178
|
-
The development roadmap can be tracked on this public [Trello board](http://bit.ly/neat-trello).
|
174
|
+
- [Changelog](https://github.com/thoughtbot/neat/wiki/Changelog)
|
175
|
+
- [Roadmap Trello board](http://bit.ly/neat-trello)
|
179
176
|
|
180
177
|
Credits
|
181
178
|
===
|
@@ -70,3 +70,38 @@
|
|
70
70
|
|
71
71
|
@return $values;
|
72
72
|
}
|
73
|
+
|
74
|
+
// Layout direction
|
75
|
+
@function get-direction($layout, $default) {
|
76
|
+
$direction: nil;
|
77
|
+
|
78
|
+
@if $layout == LTR or $layout == RTL {
|
79
|
+
$direction: direction-from-layout($layout);
|
80
|
+
} @else {
|
81
|
+
$direction: direction-from-layout($default);
|
82
|
+
}
|
83
|
+
|
84
|
+
@return $direction;
|
85
|
+
}
|
86
|
+
|
87
|
+
@function direction-from-layout($layout) {
|
88
|
+
$direction: nil;
|
89
|
+
|
90
|
+
@if $layout == LTR {
|
91
|
+
$direction: right;
|
92
|
+
} @else {
|
93
|
+
$direction: left;
|
94
|
+
}
|
95
|
+
|
96
|
+
@return $direction;
|
97
|
+
}
|
98
|
+
|
99
|
+
@function get-opposite-direction($direction) {
|
100
|
+
$opposite-direction: left;
|
101
|
+
|
102
|
+
@if $direction == left {
|
103
|
+
$opposite-direction: right;
|
104
|
+
}
|
105
|
+
|
106
|
+
@return $opposite-direction;
|
107
|
+
}
|
@@ -1,8 +1,14 @@
|
|
1
1
|
// Remove last element gutter
|
2
|
-
@mixin omega($query: block, $direction:
|
2
|
+
@mixin omega($query: block, $direction: default) {
|
3
3
|
$table: if(belongs-to(table, $query), true, false);
|
4
4
|
$auto: if(belongs-to(auto, $query), true, false);
|
5
5
|
|
6
|
+
@if $direction != default {
|
7
|
+
@warn "The omega mixin will no longer take a $direction argument. To change the layout direction, use row($direction) or set $default-layout-direction instead."
|
8
|
+
} @else {
|
9
|
+
$direction: get-direction($layout-direction, $default-layout-direction);
|
10
|
+
}
|
11
|
+
|
6
12
|
@if length($query) == 1 {
|
7
13
|
@if $auto {
|
8
14
|
&:last-child {
|
@@ -21,9 +27,7 @@
|
|
21
27
|
}
|
22
28
|
|
23
29
|
@else {
|
24
|
-
|
25
|
-
margin-#{$direction}: 0;
|
26
|
-
}
|
30
|
+
@include nth-child($query, $direction);
|
27
31
|
}
|
28
32
|
}
|
29
33
|
|
@@ -50,9 +54,7 @@
|
|
50
54
|
}
|
51
55
|
|
52
56
|
@else {
|
53
|
-
|
54
|
-
margin-#{$direction}: 0;
|
55
|
-
}
|
57
|
+
@include nth-child(nth($query, 1), $direction);
|
56
58
|
}
|
57
59
|
}
|
58
60
|
}
|
@@ -62,7 +64,16 @@
|
|
62
64
|
}
|
63
65
|
}
|
64
66
|
|
65
|
-
@mixin nth-
|
66
|
-
|
67
|
-
|
67
|
+
@mixin nth-child($query, $direction) {
|
68
|
+
$opposite-direction: get-opposite-direction($direction);
|
69
|
+
|
70
|
+
&:nth-child(#{$query}) {
|
71
|
+
margin-#{$direction}: 0;
|
72
|
+
}
|
73
|
+
|
74
|
+
@if type-of($query) == number {
|
75
|
+
&:nth-child(#{$query}+1) {
|
76
|
+
clear: $opposite-direction;
|
77
|
+
}
|
78
|
+
}
|
68
79
|
}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
$parent-columns: $grid-columns !default;
|
2
|
+
$fg-column: $column;
|
3
|
+
$fg-gutter: $gutter;
|
4
|
+
$fg-max-columns: $grid-columns;
|
5
|
+
$container-display-table: false !default;
|
6
|
+
$layout-direction: nil !default;
|
7
|
+
|
8
|
+
@function flex-grid($columns, $container-columns: $fg-max-columns) {
|
9
|
+
$width: $columns * $fg-column + ($columns - 1) * $fg-gutter;
|
10
|
+
$container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter;
|
11
|
+
@return percentage($width / $container-width);
|
12
|
+
}
|
13
|
+
|
14
|
+
@function flex-gutter($container-columns: $fg-max-columns, $gutter: $fg-gutter) {
|
15
|
+
$container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter;
|
16
|
+
@return percentage($gutter / $container-width);
|
17
|
+
}
|
18
|
+
|
19
|
+
@function grid-width($n) {
|
20
|
+
@return $n * $gw-column + ($n - 1) * $gw-gutter;
|
21
|
+
}
|
@@ -1,5 +1,6 @@
|
|
1
|
-
@mixin row($display: block) {
|
1
|
+
@mixin row($display: block, $direction: $default-layout-direction) {
|
2
2
|
@include clearfix;
|
3
|
+
$layout-direction: $direction;
|
3
4
|
|
4
5
|
@if $display == table {
|
5
6
|
display: table;
|
@@ -14,6 +15,3 @@
|
|
14
15
|
}
|
15
16
|
}
|
16
17
|
|
17
|
-
@mixin reset-display {
|
18
|
-
$container-display-table: false;
|
19
|
-
}
|
@@ -1,5 +1,9 @@
|
|
1
1
|
@mixin shift($n-columns: 1) {
|
2
|
-
|
2
|
+
|
3
|
+
$direction: get-direction($layout-direction, $default-layout-direction);
|
4
|
+
$opposite-direction: get-opposite-direction($direction);
|
5
|
+
|
6
|
+
margin-#{$opposite-direction}: $n-columns * flex-grid(1, $parent-columns) + $n-columns * flex-gutter($parent-columns);
|
3
7
|
|
4
8
|
// Reset nesting context
|
5
9
|
$parent-columns: $grid-columns;
|
@@ -4,55 +4,42 @@
|
|
4
4
|
$container-columns: container-span($span);
|
5
5
|
$display-table: false;
|
6
6
|
|
7
|
+
$direction: get-direction($layout-direction, $default-layout-direction);
|
8
|
+
$opposite-direction: get-opposite-direction($direction);
|
9
|
+
|
7
10
|
@if $container-columns != $grid-columns {
|
8
11
|
$parent-columns: $container-columns;
|
9
|
-
}
|
10
|
-
|
11
|
-
@else {
|
12
|
+
} @else {
|
12
13
|
$parent-columns: $grid-columns;
|
13
14
|
}
|
14
15
|
|
15
16
|
@if $container-display-table == true {
|
16
17
|
$display-table: true;
|
17
|
-
}
|
18
|
-
|
19
|
-
@else if $display == table {
|
18
|
+
} @else if $display == table {
|
20
19
|
$display-table: true;
|
21
|
-
}
|
22
|
-
|
23
|
-
@else {
|
20
|
+
} @else {
|
24
21
|
$display-table: false;
|
25
22
|
}
|
26
23
|
|
27
24
|
@if $display-table {
|
28
25
|
display: table-cell;
|
29
|
-
padding
|
26
|
+
padding-#{$direction}: flex-gutter($container-columns);
|
30
27
|
width: flex-grid($columns, $container-columns) + flex-gutter($container-columns);
|
31
28
|
|
32
29
|
&:last-child {
|
33
30
|
width: flex-grid($columns, $container-columns);
|
34
|
-
padding
|
35
|
-
}
|
36
|
-
}
|
37
|
-
|
38
|
-
@else if $display == inline-block {
|
39
|
-
@include inline-block;
|
40
|
-
margin-right: flex-gutter($container-columns);
|
41
|
-
width: flex-grid($columns, $container-columns);
|
42
|
-
|
43
|
-
&:last-child {
|
44
|
-
margin-right: 0;
|
31
|
+
padding-#{$direction}: 0;
|
45
32
|
}
|
46
33
|
}
|
47
34
|
|
48
35
|
@else {
|
49
36
|
display: block;
|
50
|
-
float:
|
51
|
-
margin
|
37
|
+
float: #{$opposite-direction};
|
38
|
+
margin-#{$direction}: flex-gutter($container-columns);
|
52
39
|
width: flex-grid($columns, $container-columns);
|
53
40
|
|
54
41
|
&:last-child {
|
55
|
-
margin
|
42
|
+
margin-#{$direction}: 0;
|
56
43
|
}
|
57
44
|
}
|
58
45
|
}
|
@@ -50,3 +50,8 @@
|
|
50
50
|
@warn "Wrong number of arguments for breakpoint(). Read the documentation for more details.";
|
51
51
|
}
|
52
52
|
}
|
53
|
+
|
54
|
+
@mixin nth-omega($nth, $display: block, $direction: default) {
|
55
|
+
@warn "The nth-omega() mixin is deprecated. Please use omega() instead.";
|
56
|
+
@include omega($nth $display, $direction);
|
57
|
+
}
|
@@ -4,3 +4,4 @@ $grid-columns: 12 !default; // Total number of columns in the grid
|
|
4
4
|
$max-width: em(1088) !default; // Max-width of the outer container
|
5
5
|
$border-box-sizing: true !default; // Makes all elements have a border-box layout
|
6
6
|
$default-feature: min-width; // Default @media feature for the breakpoint() mixin
|
7
|
+
$default-layout-direction: LTR !default;
|
data/lib/neat/version.rb
CHANGED
data/neat.gemspec
CHANGED
@@ -30,4 +30,5 @@ Neat is an open source grid framework built on top of Bourbon with the aim of be
|
|
30
30
|
s.add_development_dependency('rspec')
|
31
31
|
s.add_development_dependency('rdoc')
|
32
32
|
s.add_development_dependency('bundler')
|
33
|
+
s.add_development_dependency('rb-fsevent', '~> 0.9.1')
|
33
34
|
end
|
data/spec/neat/columns_spec.rb
CHANGED
@@ -1,13 +1,11 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe "@include span-columns()" do
|
4
|
-
let (:identifier) {"span-columns"}
|
5
|
-
|
6
4
|
before(:all) do
|
7
|
-
ParserSupport.parse_file(
|
5
|
+
ParserSupport.parse_file("span-columns")
|
8
6
|
end
|
9
7
|
|
10
|
-
context "with argument
|
8
|
+
context "with argument (6) in a twelve-column grid" do
|
11
9
|
it "sets width in percentage" do
|
12
10
|
expect('.span-columns-default').to have_rule('width: 48.82117%')
|
13
11
|
end
|
@@ -39,7 +37,7 @@ describe "@include span-columns()" do
|
|
39
37
|
end
|
40
38
|
end
|
41
39
|
|
42
|
-
context "with argument
|
40
|
+
context "with argument (table)" do
|
43
41
|
it "sets display to table-cell" do
|
44
42
|
expect('.span-columns-table').to have_rule('display: table-cell')
|
45
43
|
end
|
@@ -52,10 +50,4 @@ describe "@include span-columns()" do
|
|
52
50
|
expect('.span-columns-table:last-child').to have_rule('width: 48.82117%')
|
53
51
|
end
|
54
52
|
end
|
55
|
-
|
56
|
-
context "with argument 'inline-block'" do
|
57
|
-
it "sets display to inline-block" do
|
58
|
-
expect('.span-columns-inline-block').to have_rule('display: inline-block')
|
59
|
-
end
|
60
|
-
end
|
61
53
|
end
|
data/spec/neat/container_spec.rb
CHANGED
data/spec/neat/media_spec.rb
CHANGED
@@ -1,31 +1,29 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe "@include media()" do
|
4
|
-
let (:identifier) {"media"}
|
5
|
-
|
6
4
|
before(:all) do
|
7
|
-
ParserSupport.parse_file(
|
5
|
+
ParserSupport.parse_file("media")
|
8
6
|
end
|
9
7
|
|
10
|
-
context "with argument
|
8
|
+
context "with argument (481px)" do
|
11
9
|
it "outputs @media screen and (min-width: 481px)" do
|
12
10
|
expect('.media-default').to be_contained_in('screen and (min-width: 481px)')
|
13
11
|
end
|
14
12
|
end
|
15
13
|
|
16
|
-
context "with argument
|
14
|
+
context "with argument (max-width 480px)" do
|
17
15
|
it "outputs @media screen and (max-width: 480px)" do
|
18
16
|
expect('.media-max-width').to be_contained_in('screen and (max-width: 480px)')
|
19
17
|
end
|
20
18
|
end
|
21
19
|
|
22
|
-
context "with argument
|
20
|
+
context "with argument (min-width 320px max-width 480px)" do
|
23
21
|
it "outputs @media screen and (min-width: 320px) and (max-width: 480px)" do
|
24
22
|
expect('.media-min-max-width').to be_contained_in('screen and (min-width: 320px) and (max-width: 480px)')
|
25
23
|
end
|
26
24
|
end
|
27
25
|
|
28
|
-
context "with argument
|
26
|
+
context "with argument (481px, 6)" do
|
29
27
|
it "outputs @media screen and (min-width: 481px)" do
|
30
28
|
expect('.change-media-context').to be_contained_in('screen and (min-width: 481px)')
|
31
29
|
end
|
@@ -35,7 +33,7 @@ describe "@include media()" do
|
|
35
33
|
end
|
36
34
|
end
|
37
35
|
|
38
|
-
context "with shorthand argument
|
36
|
+
context "with shorthand argument (max-width 480px 6)" do
|
39
37
|
it "outputs @media screen and (max-width: 480px)" do
|
40
38
|
expect('.change-media-context-shorthand').to be_contained_in('screen and (max-width: 480px)')
|
41
39
|
end
|
@@ -1,18 +1,16 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe "new-breakpoint()" do
|
4
|
-
let (:identifier) {"new-breakpoint"}
|
5
|
-
|
6
4
|
before(:all) do
|
7
|
-
ParserSupport.parse_file(
|
5
|
+
ParserSupport.parse_file("new-breakpoint")
|
8
6
|
end
|
9
7
|
|
10
|
-
context "with argument
|
8
|
+
context "with argument (max-width 768px 12)" do
|
11
9
|
it "outputs (max-width 768px)" do
|
12
10
|
expect('.responsive-element').to be_contained_in('screen and (max-width: 768px)')
|
13
11
|
end
|
14
12
|
|
15
|
-
it "adds
|
13
|
+
it "adds (max-width 768px 12) to visual grid breakpoints" do
|
16
14
|
expect('$visual-grid-breakpoints').to have_value('max-width 768px 12')
|
17
15
|
end
|
18
16
|
end
|
data/spec/neat/omega_spec.rb
CHANGED
@@ -1,10 +1,8 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe "@include omega()" do
|
4
|
-
let (:identifier) {"omega"}
|
5
|
-
|
6
4
|
before(:all) do
|
7
|
-
ParserSupport.parse_file(
|
5
|
+
ParserSupport.parse_file("omega")
|
8
6
|
end
|
9
7
|
|
10
8
|
context "with no argument" do
|
@@ -13,45 +11,57 @@ describe "@include omega()" do
|
|
13
11
|
end
|
14
12
|
end
|
15
13
|
|
16
|
-
context "with argument
|
14
|
+
context "with argument (table)" do
|
17
15
|
it "removes right padding" do
|
18
16
|
expect('.omega-table').to have_rule('padding-right: 0')
|
19
17
|
end
|
20
18
|
end
|
21
19
|
|
22
|
-
context "with argument
|
23
|
-
it "removes left margin" do
|
24
|
-
expect('.omega-block-left').to have_rule('margin-left: 0')
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
context "with argument 'table, left'" do
|
29
|
-
it "removes left padding" do
|
30
|
-
expect('.omega-table-left').to have_rule('padding-left: 0')
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
context "with argument '4n'" do
|
20
|
+
context "with argument (4n)" do
|
35
21
|
it "removes right margin of nth-child(4n)" do
|
36
22
|
expect('.omega-nth-default:nth-child(4n)').to have_rule('margin-right: 0')
|
37
23
|
end
|
24
|
+
|
25
|
+
it "adds clear to nth-child(4n+1)" do
|
26
|
+
expect('.omega-nth-default:nth-child(4n+1)').to have_rule('clear: left')
|
27
|
+
end
|
38
28
|
end
|
39
29
|
|
40
|
-
context "with argument
|
30
|
+
context "with argument (4n table)" do
|
41
31
|
it "removes right padding of nth-child(4n)" do
|
42
32
|
expect('.omega-nth-table:nth-child(4n)').to have_rule('padding-right: 0')
|
43
33
|
end
|
44
34
|
end
|
45
35
|
|
46
|
-
context "with argument '4n
|
47
|
-
it "removes
|
48
|
-
expect('.omega-nth
|
36
|
+
context "with argument ('4n+1')" do
|
37
|
+
it "removes right margin of nth-child(4n+1)" do
|
38
|
+
expect('.omega-complex-nth:nth-child(4n+1)').to have_rule('margin-right: 0')
|
49
39
|
end
|
50
40
|
end
|
51
41
|
|
52
|
-
context "
|
53
|
-
|
54
|
-
|
42
|
+
context "when called inside an RTL row" do
|
43
|
+
context "with no argument" do
|
44
|
+
it "removes left margin" do
|
45
|
+
expect('section .omega-default-left').to have_rule('margin-left: 0')
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
context "with argument (table)" do
|
50
|
+
it "removes left padding" do
|
51
|
+
expect('section .omega-table-left').to have_rule('padding-left: 0')
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
context "with argument (4n block)" do
|
56
|
+
it "removes left margin of nth-child(4n)" do
|
57
|
+
expect('section .omega-nth-default-left:nth-child(4n)').to have_rule('margin-left: 0')
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
context "with argument (4n table)" do
|
62
|
+
it "removes left padding of nth-child(4n)" do
|
63
|
+
expect('section .omega-nth-table-left:nth-child(4n)').to have_rule('padding-left: 0')
|
64
|
+
end
|
55
65
|
end
|
56
66
|
end
|
57
67
|
end
|
data/spec/neat/pad_spec.rb
CHANGED
@@ -1,10 +1,8 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe "@include pad()" do
|
4
|
-
let (:identifier) {"pad"}
|
5
|
-
|
6
4
|
before(:all) do
|
7
|
-
ParserSupport.parse_file(
|
5
|
+
ParserSupport.parse_file("pad")
|
8
6
|
end
|
9
7
|
|
10
8
|
context "with no argument" do
|
@@ -13,20 +11,20 @@ describe "@include pad()" do
|
|
13
11
|
end
|
14
12
|
end
|
15
13
|
|
16
|
-
context "with argument
|
17
|
-
it "sets padding to
|
14
|
+
context "with argument (20px)" do
|
15
|
+
it "sets padding to 20px" do
|
18
16
|
expect('.pad-explicit').to have_rule('padding: 20px')
|
19
17
|
end
|
20
18
|
end
|
21
19
|
|
22
|
-
context "with argument
|
23
|
-
it "sets padding to
|
20
|
+
context "with argument (30px 20px 10px 5px)" do
|
21
|
+
it "sets padding to 30px 20px 10px 5px" do
|
24
22
|
expect('.pad-shorthand').to have_rule('padding: 30px 20px 10px 5px')
|
25
23
|
end
|
26
24
|
end
|
27
25
|
|
28
|
-
context "with argument
|
29
|
-
it "
|
26
|
+
context "with argument (default)" do
|
27
|
+
it "uses default gutter percentage" do
|
30
28
|
expect('.pad-shorthand-default').to have_rule('padding: 30px 2.35765% 10px 2.35765%')
|
31
29
|
end
|
32
30
|
end
|
data/spec/neat/row_spec.rb
CHANGED
@@ -1,10 +1,8 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe "@include row()" do
|
4
|
-
let (:identifier) {"row"}
|
5
|
-
|
6
4
|
before(:all) do
|
7
|
-
ParserSupport.parse_file(
|
5
|
+
ParserSupport.parse_file("row")
|
8
6
|
end
|
9
7
|
|
10
8
|
context "with no argument" do
|
@@ -17,7 +15,7 @@ describe "@include row()" do
|
|
17
15
|
end
|
18
16
|
end
|
19
17
|
|
20
|
-
context "with argument
|
18
|
+
context "with argument (table)" do
|
21
19
|
it "sets display to table" do
|
22
20
|
expect('.row-table').to have_rule('display: table')
|
23
21
|
end
|
data/spec/neat/shift_spec.rb
CHANGED
@@ -1,26 +1,24 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe "@include shift()" do
|
4
|
-
let (:identifier) {"shift"}
|
5
|
-
|
6
4
|
before(:all) do
|
7
|
-
ParserSupport.parse_file(
|
5
|
+
ParserSupport.parse_file("shift")
|
8
6
|
end
|
9
7
|
|
10
8
|
context "with no argument" do
|
11
|
-
it "shifts element one column
|
9
|
+
it "shifts element one column in the default direction" do
|
12
10
|
expect('.shift-default').to have_rule('margin-left: 8.5298%')
|
13
11
|
end
|
14
12
|
end
|
15
13
|
|
16
|
-
context "with argument
|
17
|
-
it "shifts element 2
|
14
|
+
context "with argument (2)" do
|
15
|
+
it "shifts element 2 columns in the default direction" do
|
18
16
|
expect('.shift-positive').to have_rule('margin-left: 17.05961%')
|
19
17
|
end
|
20
18
|
end
|
21
19
|
|
22
|
-
context "with argument
|
23
|
-
it "shifts element 3
|
20
|
+
context "with argument (-3)" do
|
21
|
+
it "shifts element 3 columns in the opposite direction" do
|
24
22
|
expect('.shift-negative').to have_rule('margin-left: -25.58941%')
|
25
23
|
end
|
26
24
|
end
|
@@ -34,4 +32,10 @@ describe "@include shift()" do
|
|
34
32
|
expect('.post-nested-shift').to have_rule('margin-left: 17.05961%')
|
35
33
|
end
|
36
34
|
end
|
35
|
+
|
36
|
+
context "when layout direction changes" do
|
37
|
+
it "shifts element in the corresponding direction" do
|
38
|
+
expect('section .shift-negative').to have_rule('margin-right: -25.58941%')
|
39
|
+
end
|
40
|
+
end
|
37
41
|
end
|
data/test/omega.scss
CHANGED
@@ -2,22 +2,12 @@
|
|
2
2
|
|
3
3
|
.omega-default {
|
4
4
|
@include omega;
|
5
|
-
color: #000;
|
6
5
|
}
|
7
6
|
|
8
7
|
.omega-table {
|
9
8
|
@include omega(table);
|
10
9
|
}
|
11
10
|
|
12
|
-
.omega-block-left {
|
13
|
-
@include omega(block, left);
|
14
|
-
color: #000;
|
15
|
-
}
|
16
|
-
|
17
|
-
.omega-table-left{
|
18
|
-
@include omega(table, left);
|
19
|
-
}
|
20
|
-
|
21
11
|
.omega-nth-default {
|
22
12
|
@include omega(4n)
|
23
13
|
}
|
@@ -26,10 +16,27 @@
|
|
26
16
|
@include omega(4n table);
|
27
17
|
}
|
28
18
|
|
29
|
-
.omega-nth
|
30
|
-
@include omega(4n
|
19
|
+
.omega-complex-nth {
|
20
|
+
@include omega("4n+1");
|
31
21
|
}
|
32
22
|
|
33
|
-
|
34
|
-
@include
|
23
|
+
section {
|
24
|
+
@include row($direction: RTL);
|
25
|
+
|
26
|
+
.omega-default-left {
|
27
|
+
@include omega;
|
28
|
+
}
|
29
|
+
|
30
|
+
.omega-table-left{
|
31
|
+
@include omega(table);
|
32
|
+
}
|
33
|
+
|
34
|
+
.omega-nth-default-left {
|
35
|
+
@include omega(4n block);
|
36
|
+
}
|
37
|
+
|
38
|
+
.omega-nth-table-left {
|
39
|
+
@include omega(4n table);
|
40
|
+
@include reset-layout-direction;
|
41
|
+
}
|
35
42
|
}
|
data/test/shift.scss
CHANGED
@@ -1,9 +1,5 @@
|
|
1
1
|
@import 'setup';
|
2
2
|
|
3
|
-
.shift-default {
|
4
|
-
@include shift;
|
5
|
-
}
|
6
|
-
|
7
3
|
.shift-positive {
|
8
4
|
@include shift(2);
|
9
5
|
}
|
@@ -25,3 +21,17 @@
|
|
25
21
|
.post-nested-shift {
|
26
22
|
@include shift(2);
|
27
23
|
}
|
24
|
+
|
25
|
+
// Changing direction
|
26
|
+
section {
|
27
|
+
@include row($direction: RTL);
|
28
|
+
|
29
|
+
.shift-negative {
|
30
|
+
@include shift(-3);
|
31
|
+
@include reset-layout-direction;
|
32
|
+
}
|
33
|
+
}
|
34
|
+
|
35
|
+
.shift-default {
|
36
|
+
@include shift;
|
37
|
+
}
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: neat
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
5
|
-
prerelease:
|
4
|
+
version: 1.3.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Kyle Fiedler
|
@@ -11,101 +10,136 @@ authors:
|
|
11
10
|
autorequire:
|
12
11
|
bindir: bin
|
13
12
|
cert_chain: []
|
14
|
-
date: 2013-
|
13
|
+
date: 2013-05-08 00:00:00.000000000 Z
|
15
14
|
dependencies:
|
16
15
|
- !ruby/object:Gem::Dependency
|
17
16
|
name: sass
|
18
|
-
requirement:
|
19
|
-
none: false
|
17
|
+
requirement: !ruby/object:Gem::Requirement
|
20
18
|
requirements:
|
21
|
-
- -
|
19
|
+
- - '>='
|
22
20
|
- !ruby/object:Gem::Version
|
23
21
|
version: '3.2'
|
24
22
|
type: :runtime
|
25
23
|
prerelease: false
|
26
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
requirements:
|
26
|
+
- - '>='
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
version: '3.2'
|
27
29
|
- !ruby/object:Gem::Dependency
|
28
30
|
name: bourbon
|
29
|
-
requirement:
|
30
|
-
none: false
|
31
|
+
requirement: !ruby/object:Gem::Requirement
|
31
32
|
requirements:
|
32
|
-
- -
|
33
|
+
- - '>='
|
33
34
|
- !ruby/object:Gem::Version
|
34
35
|
version: '2.1'
|
35
36
|
type: :runtime
|
36
37
|
prerelease: false
|
37
|
-
version_requirements:
|
38
|
+
version_requirements: !ruby/object:Gem::Requirement
|
39
|
+
requirements:
|
40
|
+
- - '>='
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: '2.1'
|
38
43
|
- !ruby/object:Gem::Dependency
|
39
44
|
name: aruba
|
40
|
-
requirement:
|
41
|
-
none: false
|
45
|
+
requirement: !ruby/object:Gem::Requirement
|
42
46
|
requirements:
|
43
47
|
- - ~>
|
44
48
|
- !ruby/object:Gem::Version
|
45
49
|
version: '0.4'
|
46
50
|
type: :development
|
47
51
|
prerelease: false
|
48
|
-
version_requirements:
|
52
|
+
version_requirements: !ruby/object:Gem::Requirement
|
53
|
+
requirements:
|
54
|
+
- - ~>
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: '0.4'
|
49
57
|
- !ruby/object:Gem::Dependency
|
50
58
|
name: rake
|
51
|
-
requirement:
|
52
|
-
none: false
|
59
|
+
requirement: !ruby/object:Gem::Requirement
|
53
60
|
requirements:
|
54
|
-
- -
|
61
|
+
- - '>='
|
55
62
|
- !ruby/object:Gem::Version
|
56
63
|
version: '0'
|
57
64
|
type: :development
|
58
65
|
prerelease: false
|
59
|
-
version_requirements:
|
66
|
+
version_requirements: !ruby/object:Gem::Requirement
|
67
|
+
requirements:
|
68
|
+
- - '>='
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: '0'
|
60
71
|
- !ruby/object:Gem::Dependency
|
61
72
|
name: css_parser
|
62
|
-
requirement:
|
63
|
-
none: false
|
73
|
+
requirement: !ruby/object:Gem::Requirement
|
64
74
|
requirements:
|
65
|
-
- -
|
75
|
+
- - '>='
|
66
76
|
- !ruby/object:Gem::Version
|
67
77
|
version: '0'
|
68
78
|
type: :development
|
69
79
|
prerelease: false
|
70
|
-
version_requirements:
|
80
|
+
version_requirements: !ruby/object:Gem::Requirement
|
81
|
+
requirements:
|
82
|
+
- - '>='
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
version: '0'
|
71
85
|
- !ruby/object:Gem::Dependency
|
72
86
|
name: rspec
|
73
|
-
requirement:
|
74
|
-
none: false
|
87
|
+
requirement: !ruby/object:Gem::Requirement
|
75
88
|
requirements:
|
76
|
-
- -
|
89
|
+
- - '>='
|
77
90
|
- !ruby/object:Gem::Version
|
78
91
|
version: '0'
|
79
92
|
type: :development
|
80
93
|
prerelease: false
|
81
|
-
version_requirements:
|
94
|
+
version_requirements: !ruby/object:Gem::Requirement
|
95
|
+
requirements:
|
96
|
+
- - '>='
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: '0'
|
82
99
|
- !ruby/object:Gem::Dependency
|
83
100
|
name: rdoc
|
84
|
-
requirement:
|
85
|
-
none: false
|
101
|
+
requirement: !ruby/object:Gem::Requirement
|
86
102
|
requirements:
|
87
|
-
- -
|
103
|
+
- - '>='
|
88
104
|
- !ruby/object:Gem::Version
|
89
105
|
version: '0'
|
90
106
|
type: :development
|
91
107
|
prerelease: false
|
92
|
-
version_requirements:
|
108
|
+
version_requirements: !ruby/object:Gem::Requirement
|
109
|
+
requirements:
|
110
|
+
- - '>='
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
version: '0'
|
93
113
|
- !ruby/object:Gem::Dependency
|
94
114
|
name: bundler
|
95
|
-
requirement:
|
96
|
-
none: false
|
115
|
+
requirement: !ruby/object:Gem::Requirement
|
97
116
|
requirements:
|
98
|
-
- -
|
117
|
+
- - '>='
|
99
118
|
- !ruby/object:Gem::Version
|
100
119
|
version: '0'
|
101
120
|
type: :development
|
102
121
|
prerelease: false
|
103
|
-
version_requirements:
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
122
|
+
version_requirements: !ruby/object:Gem::Requirement
|
123
|
+
requirements:
|
124
|
+
- - '>='
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
version: '0'
|
127
|
+
- !ruby/object:Gem::Dependency
|
128
|
+
name: rb-fsevent
|
129
|
+
requirement: !ruby/object:Gem::Requirement
|
130
|
+
requirements:
|
131
|
+
- - ~>
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: 0.9.1
|
134
|
+
type: :development
|
135
|
+
prerelease: false
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
requirements:
|
138
|
+
- - ~>
|
139
|
+
- !ruby/object:Gem::Version
|
140
|
+
version: 0.9.1
|
141
|
+
description: |
|
142
|
+
Neat is an open source 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.
|
109
143
|
email:
|
110
144
|
- support@thoughtbot.com
|
111
145
|
executables:
|
@@ -127,12 +161,13 @@ files:
|
|
127
161
|
- app/assets/stylesheets/functions/_private.scss
|
128
162
|
- app/assets/stylesheets/functions/_px-to-em.scss
|
129
163
|
- app/assets/stylesheets/grid/_fill-parent.scss
|
130
|
-
- app/assets/stylesheets/grid/_global-variables.scss
|
131
164
|
- app/assets/stylesheets/grid/_grid.scss
|
132
165
|
- app/assets/stylesheets/grid/_media.scss
|
133
166
|
- app/assets/stylesheets/grid/_omega.scss
|
134
167
|
- app/assets/stylesheets/grid/_outer-container.scss
|
135
168
|
- app/assets/stylesheets/grid/_pad.scss
|
169
|
+
- app/assets/stylesheets/grid/_private.scss
|
170
|
+
- app/assets/stylesheets/grid/_reset.scss
|
136
171
|
- app/assets/stylesheets/grid/_row.scss
|
137
172
|
- app/assets/stylesheets/grid/_shift.scss
|
138
173
|
- app/assets/stylesheets/grid/_span-columns.scss
|
@@ -173,33 +208,26 @@ files:
|
|
173
208
|
- test/span-columns.scss
|
174
209
|
homepage: https://github.com/thoughtbot/neat
|
175
210
|
licenses: []
|
211
|
+
metadata: {}
|
176
212
|
post_install_message:
|
177
213
|
rdoc_options: []
|
178
214
|
require_paths:
|
179
215
|
- lib
|
180
216
|
required_ruby_version: !ruby/object:Gem::Requirement
|
181
|
-
none: false
|
182
217
|
requirements:
|
183
|
-
- -
|
218
|
+
- - '>='
|
184
219
|
- !ruby/object:Gem::Version
|
185
220
|
version: '0'
|
186
|
-
segments:
|
187
|
-
- 0
|
188
|
-
hash: -1770698003665574111
|
189
221
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
190
|
-
none: false
|
191
222
|
requirements:
|
192
|
-
- -
|
223
|
+
- - '>='
|
193
224
|
- !ruby/object:Gem::Version
|
194
225
|
version: '0'
|
195
|
-
segments:
|
196
|
-
- 0
|
197
|
-
hash: -1770698003665574111
|
198
226
|
requirements: []
|
199
227
|
rubyforge_project: neat
|
200
|
-
rubygems_version:
|
228
|
+
rubygems_version: 2.0.3
|
201
229
|
signing_key:
|
202
|
-
specification_version:
|
230
|
+
specification_version: 4
|
203
231
|
summary: A fluid grid framework on top of Bourbon
|
204
232
|
test_files:
|
205
233
|
- spec/neat/columns_spec.rb
|