zen-grids 1.5 → 2.0.0.alpha.1
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE.txt +268 -333
- data/README.txt +8 -10
- data/_zen-grids.scss +3 -0
- data/component.json +26 -0
- data/lib/zen-grids.rb +11 -2
- data/templates/project/_init.scss +3 -2
- data/templates/unit-tests/manifest.rb +0 -2
- data/templates/unit-tests/sass/function-zen-direction-flip.scss +1 -1
- data/templates/unit-tests/sass/function-zen-grid-item-width.scss +1 -1
- data/templates/unit-tests/sass/function-zen-half-gutter.scss +1 -1
- data/templates/unit-tests/sass/function-zen-unit-width.scss +1 -1
- data/templates/unit-tests/sass/zen-clear.scss +1 -1
- data/templates/unit-tests/sass/zen-float.scss +1 -1
- data/templates/unit-tests/sass/zen-grid-background.scss +1 -1
- data/templates/unit-tests/sass/zen-grid-container.scss +1 -1
- data/templates/unit-tests/sass/zen-grid-flow-item.scss +1 -1
- data/templates/unit-tests/sass/zen-grid-item-base.scss +1 -1
- data/templates/unit-tests/sass/zen-grid-item.scss +1 -1
- data/templates/unit-tests/sass/zen-nested-container.scss +1 -1
- data/templates/unit-tests/test-results/zen-grid-item.css +3 -3
- data/zen-grids.gemspec +8 -7
- data/{stylesheets/zen → zen-grids}/_background.scss +1 -2
- data/zen-grids/_flow.scss +121 -0
- data/{stylesheets/zen → zen-grids}/_grids.scss +4 -113
- metadata +61 -48
- checksums.yaml +0 -7
- data/stylesheets/_zen.scss +0 -3
data/README.txt
CHANGED
@@ -16,13 +16,13 @@ USAGE
|
|
16
16
|
Here's a simple example: a content column with a sidebar on each side, aligned
|
17
17
|
to a 12 column grid.
|
18
18
|
|
19
|
-
@import "zen";
|
19
|
+
@import "zen-grids";
|
20
20
|
|
21
21
|
$zen-gutter-width: 40px; // Set the gutter size. A half-gutter is used on
|
22
22
|
// each side of each column.
|
23
23
|
|
24
24
|
.container {
|
25
|
-
@include zen-grid-container
|
25
|
+
@include zen-grid-container; // Define the container for your grid items.
|
26
26
|
}
|
27
27
|
|
28
28
|
$zen-column-count: 12; // Set the number of grid columns to use in this media
|
@@ -31,13 +31,13 @@ to a 12 column grid.
|
|
31
31
|
|
32
32
|
@media all and (min-width: 50em) {
|
33
33
|
.sidebar1 {
|
34
|
-
@include zen-grid-item(3, 1);
|
34
|
+
@include zen-grid-item(3, 1); // Span 3 columns starting in 1st column
|
35
35
|
}
|
36
36
|
.content {
|
37
|
-
@include zen-grid-item(6, 4);
|
37
|
+
@include zen-grid-item(6, 4); // Span 6 columns starting in 4th column
|
38
38
|
}
|
39
39
|
.sidebar2 {
|
40
|
-
@include zen-grid-item(3, 10);
|
40
|
+
@include zen-grid-item(3, 10); // Span 3 columns starting in 10th column
|
41
41
|
}
|
42
42
|
}
|
43
43
|
|
@@ -70,16 +70,14 @@ line:
|
|
70
70
|
You can then start using Zen Grids in your Sass files. Just add this line to one
|
71
71
|
of your .sass or .scss files and start creating!
|
72
72
|
|
73
|
-
@import "zen";
|
73
|
+
@import "zen-grids";
|
74
74
|
|
75
75
|
|
76
76
|
REQUIREMENTS
|
77
77
|
------------
|
78
78
|
|
79
|
-
- Sass 3.
|
80
|
-
|
81
|
-
For the zen/background module only:
|
82
|
-
- Compass 0.12 or later
|
79
|
+
- Sass 3.1 or later
|
80
|
+
- Compass 0.11 or later
|
83
81
|
|
84
82
|
|
85
83
|
LICENSE
|
data/_zen-grids.scss
ADDED
data/component.json
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
{
|
2
|
+
"name": "zen-grids",
|
3
|
+
"version": "2.0.0-alpha.1",
|
4
|
+
"author": ["John Albin Wilkins"],
|
5
|
+
"homepage": "http://zengrids.com/",
|
6
|
+
"styles": [
|
7
|
+
"_zen-grids.scss",
|
8
|
+
"zen-grids/_background.scss",
|
9
|
+
"zen-grids/_flow.scss",
|
10
|
+
"zen-grids/_grids.scss"
|
11
|
+
],
|
12
|
+
"main": [
|
13
|
+
"_zen-grids.scss",
|
14
|
+
"zen-grids/_background.scss",
|
15
|
+
"zen-grids/_flow.scss",
|
16
|
+
"zen-grids/_grids.scss"
|
17
|
+
],
|
18
|
+
"repository": {
|
19
|
+
"type": "git",
|
20
|
+
"url": "https://github.com/JohnAlbin/compass-zen-grids.git"
|
21
|
+
},
|
22
|
+
"licenses": {
|
23
|
+
"type": "GPLv2",
|
24
|
+
"url": "http://www.gnu.org/licenses/gpl-2.0.html"
|
25
|
+
}
|
26
|
+
}
|
data/lib/zen-grids.rb
CHANGED
@@ -1,3 +1,12 @@
|
|
1
1
|
require 'compass'
|
2
|
-
|
3
|
-
|
2
|
+
|
3
|
+
project_path = File.join(File.dirname(__FILE__), '..')
|
4
|
+
stylesheets_path = File.join(project_path)
|
5
|
+
templates_path = File.join(project_path, 'templates')
|
6
|
+
|
7
|
+
Compass::Frameworks.register(
|
8
|
+
'zen-grids',
|
9
|
+
:path => project_path,
|
10
|
+
:stylesheets_directory => stylesheets_path,
|
11
|
+
:templates_directory => templates_path
|
12
|
+
)
|
@@ -6,7 +6,6 @@ stylesheet 'sass/function-zen-half-gutter.scss', :media => 'all', :to => 'fu
|
|
6
6
|
stylesheet 'sass/function-zen-unit-width.scss', :media => 'all', :to => 'function-zen-unit-width.scss'
|
7
7
|
stylesheet 'sass/zen-clear.scss', :media => 'all', :to => 'zen-clear.scss'
|
8
8
|
stylesheet 'sass/zen-float.scss', :media => 'all', :to => 'zen-float.scss'
|
9
|
-
stylesheet 'sass/zen-grid-background.scss', :media => 'all', :to => 'zen-grid-background.scss'
|
10
9
|
stylesheet 'sass/zen-grid-container.scss', :media => 'all', :to => 'zen-grid-container.scss'
|
11
10
|
stylesheet 'sass/zen-grid-flow-item.scss', :media => 'all', :to => 'zen-grid-flow-item.scss'
|
12
11
|
stylesheet 'sass/zen-grid-item-base.scss', :media => 'all', :to => 'zen-grid-item-base.scss'
|
@@ -19,7 +18,6 @@ file 'test-results/function-zen-half-gutter.css'
|
|
19
18
|
file 'test-results/function-zen-unit-width.css'
|
20
19
|
file 'test-results/zen-clear.css'
|
21
20
|
file 'test-results/zen-float.css'
|
22
|
-
file 'test-results/zen-grid-background.css'
|
23
21
|
file 'test-results/zen-grid-container.css'
|
24
22
|
file 'test-results/zen-grid-flow-item.css'
|
25
23
|
file 'test-results/zen-grid-item-base.css'
|
@@ -7,7 +7,7 @@
|
|
7
7
|
float: left;
|
8
8
|
width: 50%;
|
9
9
|
margin-left: 25%;
|
10
|
-
margin-right: -
|
10
|
+
margin-right: -100%;
|
11
11
|
padding-left: 10px;
|
12
12
|
padding-right: 10px;
|
13
13
|
-moz-box-sizing: border-box;
|
@@ -50,10 +50,10 @@
|
|
50
50
|
float: left;
|
51
51
|
width: 60%;
|
52
52
|
margin-left: 30%;
|
53
|
-
margin-right: -
|
53
|
+
margin-right: -100%;
|
54
54
|
/* Test zen-grid-item(3, 3) with $zen-grid-width: 1000px, 5 column grid and 40px gutter */
|
55
55
|
float: left;
|
56
56
|
width: 600px;
|
57
57
|
margin-left: 400px;
|
58
|
-
margin-right: -
|
58
|
+
margin-right: -100%;
|
59
59
|
}
|
data/zen-grids.gemspec
CHANGED
@@ -7,24 +7,25 @@ Gem::Specification.new do |s|
|
|
7
7
|
s.description = %q{Zen Grids is an intuitive, flexible grid system that leverages the natural source order of your content to make it easier to create fluid responsive designs. With an easy-to-use Sass mixin set, the Zen Grids system can be applied to an infinite number of layouts, including responsive, adaptive, fluid and fixed-width layouts.}
|
8
8
|
|
9
9
|
s.homepage = 'http://zengrids.com'
|
10
|
-
s.license = 'GPL-2'
|
11
10
|
s.rubyforge_project =
|
12
11
|
|
13
|
-
s.version = '1
|
14
|
-
s.date = '
|
12
|
+
s.version = '2.0.0.alpha.1'
|
13
|
+
s.date = '2013-02-19'
|
15
14
|
|
16
15
|
s.authors = ['John Albin Wilkins']
|
17
16
|
s.email = 'virtually.johnalbin@gmail.com'
|
18
17
|
|
19
|
-
s.add_runtime_dependency('sass',
|
18
|
+
s.add_runtime_dependency('sass', ">= 3.1")
|
20
19
|
|
21
20
|
s.files = %w[
|
21
|
+
component.json
|
22
22
|
LICENSE.txt
|
23
23
|
README.txt
|
24
24
|
lib/zen-grids.rb
|
25
|
-
|
26
|
-
|
27
|
-
|
25
|
+
_zen-grids.scss
|
26
|
+
zen-grids/_background.scss
|
27
|
+
zen-grids/_flow.scss
|
28
|
+
zen-grids/_grids.scss
|
28
29
|
templates/project/_init.scss
|
29
30
|
templates/project/_layout.scss
|
30
31
|
templates/project/_modules.scss
|
@@ -78,7 +78,6 @@ $zen-grid-number-images : () !default;
|
|
78
78
|
$grid-width : $zen-grid-width,
|
79
79
|
$grid-color : $zen-grid-color,
|
80
80
|
$grid-numbers : $zen-grid-numbers,
|
81
|
-
$float-direction : $zen-float-direction,
|
82
81
|
$reverse-all-floats : $zen-reverse-all-floats
|
83
82
|
) {
|
84
83
|
|
@@ -98,7 +97,7 @@ $zen-grid-number-images : () !default;
|
|
98
97
|
$half-unit-width : zen-unit-width(2 * $column-count, $grid-width);
|
99
98
|
|
100
99
|
// Determine the float direction.
|
101
|
-
$dir :
|
100
|
+
$dir : left;
|
102
101
|
@if $reverse-all-floats {
|
103
102
|
$dir : zen-direction-flip($dir);
|
104
103
|
}
|
@@ -0,0 +1,121 @@
|
|
1
|
+
@import "grids";
|
2
|
+
|
3
|
+
//
|
4
|
+
// Mixins for the Zen Grids system.
|
5
|
+
//
|
6
|
+
|
7
|
+
// @see http://zengrids.com/help/#zen-auto-include-item-base
|
8
|
+
$zen-auto-include-flow-item-base : true !default;
|
9
|
+
|
10
|
+
|
11
|
+
//
|
12
|
+
// Apply this to an HTML item that is in the normal flow of a document to help
|
13
|
+
// align it to the grid. @see http://zengrids.com/help/#zen-float
|
14
|
+
//
|
15
|
+
@mixin zen-grid-flow-item(
|
16
|
+
$column-span,
|
17
|
+
$parent-column-count : false,
|
18
|
+
$alpha-gutter : false,
|
19
|
+
$omega-gutter : true,
|
20
|
+
$flow-direction : $zen-float-direction,
|
21
|
+
$column-count : $zen-column-count,
|
22
|
+
$gutter-width : $zen-gutter-width,
|
23
|
+
$grid-width : $zen-grid-width,
|
24
|
+
$box-sizing : $zen-box-sizing,
|
25
|
+
$reverse-all-flows : $zen-reverse-all-floats,
|
26
|
+
$auto-include-flow-item-base : $zen-auto-include-flow-item-base
|
27
|
+
) {
|
28
|
+
|
29
|
+
$columns: $column-count;
|
30
|
+
@if unit($grid-width) == "%" {
|
31
|
+
@if $parent-column-count == false {
|
32
|
+
@warn "For responsive layouts with a percentage-based grid width, you must set the $parent-column-count to the number of columns that the parent element spans.";
|
33
|
+
}
|
34
|
+
@else {
|
35
|
+
$columns: $parent-column-count;
|
36
|
+
}
|
37
|
+
}
|
38
|
+
|
39
|
+
$dir: $flow-direction;
|
40
|
+
@if $reverse-all-flows {
|
41
|
+
$dir: zen-direction-flip($dir);
|
42
|
+
}
|
43
|
+
$rev: zen-direction-flip($dir);
|
44
|
+
|
45
|
+
// Auto-apply the unit base mixin.
|
46
|
+
@if $auto-include-flow-item-base {
|
47
|
+
@include zen-grid-item-base($gutter-width, $box-sizing);
|
48
|
+
}
|
49
|
+
|
50
|
+
// Calculate the item's width.
|
51
|
+
$width: zen-grid-item-width($column-span, $columns, $gutter-width, $grid-width, $box-sizing);
|
52
|
+
|
53
|
+
@if unit($grid-width) == "%" {
|
54
|
+
// Our percentage $width is off if the parent has $gutter-width padding.
|
55
|
+
// Calculate an adjusted gutter to fix the width.
|
56
|
+
$adjusted-gutter: ($columns - $column-span) * $gutter-width / $columns;
|
57
|
+
|
58
|
+
width: $width;
|
59
|
+
|
60
|
+
// Ensure the HTML item either has a full gutter or no gutter on each side.
|
61
|
+
padding-#{$dir}: 0;
|
62
|
+
@if $alpha-gutter {
|
63
|
+
margin-#{$dir}: $gutter-width;
|
64
|
+
}
|
65
|
+
padding-#{$rev}: $adjusted-gutter;
|
66
|
+
@if $omega-gutter {
|
67
|
+
margin-#{$rev}: $gutter-width - $adjusted-gutter;
|
68
|
+
}
|
69
|
+
@else {
|
70
|
+
margin-#{$rev}: -($adjusted-gutter);
|
71
|
+
}
|
72
|
+
}
|
73
|
+
@else {
|
74
|
+
@if $alpha-gutter and $omega-gutter {
|
75
|
+
width: $width;
|
76
|
+
@if $gutter-width != 0 {
|
77
|
+
margin: {
|
78
|
+
#{$dir}: zen-half-gutter($gutter-width, left, $dir);
|
79
|
+
#{$rev}: zen-half-gutter($gutter-width, right, $dir);
|
80
|
+
}
|
81
|
+
}
|
82
|
+
}
|
83
|
+
@else if not $alpha-gutter and not $omega-gutter {
|
84
|
+
width: if($box-sizing == border-box, ($width - $gutter-width), $width);
|
85
|
+
@if $gutter-width != 0 {
|
86
|
+
padding: {
|
87
|
+
left: 0;
|
88
|
+
right: 0;
|
89
|
+
}
|
90
|
+
}
|
91
|
+
}
|
92
|
+
@else {
|
93
|
+
width: $width;
|
94
|
+
@if $omega-gutter {
|
95
|
+
padding-#{$dir}: 0;
|
96
|
+
padding-#{$rev}: $gutter-width;
|
97
|
+
}
|
98
|
+
@else {
|
99
|
+
padding-#{$dir}: $gutter-width;
|
100
|
+
padding-#{$rev}: 0;
|
101
|
+
}
|
102
|
+
}
|
103
|
+
}
|
104
|
+
}
|
105
|
+
|
106
|
+
//
|
107
|
+
// Apply this to flow items that need to be floated.
|
108
|
+
// @see http://zengrids.com/help/#zen-float
|
109
|
+
//
|
110
|
+
@mixin zen-float(
|
111
|
+
$float-direction : $zen-float-direction,
|
112
|
+
$reverse-all-floats : $zen-reverse-all-floats
|
113
|
+
) {
|
114
|
+
// Determine the float direction.
|
115
|
+
$dir: $float-direction;
|
116
|
+
@if $reverse-all-floats {
|
117
|
+
$dir: zen-direction-flip($dir);
|
118
|
+
}
|
119
|
+
float: $dir;
|
120
|
+
}
|
121
|
+
|