edge_framework 2.0.0 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +8 -8
  2. data/README.md +16 -2
  3. data/assets/kitchensink.html +8 -9
  4. data/assets/sass/_edge.scss +3 -2
  5. data/assets/sass/_edgemail.scss +1 -1
  6. data/assets/sass/edge/_base.scss +71 -280
  7. data/assets/sass/edge/_component.scss +12 -0
  8. data/assets/sass/edge/_helpers.scss +1 -7
  9. data/assets/sass/edge/_user.scss +5 -0
  10. data/assets/sass/edge/_utility.scss +7 -0
  11. data/assets/sass/edge/{components → component}/_animate.scss +0 -0
  12. data/assets/sass/edge/{components → component}/_button.scss +0 -0
  13. data/assets/sass/edge/{components → component}/_code.scss +0 -0
  14. data/assets/sass/edge/{components → component}/_form.scss +0 -0
  15. data/assets/sass/edge/{components → component}/_grid.scss +26 -34
  16. data/assets/sass/edge/{components → component}/_normalize.scss +0 -11
  17. data/assets/sass/edge/{components → component}/_print.scss +26 -12
  18. data/assets/sass/edge/{components → component}/_tile.scss +6 -6
  19. data/assets/sass/edge/component/_typography.scss +98 -0
  20. data/assets/sass/edge/utility/_em.scss +35 -0
  21. data/assets/sass/edge/utility/_media.scss +70 -0
  22. data/assets/sass/edge/utility/_other.scss +44 -0
  23. data/assets/sass/edge/{helpers → utility}/_sprites.scss +3 -3
  24. data/assets/sass/edge/{helpers → utility}/_sticky-footer.scss +0 -0
  25. data/assets/sass/edge/utility/_triangle.scss +83 -0
  26. data/assets/sass/edgemail/_base.scss +5 -5
  27. data/assets/sass/edgemail/_component.scss +2 -0
  28. data/assets/sass/edgemail/{_helpers.scss → _user.scss} +0 -0
  29. data/assets/sass/edgemail/{components → component}/_generic.scss +0 -0
  30. data/assets/sass/edgemail/{components → component}/_normalize.scss +0 -0
  31. data/assets/test/kitchensink-email.scss +1 -1
  32. data/assets/test/kitchensink.scss +1 -2
  33. data/lib/edge/message.rb +17 -7
  34. data/lib/edge/version.rb +1 -1
  35. data/template/base/assets/js/vendor/edge.js +1 -1
  36. data/template/base/assets/sass/_setting.scss +19 -17
  37. data/template/base/assets/sass/app.scss +1 -1
  38. data/template/base/config.rb +1 -1
  39. data/template/email/assets/sass/app.scss +1 -1
  40. data/template/wordpress/views/layout.twig +1 -0
  41. metadata +24 -18
  42. data/assets/sass/edge/_components.scss +0 -12
  43. data/assets/sass/edge/components/_typography.scss +0 -171
  44. data/assets/sass/edgemail/_components.scss +0 -2
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- OGExZTRhN2EwM2U1NzVhOTEwZmY3NGZiZTUxYWVkYWMxZTk2YWViZQ==
4
+ YTQ5MDVlZmU1M2FhODJhYTMwMzg5ZjE0ZmM4MzFlMGY3Y2Y4MDhmYQ==
5
5
  data.tar.gz: !binary |-
6
- OGU0YjA3YzcwNDU1MTBhOGVmZmUyNmU5NDM0MDY1YmI5YzA1ZjdiMA==
6
+ Yzg4M2M2MTJmOTFjMWJjOTlkMjYxM2Y5NmQyYzllM2NmYmFiODQ2Mw==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NWQ5YjRiNDBhMmYyZWIyYzIxZTUyOTBiNDVmZTE1ZjY4ZWE2NTJmNmI3NWYy
10
- MmM5NzkyNmRkYWYxOWJkOWE2Yzk5YjBiNWZhODU1NWI1Zjk5MTY3NGJhNmU5
11
- MzQ3OWNkMzQ2MzA2YTJiNWIxODkxYzRkN2MzOTdmZGE3YjU5YmI=
9
+ YzEyNTVlNDYzNTZmMTU3NjZlMjQzYTVkYmMxMDM0YWViNTc2NGRhOTRiMDVm
10
+ ODYxMmIwYzhjNzg1ZmE4NTlhZjc3ZDk3ODYxODM0NDU2NDY4MWM0YjhkZTBj
11
+ Y2JiMTkyMTllN2NlZGQzZjQ4MmYzMTdkM2NmMDk2MGZjMDYzY2Q=
12
12
  data.tar.gz: !binary |-
13
- ZGIxNTVmMjFkMDVlM2UwNzViMjM3YmE5NmZlNzllYmY4YmI2YTlkNzFjNzkw
14
- NWEzNmZmMTQ0MTQzYTU1OGIyMWRlM2IyZmIyNWMwMTU1ZDljZTg3MjJlZDRj
15
- ZjE1YWZjMWI1NDdlMjkxYWZiYzJkNGY3ZTdkYTgyMmQ2YTQyMzY=
13
+ NWJlNDBiMWYwMDEzZmQ1NGNiMzNhN2M3ZDY3NTQzZDk5YjAyYzY4ZDU4NzRj
14
+ ODcxOGIwZTZmMzRlYjYyOGNkZTkyYjQ3MjE0ZDA2Y2E3YzgzYWQ3NDdhZGY3
15
+ NjUzNjcxNDYwNjljNWUzNmY5N2Q1NjQ3YjYxZjk1OGY2MTJlZDA=
data/README.md CHANGED
@@ -173,8 +173,6 @@ Just like row, you can collapse it:
173
173
 
174
174
  **Convention**:
175
175
 
176
- - Don't name any of your class starting with `block`. It is reserved for tile.
177
-
178
176
  - Don't add your own styling to the tile or ti element.
179
177
 
180
178
  WORDPRESS
@@ -398,6 +396,22 @@ You can either use `$total` parameter or fraction:
398
396
  @include column($size: 7 / 15, $offset: 3 / 15);
399
397
  }
400
398
 
399
+ ADAPTIVE GRID
400
+ ======================
401
+
402
+ Normal Grid always expand to 100% at any screen size. This can be a nuisance for complex responsive site because we need to make sure nothing is misaligned on all size.
403
+
404
+ Adaptive Grid sets a **fixed-width** and shrink to the next width when the screen size reaches the breakpoint.
405
+
406
+ In setting, change the variable `$adaptive` to true.
407
+
408
+ You may add more breakpoints in the variable `$adaptive-breakpoint`. You can mix variable and number in the comma-separated list.
409
+
410
+ Example:
411
+
412
+ $adaptive-breakpoint: $medium-screen, 900px, $small-screen, 600px, $mini-screen;
413
+
414
+
401
415
  TILE - mixin
402
416
  ======================
403
417
 
@@ -163,9 +163,9 @@
163
163
  </div>
164
164
  </div> -->
165
165
 
166
- <!-- <div class="row" data-page="tile">
167
- <div class="large-12 column">
168
- <div class="demo-tile">
166
+ <section class="demo-tile" data-page="tile">
167
+ <h-row>
168
+ <h-column class="large-12">
169
169
  <h1>Tile</h1>
170
170
  <h-tile class="block-7 small-block-4">
171
171
  <h-ti><p>1</p></h-ti>
@@ -190,9 +190,9 @@
190
190
  <h-ti><p>1</p></h-ti>
191
191
  <h-ti><p>1</p></h-ti>
192
192
  </h-tile>
193
- </div>
194
- </div>
195
- </div> -->
193
+ </h-column>
194
+ </h-row>
195
+ </section>
196
196
 
197
197
  <!-- <div class="row" data-page="custom-tile">
198
198
  <div class="large-12 column">
@@ -431,7 +431,7 @@
431
431
  </div>
432
432
  </section>
433
433
 
434
- <section class="demo-grid" data-page="custom-grid">
434
+ <!-- <section class="demo-grid" data-page="custom-grid">
435
435
 
436
436
  <h1>Custom Grid</h1>
437
437
  <ul>
@@ -570,8 +570,7 @@
570
570
  <p>l4 50px - s6 20px</p>
571
571
  </h-column>
572
572
  </h-row>
573
-
574
- </section>
573
+ </section> -->
575
574
 
576
575
  <!-- <section class="row" data-page="design-grid">
577
576
  <div class="large-12 column demo-grid">
@@ -1,8 +1,9 @@
1
1
  /* --------------------
2
2
  - EDGE Framework
3
3
  - edge.thesyne.com
4
- - v2.0.0 (Gondar)
4
+ - v2.1.0 (Gondar)
5
5
  --------------------- */
6
6
 
7
7
  @import "edge/base";
8
- @import "edge/components";
8
+ @import "edge/utility";
9
+ @import "edge/component";
@@ -5,4 +5,4 @@
5
5
  ---------------------------- */
6
6
 
7
7
  @import "edgemail/base";
8
- @import "edgemail/components";
8
+ @import "edgemail/component";
@@ -26,9 +26,9 @@ $include-grid : true !default;
26
26
  $include-tile : true !default;
27
27
 
28
28
  // Default is false
29
- $include-animate : false !default;
30
- $include-print : false !default;
31
- $include-code : false !default;
29
+ $include-animate : false !default;
30
+ $include-print : false !default;
31
+ $include-code : false !default;
32
32
 
33
33
  // ----------
34
34
  // COLOR
@@ -56,187 +56,22 @@ $g-transition : all .2s ease-out !default;
56
56
  $body-font-size : 16px !default;
57
57
  $body-line-height : 1.5 !default;
58
58
 
59
- // --------------
60
- // EM CONVERTER
61
- // --------------
62
-
63
- // Strips unit and return plain number
64
- @function stripUnit($num) {
65
- @return $num / ($num * 0 + 1);
66
- }
67
-
68
- // Convert the number to EM
69
- @function convertToEm($value, $context: $body-font-size) {
70
- // if not number, return it as is
71
- @if type-of($value) != number { @return $value; }
72
-
73
- $value: stripUnit($value) / stripUnit($context) * 1em;
74
- // turn 0em into 0
75
- @if ($value == 0em) {
76
- $value: 0;
77
- }
78
- @return $value;
79
- }
80
-
81
- @function em($values, $context: $body-font-size) {
82
- // if only contain single number, convert it directly
83
- @if type-of($values) == number {
84
- @return convertToEm($values, $context);
85
- }
86
-
87
- // if contains multiple values, loop through it
88
- $emValues : ();
89
- @each $val in $values {
90
- $emValues: append($emValues, convertToEm($val, $context) );
91
- }
92
- @return join((), $emValues, space );
93
- }
94
-
95
59
  // -------------------
96
60
  // MEDIA QUERIES
97
61
  // -------------------
98
- $mini-screen : 480px !default;
99
- $small-screen : 767px !default;
100
- $medium-screen : 1120px !default;
101
- $large-screen : 1440px !default;
102
- $retina-screen : 192dpi !default;
103
-
104
- @function translateSize($size) {
105
- // if number, return it as it is
106
- @if type-of($size) == number {
107
- @return $size;
108
- }
109
- // if keyword, return the translated size
110
- @else if $size == mini {
111
- @return $mini-screen;
112
- }
113
- @else if $size == small {
114
- @return $small-screen;
115
- }
116
- @else if $size == medium {
117
- @return $medium-screen;
118
- }
119
- @else if $size == large {
120
- @return $large-screen;
121
- }
122
- @else if $size == retina {
123
- @return $retina-screen;
124
- }
125
- }
126
-
127
- // Standalone mixin
128
-
129
- @mixin below($named-size) {
130
- @if $responsive {
131
- $in-media: true !global;
132
- $size: translateSize($named-size);
133
-
134
- @if $named-size == retina {
135
- @media only screen and (-webkit-max-device-pixel-ratio: 2), (max-resolution: $size) {
136
- @content;
137
- }
138
- }
139
- @else {
140
- @media only screen and (max-width: $size) { @content; }
141
- }
142
-
143
- $in-media: false !global;
144
- }
145
- }
146
-
147
- @mixin above($named-size) {
148
- @if $responsive {
149
- $in-media: true !global;
150
- $size: translateSize($named-size) + 1px;
151
-
152
- @if $named-size == retina {
153
- @media only screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: $size) {
154
- @content;
155
- }
156
- }
157
- @else {
158
- @media only screen and (min-width: $size) { @content; }
159
- }
160
-
161
- $in-media: false !global;
162
- }
163
- }
164
-
165
- @mixin between($smaller-size, $larger-size) {
166
- @if $responsive {
167
- $in-media: true !global;
168
- $smaller-size: translateSize($smaller-size);
169
- $larger-size: translateSize($larger-size);
170
-
171
- @media only screen and (min-width: $smaller-size) and (max-width: $larger-size) {
172
- @content;
173
- }
174
-
175
- $in-media: false !global;
176
- }
177
- }
178
-
179
- @mixin print {
180
- @media only print {
181
- @content;
182
- }
183
- }
184
-
185
- // ----------------------------------------------
186
- // CLEARING FLOAT
187
- // Make a container wraps floated element
188
- // ----------------------------------------------
189
- @mixin clearfix {
190
- zoom: 1;
191
- &::before, &::after {
192
- content: " ";
193
- display: table;
194
- }
195
- &::after {
196
- clear: both;
197
- }
198
- }
199
-
200
- // --------------------------------
201
- // SELECTION
202
- // Change the text highlight color
203
- // --------------------------------
204
-
205
- @mixin selection($background-color:lighten($main-color, 35%), $color:white) {
206
- ::-moz-selection {
207
- background: $background-color;
208
- text-shadow: none !important;
209
- color: $color !important;
210
- }
211
-
212
- ::selection {
213
- background: $background-color;
214
- text-shadow: none !important;
215
- color: $color !important;
216
- }
217
- }
218
-
219
- // ------------------------------------------------------
220
- // DISABLE SELECTION
221
- // Prevents user to select/highlight the element's text
222
- // ------------------------------------------------------
223
- @mixin disable-user-select {
224
- -webkit-touch-callout: none;
225
- -webkit-user-select: none;
226
- -khtml-user-select: none;
227
- -moz-user-select: none;
228
- -ms-user-select: none;
229
- user-select: none;
230
- }
231
-
232
- @mixin user-select($value) {
233
- -webkit-touch-callout: $value;
234
- -webkit-user-select: $value;
235
- -khtml-user-select: $value;
236
- -moz-user-select: $value;
237
- -ms-user-select: $value;
238
- user-select: $value;
239
- }
62
+ $mini-size : 480px !default;
63
+ $small-size : 767px !default;
64
+ $medium-size : 1120px !default;
65
+ $large-size : 1440px !default;
66
+ $retina-size : 192dpi !default;
67
+
68
+ $_media-sizes: (
69
+ mini: $mini-size,
70
+ small: $small-size,
71
+ medium: $medium-size,
72
+ large: $large-size,
73
+ retina: $retina-size
74
+ );
240
75
 
241
76
  // ---------------------
242
77
  // TEXT DIRECTION
@@ -253,105 +88,61 @@ $default-opposite : right !default;
253
88
  $default-opposite : left;
254
89
  }
255
90
 
256
- // -------------
257
- // TRIANGLE
258
- // -------------
259
- @mixin triangle(
260
- $width,
261
- $direction : top,
262
- $color : $main-color,
263
- $height : false) {
264
- // If height is not specified, make the triangle equalateral
265
- @if not $height {
266
- // If normal triangle, `height` is set to half `width`
267
- @if $direction == top or
268
- $direction == up or
269
- $direction == right or
270
- $direction == left or
271
- $direction == bottom or
272
- $direction == down {
273
- $height : ($width / 2) * 1.732;
274
- }
275
- // Else if cornered triangle, `heigth` is the same as `width`
276
- @else if $direction == top-right or
277
- $direction == top-left or
278
- $direction == bottom-right or
279
- $direction == bottom-left {
280
- $height : $width;
281
- }
282
- }
283
- width: 0;
284
- height: 0;
285
- font-size: 0;
286
- line-height: 0%;
287
- border-style: solid;
288
- border-color: transparent;
289
- // Top /\
290
- @if $direction == top or $direction == up {
291
- border-width : 0 $width/2 $height $width/2;
292
- border-bottom-color : $color;
293
- }
294
- // Right |>
295
- @else if $direction == right {
296
- border-width : $width/2 0 $width/2 $height;
297
- border-left-color : $color;
298
- }
299
- // Bottom \/
300
- @else if $direction == bottom or $direction == down {
301
- border-width : $height $width/2 0 $width/2;
302
- border-top-color : $color;
303
- }
304
- // Left <|
305
- @else if $direction == left {
306
- border-width : $width/2 $height $width/2 0;
307
- border-right-color : $color;
308
- }
91
+ // ------------
92
+ // c/GRID
93
+ // ------------
309
94
 
310
- // __
311
- // Top-right \ |
312
- // \|
313
- @else if $direction == top-right {
314
- border-width : 0 $width $height 0;
315
- border-right-color : $color;
316
- }
317
-
318
- // Bottom-right /|
319
- // /_|
320
- @else if $direction == bottom-right {
321
- border-width : 0 0 $height $width;
322
- border-bottom-color : $color;
323
- }
324
- // Bottom-left |\
325
- // |_\
326
- @else if $direction == bottom-left {
327
- border-width : $height 0 0 $width;
328
- border-left-color : $color;
329
- }
330
- // __
331
- // Top-left | /
332
- // |/
333
- @else if $direction == top-left {
334
- border-width : $height $width 0 0;
335
- border-top-color : $color;
336
- }
337
- }
95
+ $row-max-width : $medium-size !default;
96
+ $total-columns : 12 !default;
97
+ $column-gutter : 20px !default;
98
+
99
+ $adaptive-breakpoints : $medium-size, $small-size, $mini-size !default;
100
+
101
+ // ----------
102
+ // c/TILE
103
+ // ----------
338
104
 
339
- // ------------------------------------------------
340
- // CSS3 - VENDOR PREFIX
341
- // for property that is not supported by Compass
342
- // ------------------------------------------------
343
- @mixin css3($property, $value,
344
- $moz : $experimental-support-for-mozilla,
345
- $webkit : $experimental-support-for-webkit,
346
- $o : $experimental-support-for-opera,
347
- $ms : $experimental-support-for-microsoft,
348
- $khtml : $experimental-support-for-khtml,
349
- $official : true) {
105
+ $max-tiles : 12 !default;
106
+ $tile-gutter : 20px !default;
107
+
108
+ // -----------
109
+ // c/PRINT
110
+ // -----------
111
+
112
+ $override-color: true !default;
113
+
114
+ // -------------
115
+ // c/TYPOGRAPHY
116
+ // -------------
350
117
 
351
- @if $webkit { -webkit-#{$property}: $value; }
352
- @if $khtml { -khtml-#{$property}: $value; }
353
- @if $moz { -moz-#{$property}: $value; }
354
- @if $ms { -ms-#{$property}: $value; }
355
- @if $o { -o-#{$property}: $value; }
356
- @if $official { #{$property}: $value; }
357
- }
118
+ // BODY
119
+ $body-background : #fff !default;
120
+ $body-font-color : #222 !default;
121
+ $body-font-weight : 400 !default;
122
+
123
+ // Compass VERTICAL RHYTM
124
+ $base-font-size : $body-font-size;
125
+ $base-line-height : $body-line-height * $body-font-size;
126
+
127
+ // FONT FAMILY
128
+ $header-font-family : Helvetica, Arial, "sans-serif" !default;
129
+ $body-font-family : Helvetica, Arial, "sans-serif" !default;
130
+
131
+ // HEADER
132
+ $h1-font-size : 44px !default;
133
+ $h2-font-size : 38px !default;
134
+ $h3-font-size : 30px !default;
135
+ $h4-font-size : 24px !default;
136
+ $h5-font-size : 20px !default;
137
+ $h6-font-size : 16px !default;
138
+
139
+ $header-font-color : $body-font-color !default;
140
+ $header-font-weight : 700 !default;
141
+ $header-line-height : 1 !default;
142
+
143
+ // LIST
144
+ $ul-parent-style : disc !default;
145
+ $ul-child-style : circle !default;
146
+
147
+ $ol-parent-style : decimal !default;
148
+ $ol-child-style : lower-alpha !default;