compass-flexbox 1.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.
- data/lib/compass-flexbox.rb +6 -0
- data/stylesheets/_flexbox.scss +298 -0
- data/templates/example/compass-flexbox.html +57 -0
- data/templates/example/compass-flexbox.scss +180 -0
- data/templates/example/manifest.rb +1 -0
- metadata +98 -0
@@ -0,0 +1,298 @@
|
|
1
|
+
@import "compass/css3/shared";
|
2
|
+
|
3
|
+
// Enabling flexbox: setting an element to be a flex container
|
4
|
+
@mixin display-flex() {
|
5
|
+
@include experimental-value(display, box, -moz, -webkit, not -o, not -ms, not -khtml, not official);
|
6
|
+
@include experimental-value(display, flexbox, not -moz, not -webkit, not -o, -ms, not -khtml, not official);
|
7
|
+
@include experimental-value(display, flex, not -moz, -webkit, not -o, not -ms, not -khtml, official);
|
8
|
+
}
|
9
|
+
|
10
|
+
@mixin display-inline-flex() {
|
11
|
+
@include experimental-value(display, inline-box, -moz, -webkit, not -o, not -ms, not -khtml, not official);
|
12
|
+
@include experimental-value(display, inline-flexbox, not -moz, not -webkit, not -o, -ms, not -khtml, not official);
|
13
|
+
@include experimental-value(display, inline-flex, not -moz, -webkit, not -o, not -ms, not -khtml, official);
|
14
|
+
}
|
15
|
+
|
16
|
+
// Axis alignment: specifying alignment of items along the main flexbox axis
|
17
|
+
|
18
|
+
$default-justify-content: flex-start !default;
|
19
|
+
|
20
|
+
@mixin justify-content(
|
21
|
+
$justification: $default-justify-content
|
22
|
+
) {
|
23
|
+
@include _flex-property(justify-content, $justification, flex-pack, box-pack);
|
24
|
+
}
|
25
|
+
|
26
|
+
// Cross-axis alignment: specifying alignment of items along the cross-axis
|
27
|
+
|
28
|
+
$default-align-items: stretch !default;
|
29
|
+
|
30
|
+
@mixin align-items(
|
31
|
+
$alignment: $default-align-items
|
32
|
+
) {
|
33
|
+
@include _flex-property(align-items, $alignment, flex-align, box-align);
|
34
|
+
}
|
35
|
+
|
36
|
+
// Individual cross-axis alignment: override to align individual items along the cross-axis
|
37
|
+
|
38
|
+
$default-align-self: stretch !default;
|
39
|
+
|
40
|
+
@mixin align-self(
|
41
|
+
$alignment: $default-align-self
|
42
|
+
) {
|
43
|
+
@include _flex-property(align-self, $alignment, flex-item-align, null);
|
44
|
+
}
|
45
|
+
|
46
|
+
// Flex line alignment: specifying alignment of flex lines along the cross-axis
|
47
|
+
|
48
|
+
$default-align-content: stretch !default;
|
49
|
+
|
50
|
+
@mixin align-content(
|
51
|
+
$alignment: $default-align-content
|
52
|
+
) {
|
53
|
+
@include _flex-property(align-items, $alignment, flex-line-pack, null);
|
54
|
+
}
|
55
|
+
|
56
|
+
// Display order: specifying the order of flex items
|
57
|
+
|
58
|
+
$default-order: 1 !default;
|
59
|
+
|
60
|
+
@mixin order(
|
61
|
+
$order: $default-order
|
62
|
+
) {
|
63
|
+
@include _flex-property(order, $order, flex-order, box-ordinal-group);
|
64
|
+
}
|
65
|
+
|
66
|
+
// Flexibility: specifying how the size of items flex
|
67
|
+
|
68
|
+
$default-flex: 1 !default;
|
69
|
+
|
70
|
+
@mixin flex(
|
71
|
+
$amount: $default-flex
|
72
|
+
) {
|
73
|
+
@include _flex-property(flex, $amount, flex, box-flex);
|
74
|
+
}
|
75
|
+
|
76
|
+
$default-flex-grow: $default-flex !default;
|
77
|
+
|
78
|
+
@mixin flex-grow(
|
79
|
+
$amount: $default-flex-grow
|
80
|
+
) {
|
81
|
+
@include _flex-property(flex-grow, $amount);
|
82
|
+
}
|
83
|
+
|
84
|
+
$default-flex-shrink: $default-flex !default;
|
85
|
+
|
86
|
+
@mixin flex-shrink(
|
87
|
+
$amount: $default-flex-shrink
|
88
|
+
) {
|
89
|
+
@include _flex-property(flex-shrink, $amount);
|
90
|
+
}
|
91
|
+
|
92
|
+
$default-flex-basis: $default-flex !default;
|
93
|
+
|
94
|
+
@mixin flex-basis(
|
95
|
+
$amount: $default-flex-basis
|
96
|
+
) {
|
97
|
+
@include _flex-property(flex-basis, $amount);
|
98
|
+
}
|
99
|
+
|
100
|
+
// Direction: specifying the direction of the main flexbox axis
|
101
|
+
|
102
|
+
$default-flex-direction: row !default;
|
103
|
+
|
104
|
+
@mixin flex-direction(
|
105
|
+
$direction: $default-flex-direction
|
106
|
+
) {
|
107
|
+
@include _flex-property(flex-direction, $direction, flex-direction, box-orient);
|
108
|
+
}
|
109
|
+
|
110
|
+
// Wrapping: specifying if and how flex items wrap along the cross-axis
|
111
|
+
|
112
|
+
$default-flex-wrap: nowrap !default;
|
113
|
+
|
114
|
+
@mixin flex-wrap(
|
115
|
+
$wrap: $default-flex-wrap
|
116
|
+
) {
|
117
|
+
@include _flex-property(flex-wrap, $wrap, flex-wrap, box-lines);
|
118
|
+
}
|
119
|
+
|
120
|
+
// Shorthand for flex-direction & flex-wrap
|
121
|
+
|
122
|
+
$default-flex-flow: $default-flex-direction $default-flex-wrap !default;
|
123
|
+
|
124
|
+
@mixin flex-flow(
|
125
|
+
$flow: $default-flex-flow
|
126
|
+
) {
|
127
|
+
@include _flex-property(flex-flow, $flow, flex-flow, null);
|
128
|
+
}
|
129
|
+
|
130
|
+
// Internal functions; not intended to be called directly
|
131
|
+
|
132
|
+
@mixin _flex-property($standard-property, $value, $ie-property: null, $legacy-property: null) {
|
133
|
+
$standard-property: unquote($standard-property);
|
134
|
+
$ie-property: unquote($ie-property);
|
135
|
+
$legacy-property: unquote($legacy-property);
|
136
|
+
$value: unquote($value);
|
137
|
+
$standard-value: $value;
|
138
|
+
$ie-value: _flex-value($standard-property, $value, ie);
|
139
|
+
$legacy-value: _flex-value($standard-property, $value, legacy);
|
140
|
+
|
141
|
+
// Safari, Firefox (buggy), iOS, Android browser, older WebKit browsers
|
142
|
+
@if $legacy-property {
|
143
|
+
@if $legacy-value {
|
144
|
+
@if $standard-property == flex-direction and ($value == row-reverse or $value == column-reverse) {
|
145
|
+
@include experimental(box-direction, reverse, -moz, -webkit, not -o, not -ms, not -khtml, not official);
|
146
|
+
}
|
147
|
+
@include experimental($legacy-property, $legacy-value, -moz, -webkit, not -o, not -ms, not -khtml, not official);
|
148
|
+
}
|
149
|
+
} @else {
|
150
|
+
@warn _support-warning($standard-property, "legacy");
|
151
|
+
}
|
152
|
+
|
153
|
+
// IE 10
|
154
|
+
@if $ie-property and $ie-value {
|
155
|
+
@include experimental($ie-property, $ie-value, not -moz, not -webkit, not -o, -ms, not -khtml, not official);
|
156
|
+
}
|
157
|
+
|
158
|
+
// Chrome 21+, Opera 12.1, Firefox 22+
|
159
|
+
@include experimental($standard-property, $standard-value, not -moz, -webkit, not -o, not -ms, not -khtml, official);
|
160
|
+
}
|
161
|
+
|
162
|
+
@function _flex-value($property, $value, $syntax) {
|
163
|
+
$new-value: $value;
|
164
|
+
$warning: false;
|
165
|
+
|
166
|
+
@if $property == justify-content {
|
167
|
+
@if $value == flex-start {
|
168
|
+
@if $syntax == legacy or $syntax == ie {
|
169
|
+
$new-value: start;
|
170
|
+
}
|
171
|
+
}
|
172
|
+
@else if $value == flex-end {
|
173
|
+
@if $syntax == legacy or $syntax == ie {
|
174
|
+
$new-value: end;
|
175
|
+
}
|
176
|
+
}
|
177
|
+
@else if $value == space-between {
|
178
|
+
@if $syntax == legacy {
|
179
|
+
$warning: "\"#{$property}: #{$value}\" does not work in the legacy Firefox implementation";
|
180
|
+
}
|
181
|
+
@if $syntax == legacy or $syntax == ie {
|
182
|
+
$new-value: justify;
|
183
|
+
}
|
184
|
+
}
|
185
|
+
@else if $value == space-around {
|
186
|
+
@if $syntax == legacy {
|
187
|
+
$new-value: null;
|
188
|
+
} @else if $syntax == ie {
|
189
|
+
$new-value: distribute;
|
190
|
+
}
|
191
|
+
}
|
192
|
+
}
|
193
|
+
|
194
|
+
@if $property == align-items {
|
195
|
+
@if $value == flex-start {
|
196
|
+
@if $syntax == legacy or $syntax == ie {
|
197
|
+
$new-value: start;
|
198
|
+
}
|
199
|
+
}
|
200
|
+
@else if $value == flex-end {
|
201
|
+
@if $syntax == legacy or $syntax == ie {
|
202
|
+
$new-value: end;
|
203
|
+
}
|
204
|
+
}
|
205
|
+
}
|
206
|
+
|
207
|
+
@if $property == align-self {
|
208
|
+
@if $value == flex-start {
|
209
|
+
@if $syntax == ie {
|
210
|
+
$new-value: start;
|
211
|
+
}
|
212
|
+
}
|
213
|
+
@else if $value == flex-end {
|
214
|
+
@if $syntax == ie {
|
215
|
+
$new-value: end;
|
216
|
+
}
|
217
|
+
}
|
218
|
+
}
|
219
|
+
|
220
|
+
@if $property == align-content {
|
221
|
+
@if $value == flex-start {
|
222
|
+
@if $syntax == ie {
|
223
|
+
$new-value: start;
|
224
|
+
}
|
225
|
+
}
|
226
|
+
@else if $value == flex-end {
|
227
|
+
@if $syntax == ie {
|
228
|
+
$new-value: end;
|
229
|
+
}
|
230
|
+
}
|
231
|
+
@else if $value == space-between {
|
232
|
+
@if $syntax == ie {
|
233
|
+
$new-value: justify;
|
234
|
+
}
|
235
|
+
}
|
236
|
+
@else if $value == space-around {
|
237
|
+
@if $syntax == ie {
|
238
|
+
$new-value: distribute;
|
239
|
+
}
|
240
|
+
}
|
241
|
+
}
|
242
|
+
|
243
|
+
@if $property == order {
|
244
|
+
@if $syntax == legacy and $value < 1 {
|
245
|
+
$warning: "\"#{$property}\" must be a positive integer in the \"#{$syntax}\" syntax";
|
246
|
+
$new-value: null;
|
247
|
+
}
|
248
|
+
}
|
249
|
+
|
250
|
+
@if $property == flex {
|
251
|
+
@if $syntax == legacy and type_of($value) != number {
|
252
|
+
$warning: "\"#{$property}\" only accepts an integer in the \"#{$syntax}\" syntax";
|
253
|
+
$new-value: null;
|
254
|
+
}
|
255
|
+
}
|
256
|
+
|
257
|
+
@if $property == flex-direction {
|
258
|
+
@if $value == row or $value == row-reverse {
|
259
|
+
@if $syntax == legacy {
|
260
|
+
$new-value: horizontal;
|
261
|
+
}
|
262
|
+
}
|
263
|
+
@else if $value == column or $value == column-reverse {
|
264
|
+
@if $syntax == legacy {
|
265
|
+
$new-value: vertical;
|
266
|
+
}
|
267
|
+
}
|
268
|
+
}
|
269
|
+
|
270
|
+
@if $property == flex-wrap {
|
271
|
+
@if $value == nowrap {
|
272
|
+
@if $syntax == legacy {
|
273
|
+
$new-value: single;
|
274
|
+
}
|
275
|
+
}
|
276
|
+
@else if $value == wrap {
|
277
|
+
@if $syntax == legacy {
|
278
|
+
@warn "\"#{$property}: #{$value}\" is not supported consistently in the \"#{$syntax}\" syntax";
|
279
|
+
$new-value: multiple;
|
280
|
+
}
|
281
|
+
}
|
282
|
+
@else if $value == wrap-reverse {
|
283
|
+
@if $syntax == legacy {
|
284
|
+
$new-value: null;
|
285
|
+
}
|
286
|
+
}
|
287
|
+
}
|
288
|
+
|
289
|
+
@if $new-value == null or $warning {
|
290
|
+
@warn if($warning, $warning, _support-warning("#{$property}: #{$value}", $syntax));
|
291
|
+
}
|
292
|
+
|
293
|
+
@return $new-value;
|
294
|
+
}
|
295
|
+
|
296
|
+
@function _support-warning($value, $syntax) {
|
297
|
+
@return "\"#{$value}\" not supported in the #{$syntax} syntax"
|
298
|
+
}
|
@@ -0,0 +1,57 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
6
|
+
<title>Flex Box</title>
|
7
|
+
<meta name="description" content="">
|
8
|
+
<meta name="viewport" content="width=device-width">
|
9
|
+
<link rel="stylesheet" href="stylesheets/compass-flexbox.css">
|
10
|
+
</head>
|
11
|
+
<body>
|
12
|
+
<h1>Compass Flexbox</h1>
|
13
|
+
<p></p>
|
14
|
+
<h2>Horizontally & Vertically Centered Box</h2>
|
15
|
+
<p>Justify-content, the CSS property that launched a thousand blog posts</p>
|
16
|
+
<div class="centered-box-container">
|
17
|
+
<div class="centered-box">HOLY SHIT</div>
|
18
|
+
</div>
|
19
|
+
<h2>Nav</h2>
|
20
|
+
<p>One child item can be set up "fill" all remaining space in a container</p>
|
21
|
+
<div class="flex-nav">
|
22
|
+
<div class="flex-nav-item">Home</div>
|
23
|
+
<div class="flex-nav-item">Shop</div>
|
24
|
+
<div class="flex-nav-item">Sports</div>
|
25
|
+
<div class="flex-nav-item--search"><label><input type="search" placeholder="Search"></label></div>
|
26
|
+
<div class="flex-nav-item">Help</div>
|
27
|
+
<div class="flex-nav-item">Cart</div>
|
28
|
+
<div class="flex-nav-item">Join</div>
|
29
|
+
</div>
|
30
|
+
<h2>Holy Grail Layout</h2>
|
31
|
+
<p>Flexbox finally gives use source-order independence</p>
|
32
|
+
<h3>Desktop</h3>
|
33
|
+
<div class="holy-grail">
|
34
|
+
<header>Header</header>
|
35
|
+
<main class="holy-grail-body">
|
36
|
+
<article>Main</article>
|
37
|
+
<nav>Nav</nav>
|
38
|
+
<aside>Sidebar</aside>
|
39
|
+
</main>
|
40
|
+
<footer>Footer</footer>
|
41
|
+
</div>
|
42
|
+
<h3>Mobile (Same Markup)</h3>
|
43
|
+
<div class="holy-grail is-mobile">
|
44
|
+
<header>Header</header>
|
45
|
+
<main class="holy-grail-body">
|
46
|
+
<article>Main</article>
|
47
|
+
<nav>Nav</nav>
|
48
|
+
<aside>Sidebar</aside>
|
49
|
+
</main>
|
50
|
+
<footer>Footer</footer>
|
51
|
+
</div>
|
52
|
+
<aside>
|
53
|
+
<a href="https://github.com/timhettler/compass-flexbox"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://s3.amazonaws.com/github/ribbons/forkme_right_red_aa0000.png" alt="Fork me on GitHub"></a>
|
54
|
+
</aside>
|
55
|
+
<script src="javascripts/libs/prism.js"></script>
|
56
|
+
</body>
|
57
|
+
</html>
|
@@ -0,0 +1,180 @@
|
|
1
|
+
@import "flexbox";
|
2
|
+
@import "compass/css3/box-sizing";
|
3
|
+
@import "compass/css3/transition";
|
4
|
+
|
5
|
+
@import "libs/prism";
|
6
|
+
|
7
|
+
body {
|
8
|
+
font-family: Helvetica;
|
9
|
+
}
|
10
|
+
|
11
|
+
%flex-container {
|
12
|
+
background-color: rgba(skyblue, 0.2);
|
13
|
+
@include display-flex();
|
14
|
+
min-height: 250px;
|
15
|
+
width: 100%;
|
16
|
+
}
|
17
|
+
|
18
|
+
$flex-item-dimension: 220px;
|
19
|
+
|
20
|
+
.flex-item {
|
21
|
+
@include display-flex();
|
22
|
+
@include justify-content(center);
|
23
|
+
@include align-items(center);
|
24
|
+
background-color: hotpink;
|
25
|
+
color: white;
|
26
|
+
height: $flex-item-dimension;
|
27
|
+
text-align: center;
|
28
|
+
width: $flex-item-dimension;
|
29
|
+
}
|
30
|
+
|
31
|
+
.code-comparison {
|
32
|
+
@include display-flex();
|
33
|
+
margin: 1.5em 0;
|
34
|
+
width: 100%;
|
35
|
+
}
|
36
|
+
|
37
|
+
.code-comparison--child {
|
38
|
+
@include flex(1);
|
39
|
+
min-height: 100px;
|
40
|
+
|
41
|
+
&:nth-child(1) {
|
42
|
+
margin-right: 5px;
|
43
|
+
}
|
44
|
+
|
45
|
+
&:nth-child(2) {
|
46
|
+
margin-left: 5px;
|
47
|
+
}
|
48
|
+
}
|
49
|
+
|
50
|
+
// Centered Box
|
51
|
+
|
52
|
+
.centered-box-container {
|
53
|
+
@extend %flex-container;
|
54
|
+
@include justify-content(center);
|
55
|
+
@include align-items(center);
|
56
|
+
height: 500px;
|
57
|
+
}
|
58
|
+
|
59
|
+
.centered-box {
|
60
|
+
@extend .flex-item;
|
61
|
+
@include single-transition();
|
62
|
+
|
63
|
+
&:hover {
|
64
|
+
height: 400px;
|
65
|
+
width: 500px;
|
66
|
+
}
|
67
|
+
}
|
68
|
+
|
69
|
+
// Holy Grail
|
70
|
+
|
71
|
+
$holy-grail-margin: 5px;
|
72
|
+
|
73
|
+
%holy-grail-item {
|
74
|
+
padding: 10px;
|
75
|
+
|
76
|
+
.is-mobile & {
|
77
|
+
@include flex(1);
|
78
|
+
@include order(1);
|
79
|
+
}
|
80
|
+
}
|
81
|
+
|
82
|
+
.holy-grail {
|
83
|
+
@include display-flex();
|
84
|
+
@include flex-direction(column);
|
85
|
+
margin: 0 auto;
|
86
|
+
text-align: center;
|
87
|
+
width: 100%;
|
88
|
+
|
89
|
+
&.is-mobile {
|
90
|
+
max-width: 320px;
|
91
|
+
}
|
92
|
+
|
93
|
+
> header, > footer {
|
94
|
+
@extend %holy-grail-item;
|
95
|
+
background-color: Moccasin;
|
96
|
+
}
|
97
|
+
}
|
98
|
+
|
99
|
+
.holy-grail-body {
|
100
|
+
@include display-flex();
|
101
|
+
@include flex-direction(row);
|
102
|
+
margin: $holy-grail-margin 0;
|
103
|
+
width: 100%;
|
104
|
+
|
105
|
+
.is-mobile & {
|
106
|
+
@include flex-direction(column);
|
107
|
+
margin: 0;
|
108
|
+
}
|
109
|
+
|
110
|
+
article {
|
111
|
+
@extend %holy-grail-item;
|
112
|
+
@include flex(3);
|
113
|
+
@include order(2);
|
114
|
+
background-color: PaleTurquoise;
|
115
|
+
margin: 0 $holy-grail-margin;
|
116
|
+
min-height: 100px;
|
117
|
+
|
118
|
+
.is-mobile & {
|
119
|
+
margin: 0;
|
120
|
+
}
|
121
|
+
}
|
122
|
+
|
123
|
+
nav {
|
124
|
+
@extend %holy-grail-item;
|
125
|
+
@include flex(1);
|
126
|
+
@include order(1);
|
127
|
+
background-color: hotpink;
|
128
|
+
}
|
129
|
+
|
130
|
+
aside {
|
131
|
+
@extend %holy-grail-item;
|
132
|
+
@include flex(1);
|
133
|
+
@include order(3);
|
134
|
+
background-color: Thistle;
|
135
|
+
}
|
136
|
+
}
|
137
|
+
|
138
|
+
// Nav
|
139
|
+
|
140
|
+
.flex-nav {
|
141
|
+
@include display-flex();
|
142
|
+
width: 100%;
|
143
|
+
}
|
144
|
+
|
145
|
+
%flex-nav-item {
|
146
|
+
@include align-items(center);
|
147
|
+
@include display-flex();
|
148
|
+
@include justify-content(center);
|
149
|
+
background-color: #ccc;
|
150
|
+
border: {
|
151
|
+
left: 1px solid #999;
|
152
|
+
};
|
153
|
+
padding: 5px 10px;
|
154
|
+
}
|
155
|
+
|
156
|
+
.flex-nav-item {
|
157
|
+
@extend %flex-nav-item;
|
158
|
+
|
159
|
+
&:hover {
|
160
|
+
background-color: #aaa;
|
161
|
+
}
|
162
|
+
}
|
163
|
+
|
164
|
+
.flex-nav-item--search {
|
165
|
+
@extend %flex-nav-item;
|
166
|
+
@include flex(1);
|
167
|
+
|
168
|
+
label {
|
169
|
+
display: block;
|
170
|
+
margin: 0 auto;
|
171
|
+
max-width: 500px;
|
172
|
+
width: 100%;
|
173
|
+
}
|
174
|
+
|
175
|
+
input {
|
176
|
+
@include box-sizing(border-box);
|
177
|
+
display: block;
|
178
|
+
width: 100%;
|
179
|
+
}
|
180
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
discover :all
|
metadata
ADDED
@@ -0,0 +1,98 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: compass-flexbox
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 15
|
5
|
+
prerelease:
|
6
|
+
segments:
|
7
|
+
- 1
|
8
|
+
- 0
|
9
|
+
version: "1.0"
|
10
|
+
platform: ruby
|
11
|
+
authors:
|
12
|
+
- Tim Hettler
|
13
|
+
autorequire:
|
14
|
+
bindir: bin
|
15
|
+
cert_chain: []
|
16
|
+
|
17
|
+
date: 2013-06-10 00:00:00 Z
|
18
|
+
dependencies:
|
19
|
+
- !ruby/object:Gem::Dependency
|
20
|
+
name: sass
|
21
|
+
prerelease: false
|
22
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
23
|
+
none: false
|
24
|
+
requirements:
|
25
|
+
- - ">="
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
hash: 3
|
28
|
+
segments:
|
29
|
+
- 0
|
30
|
+
version: "0"
|
31
|
+
type: :runtime
|
32
|
+
version_requirements: *id001
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: compass
|
35
|
+
prerelease: false
|
36
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
37
|
+
none: false
|
38
|
+
requirements:
|
39
|
+
- - ">="
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
hash: 3
|
42
|
+
segments:
|
43
|
+
- 0
|
44
|
+
version: "0"
|
45
|
+
type: :runtime
|
46
|
+
version_requirements: *id002
|
47
|
+
description: A compass extension that provides variables & mixins for the latest Flexible Box Layout (flexbox) specification
|
48
|
+
email:
|
49
|
+
- me+github@timhettler.com
|
50
|
+
executables: []
|
51
|
+
|
52
|
+
extensions: []
|
53
|
+
|
54
|
+
extra_rdoc_files: []
|
55
|
+
|
56
|
+
files:
|
57
|
+
- lib/compass-flexbox.rb
|
58
|
+
- stylesheets/_flexbox.scss
|
59
|
+
- templates/example/compass-flexbox.html
|
60
|
+
- templates/example/compass-flexbox.scss
|
61
|
+
- templates/example/manifest.rb
|
62
|
+
homepage: https://github.com/timhettler/compass-flexbox
|
63
|
+
licenses: []
|
64
|
+
|
65
|
+
post_install_message:
|
66
|
+
rdoc_options: []
|
67
|
+
|
68
|
+
require_paths:
|
69
|
+
- lib
|
70
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
71
|
+
none: false
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
hash: 3
|
76
|
+
segments:
|
77
|
+
- 0
|
78
|
+
version: "0"
|
79
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
80
|
+
none: false
|
81
|
+
requirements:
|
82
|
+
- - ">="
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
hash: 23
|
85
|
+
segments:
|
86
|
+
- 1
|
87
|
+
- 3
|
88
|
+
- 6
|
89
|
+
version: 1.3.6
|
90
|
+
requirements: []
|
91
|
+
|
92
|
+
rubyforge_project:
|
93
|
+
rubygems_version: 1.8.25
|
94
|
+
signing_key:
|
95
|
+
specification_version: 3
|
96
|
+
summary: A compass extension that provides variables & mixins for the latest Flexible Box Layout (flexbox) specification
|
97
|
+
test_files: []
|
98
|
+
|