edge_framework 0.9.0 → 0.9.9
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/README.md +6 -10
- data/assets/js/edge/edge.animate.js +0 -0
- data/assets/sass/edge/_base.scss +34 -22
- data/assets/sass/edge/_components.scss +5 -4
- data/assets/sass/edge/_helpers.scss +2 -14
- data/assets/sass/edge/components/_animate.scss +151 -0
- data/assets/sass/edge/components/_button.scss +98 -41
- data/assets/sass/edge/components/_code.scss +170 -166
- data/assets/sass/edge/components/_form.scss +77 -76
- data/assets/sass/edge/components/_grid.scss +15 -12
- data/assets/sass/edge/components/_normalize.scss +60 -59
- data/assets/sass/edge/components/_print.scss +73 -70
- data/assets/sass/edge/components/_tile.scss +24 -10
- data/assets/sass/edge/components/_typography.scss +127 -138
- data/assets/sass/edge/components/_visibility.scss +156 -44
- data/assets/sass/edge/helpers/_sprites.scss +75 -63
- data/assets/sass/edge/helpers/_sticky-footer.scss +26 -31
- data/assets/sass/edge.scss +1 -1
- data/assets/sass/for-test.scss +247 -151
- data/assets/test.html +323 -11
- data/edge.gemspec +17 -18
- data/lib/edge/engine.rb +19 -0
- data/lib/edge/message.rb +32 -29
- data/lib/edge/sprockets.rb +4 -0
- data/lib/edge/version.rb +2 -2
- data/lib/edge_framework.rb +63 -67
- data/template/base/assets/js/app.js +1 -1
- data/template/base/assets/sass/_setting.scss +35 -35
- data/template/base/config.rb +1 -1
- data/template/html/index.html +3 -3
- data/template/php/partials/footer.php +2 -2
- data/template/wordpress/footer.php +2 -3
- metadata +8 -24
- data/assets/sass/edge/components/_block-grid-margin.scss +0 -112
- data/assets/sass/edge/components/_grid-margin.scss +0 -309
- data/assets/sass/edge/components/_grid-old.scss +0 -287
- data/lib/edge/console.rb +0 -15
@@ -1,8 +1,11 @@
|
|
1
|
+
// ==================
|
2
|
+
// EDGE TYPOGRAPHY
|
3
|
+
// ==================
|
4
|
+
|
1
5
|
// BODY
|
2
6
|
$body-background : #fff !default;
|
3
7
|
$body-font-color : #222 !default;
|
4
|
-
$body-font-weight :
|
5
|
-
$body-font-style : normal !default;
|
8
|
+
$body-font-weight : 400 !default;
|
6
9
|
|
7
10
|
// Compass' VERTICAL RHYTM
|
8
11
|
// note: variable for $body-font-size and $body-line-height is in _base.scss due to it being used in em conversion
|
@@ -34,172 +37,158 @@ $ul-child-style : circle !default;
|
|
34
37
|
$ol-parent-style : decimal !default;
|
35
38
|
$ol-child-style : lower-alpha !default;
|
36
39
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
40
|
+
// ------------------------------------------------
|
41
|
+
// VERTICAL RHYTHM
|
42
|
+
// - Apply vertically-aligned paragraph and header
|
43
|
+
// ------------------------------------------------
|
44
|
+
@mixin vertical-rhythm(
|
45
|
+
$font-size : $base-font-size,
|
46
|
+
$line-height : $base-line-height,
|
47
|
+
$for-base : false) {
|
48
|
+
|
49
|
+
$base-font-size : $font-size;
|
50
|
+
$base-line-height : $font-size * $line-height;
|
51
|
+
|
52
|
+
@if not $for-base {
|
53
|
+
font-size: em($font-size);
|
54
|
+
line-height: $line-height;
|
55
|
+
}
|
56
|
+
|
57
|
+
h1 { @include adjust-font-size-to($h1-font-size); }
|
58
|
+
h2 { @include adjust-font-size-to($h2-font-size); }
|
59
|
+
h3 { @include adjust-font-size-to($h3-font-size); }
|
60
|
+
h4 { @include adjust-font-size-to($h4-font-size); }
|
61
|
+
h5 { @include adjust-font-size-to($h5-font-size); }
|
62
|
+
h6 { @include adjust-font-size-to($h6-font-size); }
|
63
|
+
|
64
|
+
p {
|
65
|
+
@include trailer(1);
|
66
|
+
|
67
|
+
&:last-child,
|
68
|
+
&:last-of-type {
|
69
|
+
@include trailer(0);
|
70
|
+
}
|
71
|
+
|
72
|
+
+ ul,
|
73
|
+
+ ol {
|
74
|
+
@include trailer(1);
|
75
|
+
}
|
76
|
+
}
|
61
77
|
}
|
62
78
|
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
79
|
+
// ------------------------------
|
80
|
+
// BASELINE
|
81
|
+
// - Create notebook-like row
|
82
|
+
// ------------------------------
|
83
|
+
@mixin baseline(
|
84
|
+
$font-size : $base-font-size,
|
85
|
+
$line-height : $base-line-height) {
|
86
|
+
|
87
|
+
@include background(
|
88
|
+
linear-gradient(to bottom, rgba(black, 0) 95%, rgba(black, .3) 100%)
|
89
|
+
);
|
90
|
+
background-size: 100% em($font-size * $line-height, $font-size);
|
68
91
|
}
|
69
92
|
|
70
|
-
@if $include-typography {
|
93
|
+
@if $include-typography and not $external-call {
|
71
94
|
|
72
|
-
/*
|
73
|
-
EDGE Typography
|
74
|
-
|
95
|
+
/* -----------------
|
96
|
+
EDGE Typography
|
97
|
+
----------------- */
|
75
98
|
|
76
99
|
body {
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
color: $body-font-color;
|
100
|
+
position: relative;
|
101
|
+
background: $body-background;
|
102
|
+
font-size: $base-font-size;
|
103
|
+
font-family: $body-font-family;
|
104
|
+
font-weight: $body-font-weight;
|
105
|
+
line-height: $base-line-height;
|
106
|
+
color: $body-font-color;
|
85
107
|
}
|
86
108
|
|
87
109
|
.baseline {
|
88
|
-
|
110
|
+
@include baseline();
|
89
111
|
}
|
90
112
|
|
91
113
|
h1, h2, h3, h4, h5, h6 {
|
92
|
-
|
93
|
-
|
94
|
-
|
114
|
+
color: $header-font-color;
|
115
|
+
font-family: $header-font-family;
|
116
|
+
font-weight: $header-font-weight;
|
117
|
+
}
|
118
|
+
|
119
|
+
a {
|
120
|
+
color: $main-color;
|
95
121
|
}
|
96
122
|
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
123
|
+
@if $vertical-rhythm {
|
124
|
+
@include vertical-rhythm($for-base: true);
|
125
|
+
}
|
126
|
+
@else {
|
127
|
+
h1 { font-size: em($h1-font-size); }
|
128
|
+
h2 { font-size: em($h2-font-size); }
|
129
|
+
h3 { font-size: em($h3-font-size); }
|
130
|
+
h4 { font-size: em($h4-font-size); }
|
131
|
+
h5 { font-size: em($h5-font-size); }
|
132
|
+
h6 { font-size: em($h6-font-size); }
|
133
|
+
|
134
|
+
p {
|
135
|
+
margin-top: 0;
|
136
|
+
margin-bottom: $p-margin-bottom;
|
137
|
+
|
138
|
+
&:last-child {
|
139
|
+
margin-bottom: 0;
|
140
|
+
}
|
141
|
+
|
142
|
+
+ ul,
|
143
|
+
+ ol {
|
144
|
+
margin-bottom: $p-margin-bottom;
|
145
|
+
}
|
146
|
+
}
|
110
147
|
}
|
111
148
|
|
112
|
-
|
113
|
-
|
149
|
+
// -----------
|
150
|
+
// LIST
|
151
|
+
// -----------
|
114
152
|
|
115
|
-
|
116
|
-
|
153
|
+
.inline-list {
|
154
|
+
@include clearfix();
|
117
155
|
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
}
|
156
|
+
> li {
|
157
|
+
display: inline-block;
|
158
|
+
float: left;
|
159
|
+
vertical-align: top;
|
160
|
+
}
|
124
161
|
}
|
125
162
|
|
126
|
-
ul
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
ul.bullet-list {
|
140
|
-
margin-bottom: 0;
|
141
|
-
> li:before {
|
142
|
-
content: counter(ul-counter, $ul-child-style);
|
143
|
-
}
|
144
|
-
}
|
163
|
+
ul {
|
164
|
+
list-style-type: $ul-parent-style;
|
165
|
+
padding-left: 20px;
|
166
|
+
|
167
|
+
&[class] {
|
168
|
+
list-style-type: none;
|
169
|
+
padding-left: 0;
|
170
|
+
}
|
171
|
+
|
172
|
+
ul {
|
173
|
+
list-style-type: $ul-child-style;
|
174
|
+
}
|
145
175
|
}
|
146
176
|
|
147
177
|
ol {
|
148
|
-
|
149
|
-
|
150
|
-
}
|
151
|
-
ol {
|
152
|
-
margin-bottom: 0;
|
153
|
-
> li:before {
|
154
|
-
content: counter(ul-counter, $ol-child-style) ".";
|
155
|
-
}
|
156
|
-
}
|
157
|
-
}
|
178
|
+
list-style-type: $ol-parent-style;
|
179
|
+
padding-left: 25px;
|
158
180
|
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
// li:before {
|
164
|
-
// position: absolute;
|
165
|
-
// left: 0;
|
166
|
-
// content: counter(ol-counter, $ol-parent-style);
|
167
|
-
// counter-increment: ol-counter;
|
168
|
-
// }
|
169
|
-
// }
|
170
|
-
|
171
|
-
.counter-bullet {
|
172
|
-
position: relative;
|
173
|
-
counter-reset: my-counter;
|
174
|
-
padding-left: em(30px);
|
175
|
-
|
176
|
-
li:before {
|
177
|
-
position: absolute;
|
178
|
-
left: 0;
|
179
|
-
content: counter(my-counter, disc);
|
180
|
-
counter-increment: my-counter;
|
181
|
-
}
|
182
|
-
}
|
183
|
-
.counter-number {
|
184
|
-
position: relative;
|
185
|
-
counter-reset: my-counter;
|
186
|
-
padding-left: em(30px);
|
187
|
-
|
188
|
-
li {
|
189
|
-
line-height: 1.5;
|
190
|
-
}
|
191
|
-
|
192
|
-
li:before {
|
193
|
-
position: absolute;
|
194
|
-
left: 0;
|
195
|
-
content: counter(my-counter, decimal);
|
196
|
-
counter-increment: my-counter;
|
197
|
-
}
|
181
|
+
ol {
|
182
|
+
list-style-type: $ol-child-style;
|
183
|
+
}
|
198
184
|
}
|
199
185
|
|
200
186
|
blockquote {
|
187
|
+
margin-bottom: $p-margin-bottom;
|
188
|
+
|
201
189
|
cite {
|
202
190
|
display: block;
|
191
|
+
font-style: italic;
|
203
192
|
}
|
204
193
|
}
|
205
194
|
|
@@ -1,53 +1,165 @@
|
|
1
|
+
// ==================
|
2
|
+
// EDGE VISIBILITY
|
3
|
+
// ==================
|
4
|
+
|
5
|
+
// -------------
|
6
|
+
// VISIBLE ON
|
7
|
+
// - Set the display of special element
|
8
|
+
// ------------------------------------
|
1
9
|
@mixin visible-on($size, $display: inherit) {
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
10
|
+
@if $size == large {
|
11
|
+
&.hide-for-large,
|
12
|
+
&.show-for-small,
|
13
|
+
&.show-for-mini { display: none !important; }
|
14
|
+
|
15
|
+
&.hide-for-small,
|
16
|
+
&.hide-for-mini,
|
17
|
+
&.show-for-large { display: $display !important; }
|
18
|
+
}
|
19
|
+
@else if $size == small {
|
20
|
+
&.hide-for-small,
|
21
|
+
&.show-for-large { display: none !important; }
|
22
|
+
|
23
|
+
&.show-for-small,
|
24
|
+
&.hide-for-large { display: $display !important; }
|
25
|
+
}
|
26
|
+
@else if $size == mini {
|
27
|
+
&.hide-for-mini,
|
28
|
+
&.show-for-small { display: none !important; }
|
29
|
+
|
30
|
+
&.show-for-mini { display: $display !important; }
|
31
|
+
}
|
7
32
|
}
|
8
33
|
|
9
|
-
//
|
34
|
+
// ---------------------------------
|
35
|
+
// SPECIAL DISPLAY
|
36
|
+
// - Elements that needs special display style
|
37
|
+
// --------------------------------------------
|
10
38
|
@mixin special-display($size) {
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
}
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
39
|
+
table {
|
40
|
+
@include visible-on($size, table);
|
41
|
+
}
|
42
|
+
thead {
|
43
|
+
@include visible-on($size, table-header-group);
|
44
|
+
}
|
45
|
+
tbody {
|
46
|
+
@include visible-on($size, table-row-group);
|
47
|
+
}
|
48
|
+
tr {
|
49
|
+
@include visible-on($size, table-row);
|
50
|
+
}
|
51
|
+
td, th {
|
52
|
+
@include visible-on($size, table-cell);
|
53
|
+
}
|
54
|
+
span, b, em, strong, .bold, .italic {
|
55
|
+
@include visible-on($size, inline-block);
|
56
|
+
}
|
57
|
+
}
|
58
|
+
|
59
|
+
// ---------------------------------
|
60
|
+
// HIDE FOR
|
61
|
+
// - Hide the element on that screen size
|
62
|
+
// - hide-for(small) is still hidden on mini
|
63
|
+
// ------------------------------------------
|
64
|
+
@mixin hide-for($size) {
|
65
|
+
@if $size == large {
|
66
|
+
@include above(small) {
|
67
|
+
display: none;
|
68
|
+
}
|
69
|
+
}
|
70
|
+
|
71
|
+
@else if $size == small {
|
72
|
+
@include below(small) {
|
73
|
+
display: none;
|
74
|
+
}
|
75
|
+
}
|
76
|
+
|
77
|
+
@else if $size == mini {
|
78
|
+
@include below(mini) {
|
79
|
+
display: none;
|
80
|
+
}
|
81
|
+
}
|
82
|
+
}
|
83
|
+
|
84
|
+
// ---------------------------------
|
85
|
+
// SHOW FOR
|
86
|
+
// - Show the element only on that size
|
87
|
+
// - show-for(small) is still visible on mini
|
88
|
+
// -------------------------------------------
|
89
|
+
@mixin show-for($size) {
|
90
|
+
@if $size == large {
|
91
|
+
@include below(small) {
|
92
|
+
display: none;
|
93
|
+
}
|
94
|
+
}
|
95
|
+
|
96
|
+
@else if $size == small {
|
97
|
+
@include above(small) {
|
98
|
+
display: none;
|
99
|
+
}
|
100
|
+
}
|
101
|
+
|
102
|
+
@else if $size == mini {
|
103
|
+
@include above(mini) {
|
104
|
+
display: none;
|
105
|
+
}
|
106
|
+
}
|
107
|
+
}
|
108
|
+
|
109
|
+
@if $include-visibility and not $external-call {
|
110
|
+
|
111
|
+
/* -----------------
|
112
|
+
EDGE Visibility
|
113
|
+
----------------- */
|
114
|
+
|
115
|
+
.hide-for-large,
|
116
|
+
.show-for-small,
|
117
|
+
.show-for-mini {
|
118
|
+
display: none !important;
|
119
|
+
}
|
120
|
+
|
121
|
+
.hide-for-small,
|
122
|
+
.hide-for-mini,
|
123
|
+
.show-for-large {
|
124
|
+
display: inherit !important;
|
125
|
+
}
|
126
|
+
|
127
|
+
@include special-display(large);
|
128
|
+
|
46
129
|
@include below(small) {
|
47
|
-
|
48
|
-
|
49
|
-
|
130
|
+
// .hide-for-mini VISIBLE
|
131
|
+
// .show-for-mini NONE
|
132
|
+
|
133
|
+
.hide-for-small,
|
134
|
+
.show-for-large {
|
135
|
+
display: none !important;
|
136
|
+
}
|
137
|
+
|
138
|
+
.show-for-small,
|
139
|
+
.hide-for-large {
|
140
|
+
display: inherit !important;
|
141
|
+
}
|
142
|
+
|
143
|
+
@include special-display(small);
|
50
144
|
}
|
51
145
|
|
146
|
+
@include below(mini) {
|
147
|
+
// .hide-for-large VISIBLE
|
148
|
+
// .show-for-large NONE
|
149
|
+
// .hide-for-small NONE
|
150
|
+
|
151
|
+
.hide-for-mini,
|
152
|
+
.show-for-small {
|
153
|
+
display: none !important;
|
154
|
+
}
|
155
|
+
|
156
|
+
.show-for-mini {
|
157
|
+
display: inherit !important;
|
158
|
+
}
|
159
|
+
|
160
|
+
@include special-display(mini);
|
52
161
|
}
|
53
162
|
|
163
|
+
|
164
|
+
} // include-visibility
|
165
|
+
|
@@ -4,80 +4,92 @@
|
|
4
4
|
// - Image's type must be PNG
|
5
5
|
// - Image's name can't start with number or contains special symbol like `@`
|
6
6
|
//
|
7
|
-
// - In your config.rb, add `relative_assets = true`
|
8
|
-
// - If you use 3rd party precompiler like Prepros,
|
9
|
-
// don't forget to tick the `Full Compass Support`
|
10
|
-
//
|
11
7
|
// Special Thanks:
|
12
8
|
// www.gayadesign.com/diy/retina-sprites-for-compass
|
13
9
|
// -----------------------------------------------------
|
14
10
|
|
11
|
+
|
12
|
+
// --------------------------
|
13
|
+
// Loop through sprite-map
|
14
|
+
// --------------------------
|
15
|
+
@mixin loop-sprite-map(
|
16
|
+
$map,
|
17
|
+
$is-retina : false ,
|
18
|
+
$prefix : "") {
|
19
|
+
|
20
|
+
$divide-by : 1; // for retina sprites' scaling
|
21
|
+
$sprite-url : "";
|
22
|
+
|
23
|
+
@if $is-retina {
|
24
|
+
$divide-by : 2;
|
25
|
+
$sprite-url : sprite-url($map);
|
26
|
+
}
|
27
|
+
|
28
|
+
@each $i in sprite_names($map) {
|
29
|
+
&.#{$prefix}#{$i} {
|
30
|
+
|
31
|
+
// It makes sure that if the sprite doesn't exist in Retina folder,
|
32
|
+
// it uses sprite from the Standard one.
|
33
|
+
@if $is-retina {
|
34
|
+
background: $sprite-url;
|
35
|
+
background-size:
|
36
|
+
(image-width(sprite-path($map)) / 2)
|
37
|
+
(image-height(sprite-path($map)) / 2);
|
38
|
+
}
|
39
|
+
background-position:
|
40
|
+
round(nth(sprite-position($map, $i), 1) / $divide-by)
|
41
|
+
round(nth(sprite-position($map, $i), 2) / $divide-by);
|
42
|
+
height : image-height(sprite-file($map, $i)) / $divide-by;
|
43
|
+
width : image-width(sprite-file($map, $i)) / $divide-by;
|
44
|
+
}
|
45
|
+
}
|
46
|
+
}
|
47
|
+
|
48
|
+
// --------------------------
|
15
49
|
// Generate standard sprites
|
50
|
+
// --------------------------
|
16
51
|
@mixin sprite(
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
$sprites: sprite-map("#{$folder-name}/*.png", $layout: smart);
|
21
|
-
.#{$main-class}{
|
22
|
-
background : $sprites;
|
23
|
-
display : inline-block;
|
24
|
-
@include loop-sprite-map($sprites, false, $prefix-class);
|
52
|
+
$folder : "sprites",
|
53
|
+
$class : "sprite",
|
54
|
+
$prefix : "") {
|
25
55
|
|
26
|
-
|
27
|
-
|
56
|
+
$sprites: sprite-map("#{$folder}/*.png", $layout: smart);
|
57
|
+
|
58
|
+
.#{$class} {
|
59
|
+
background: $sprites;
|
60
|
+
display: inline-block;
|
61
|
+
@include loop-sprite-map($sprites, false, $prefix);
|
62
|
+
|
63
|
+
@content; // placeholder for retina sprites
|
64
|
+
}
|
28
65
|
}
|
29
66
|
|
67
|
+
// ---------------------------------------------
|
30
68
|
// Generate both Retina and Standard sprites
|
31
69
|
// - Folder's name for Retina must be EXACT SAME as Standard one with the addition of `@2x`
|
32
70
|
// - Image's name must be EXACT SAME for standard and retina
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
$sprites : sprite-map("#{$folder-name}/*.png", $layout: smart);
|
39
|
-
$sprites-2x : sprite-map("#{$folder-name}@2x/*.png", $layout: smart);
|
40
|
-
@include retina {
|
41
|
-
// If all images in Retina and Standard folder is the same
|
42
|
-
@if length(sprite_names($sprites) ) == length(sprite_names($sprites-2x) ) {
|
43
|
-
background: $sprites-2x;
|
44
|
-
background-size:
|
45
|
-
(image-width(sprite-path($sprites-2x)) / 2)
|
46
|
-
(image-height(sprite-path($sprites-2x)) / 2);
|
47
|
-
}
|
48
|
-
// If there's missing images in retina folder
|
49
|
-
@else {
|
50
|
-
@include loop-sprite-map($sprites-2x, true, $prefix-class);
|
51
|
-
}
|
52
|
-
}
|
53
|
-
}
|
54
|
-
}
|
55
|
-
|
56
|
-
|
57
|
-
// Helper for looping through sprite-map
|
58
|
-
@mixin loop-sprite-map($sprite-map, $is-retina: false , $prefix-class: '') {
|
59
|
-
$divide-by : 1; // for retina sprites' scaling
|
60
|
-
$sprite-url : '';
|
61
|
-
@if $is-retina {
|
62
|
-
$divide-by : 2;
|
63
|
-
$sprite-url : sprite-url($sprite-map);
|
64
|
-
}
|
71
|
+
// ----------------------------------------------------------
|
72
|
+
@mixin sprite-retina(
|
73
|
+
$folder : "sprites",
|
74
|
+
$class : "sprite",
|
75
|
+
$prefix : "") {
|
65
76
|
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
77
|
+
@include sprite($folder, $class, $prefix) {
|
78
|
+
$sprites : sprite-map("#{$folder}/*.png", $layout: smart);
|
79
|
+
$sprites-2x : sprite-map("#{$folder}@2x/*.png", $layout: smart);
|
80
|
+
|
81
|
+
@include below(retina) {
|
82
|
+
// If all images in Retina and Standard folder is the same
|
83
|
+
@if length(sprite_names($sprites) ) == length(sprite_names($sprites-2x) ) {
|
84
|
+
background: $sprites-2x;
|
85
|
+
background-size:
|
86
|
+
(image-width(sprite-path($sprites-2x)) / 2)
|
87
|
+
(image-height(sprite-path($sprites-2x)) / 2);
|
88
|
+
}
|
89
|
+
// If there's missing images in retina folder
|
90
|
+
@else {
|
91
|
+
@include loop-sprite-map($sprites-2x, true, $prefix-class);
|
92
|
+
}
|
93
|
+
}
|
94
|
+
}
|
83
95
|
}
|