edge_framework 2.0.0 → 2.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.
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;