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
data/README.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
Welcome to Edge Framework
|
2
2
|
==========================
|
3
3
|
|
4
|
-
Edge is a
|
4
|
+
Edge is a unobtrusive Sass framework.
|
5
5
|
|
6
6
|
It is based on [Foundation by ZURB](http://www.zurb.com).
|
7
7
|
|
@@ -10,30 +10,26 @@ Edge is MIT-licensed and absolutely free to use.
|
|
10
10
|
Installation
|
11
11
|
=============
|
12
12
|
|
13
|
-
We distribute Edge using Rubygems, just type in the following commands on your `terminal`:
|
14
|
-
|
15
13
|
gem install edge_framework
|
16
14
|
|
17
15
|
Windows PC doesn't come with Ruby pre-installed, so you can follow [this Ruby installation guide](https://docs.google.com/document/d/155e-Dx4SnQj_bMrM24kI4_ZEmBp-TQ_tuinhMvZsIhM/edit?usp=sharing) we wrote. After you installed Ruby, type in the command above on `cmd` (command prompt).
|
18
16
|
|
19
|
-
|
20
|
-
|
21
|
-
Template Generator
|
17
|
+
CLI - Template Generator
|
22
18
|
====================
|
23
19
|
|
24
20
|
Edge can generate basic template for your project. Open `cmd` or `terminal` in your project directory and type in one of these commands:
|
25
21
|
|
26
|
-
1.
|
22
|
+
1. Static HTML
|
27
23
|
|
28
|
-
`edge create html
|
24
|
+
`edge create html`
|
29
25
|
|
30
26
|
2. Standard PHP
|
31
27
|
|
32
|
-
`edge create php
|
28
|
+
`edge create php`
|
33
29
|
|
34
30
|
3. Wordpress
|
35
31
|
|
36
|
-
`edge create wordpress
|
32
|
+
`edge create wordpress`
|
37
33
|
|
38
34
|
4. Coming soon: Rails, Sinatra, Django, Flask
|
39
35
|
|
File without changes
|
data/assets/sass/edge/_base.scss
CHANGED
@@ -16,19 +16,15 @@ $experimental-support-for-khtml : false;
|
|
16
16
|
|
17
17
|
// -------------------------------------------------------
|
18
18
|
// OUTPUT CONFIG
|
19
|
-
//
|
20
|
-
//
|
21
|
-
//
|
22
|
-
//
|
23
|
-
//
|
24
|
-
// EXTERNAL CALL:
|
25
|
-
// Add extra feature if calling Component's mixin exter-
|
26
|
-
// -nally
|
27
|
-
// INCLUDE:
|
28
|
-
// Set to false if you want to import the mixins only
|
19
|
+
// Debug : if true - add useful functionality for development
|
20
|
+
// Responsive : add responsiveness to the output
|
21
|
+
// Vertical-rhythm : vertically-align all header, paragraph, and list
|
22
|
+
// External call : Add extra feature if calling Component's mixin externally
|
23
|
+
// Include : if false - no CSS output
|
29
24
|
// -------------------------------------------------------
|
30
|
-
$debug
|
25
|
+
$debug : false !default;
|
31
26
|
$responsive : true !default;
|
27
|
+
$vertical-rhythm : false !default;
|
32
28
|
|
33
29
|
$external-call : false !default; // user shouldn't modify this
|
34
30
|
|
@@ -41,9 +37,10 @@ $include-visibility : true !default;
|
|
41
37
|
|
42
38
|
$include-button : true !default;
|
43
39
|
$include-form : true !default;
|
40
|
+
$include-animate : true !default;
|
44
41
|
|
45
42
|
$include-print : false !default;
|
46
|
-
$include-code :
|
43
|
+
$include-code : false !default;
|
47
44
|
|
48
45
|
// ----------
|
49
46
|
// COLOR
|
@@ -267,6 +264,15 @@ $retina-screen : 192dpi !default;
|
|
267
264
|
user-select: none;
|
268
265
|
}
|
269
266
|
|
267
|
+
@mixin user-select($value) {
|
268
|
+
-webkit-touch-callout: $value;
|
269
|
+
-webkit-user-select: $value;
|
270
|
+
-khtml-user-select: $value;
|
271
|
+
-moz-user-select: $value;
|
272
|
+
-ms-user-select: $value;
|
273
|
+
user-select: $value;
|
274
|
+
}
|
275
|
+
|
270
276
|
// ---------------------
|
271
277
|
// TEXT DIRECTION
|
272
278
|
// ---------------------
|
@@ -288,14 +294,20 @@ $default-opposite : right !default;
|
|
288
294
|
//
|
289
295
|
// Don't specify the `height` to create equalateral triangle
|
290
296
|
// ----------------------------------------------------------
|
291
|
-
@mixin triangle(
|
297
|
+
@mixin triangle(
|
298
|
+
$width,
|
299
|
+
$direction : top,
|
300
|
+
$color : $main-color,
|
301
|
+
$height : false) {
|
292
302
|
// If height is not specified, make the triangle equalateral
|
293
303
|
@if not $height {
|
294
304
|
// If normal triangle, `height` is set to half `width`
|
295
305
|
@if $direction == top or
|
306
|
+
$direction == up or
|
296
307
|
$direction == right or
|
297
308
|
$direction == left or
|
298
|
-
$direction == bottom
|
309
|
+
$direction == bottom or
|
310
|
+
$direction == down {
|
299
311
|
$height : ($width / 2) * 1.732;
|
300
312
|
}
|
301
313
|
// Else if cornered triangle, `heigth` is the same as `width`
|
@@ -306,14 +318,14 @@ $default-opposite : right !default;
|
|
306
318
|
$height : $width;
|
307
319
|
}
|
308
320
|
}
|
309
|
-
width
|
310
|
-
height
|
311
|
-
font-size
|
312
|
-
line-height
|
313
|
-
border-style
|
314
|
-
border-color
|
321
|
+
width: 0;
|
322
|
+
height: 0;
|
323
|
+
font-size: 0;
|
324
|
+
line-height: 0%;
|
325
|
+
border-style: solid;
|
326
|
+
border-color: transparent;
|
315
327
|
// Top /\
|
316
|
-
@if $direction == top {
|
328
|
+
@if $direction == top or $direction == up {
|
317
329
|
border-width : 0 $width/2 $height $width/2;
|
318
330
|
border-bottom-color : $color;
|
319
331
|
}
|
@@ -323,7 +335,7 @@ $default-opposite : right !default;
|
|
323
335
|
border-left-color : $color;
|
324
336
|
}
|
325
337
|
// Bottom \/
|
326
|
-
@else if $direction == bottom {
|
338
|
+
@else if $direction == bottom or $direction == down {
|
327
339
|
border-width : $height $width/2 0 $width/2;
|
328
340
|
border-top-color : $color;
|
329
341
|
}
|
@@ -1,12 +1,13 @@
|
|
1
1
|
@import "components/normalize";
|
2
|
-
|
3
|
-
@import "components/button";
|
4
2
|
@import "components/typography";
|
5
|
-
@import "components/form";
|
6
3
|
|
7
4
|
@import "components/grid";
|
8
5
|
@import "components/tile";
|
9
|
-
|
10
6
|
@import "components/visibility";
|
7
|
+
|
8
|
+
@import "components/button";
|
9
|
+
@import "components/form";
|
10
|
+
@import "components/animate";
|
11
|
+
|
11
12
|
@import "components/print";
|
12
13
|
@import "components/code";
|
@@ -1,19 +1,7 @@
|
|
1
1
|
@import "helpers/sprites";
|
2
2
|
@import "helpers/sticky-footer";
|
3
3
|
|
4
|
-
|
5
|
-
$
|
6
|
-
$include-tile : false;
|
7
|
-
$include-visibility : false;
|
8
|
-
|
9
|
-
$include-button : false;
|
10
|
-
$include-form : false;
|
11
|
-
$include-typography : false;
|
12
|
-
|
13
|
-
$include-normalize : false;
|
14
|
-
$include-print : false;
|
15
|
-
$include-code : false;
|
16
|
-
|
17
|
-
$external-call : true; // add extra feature to some Component's mixin
|
4
|
+
$disable-output : true;
|
5
|
+
$external-call : true; // add extra feature to some Component's mixin
|
18
6
|
|
19
7
|
@import "components";
|
@@ -0,0 +1,151 @@
|
|
1
|
+
// ===============
|
2
|
+
// EDGE ANIMATE
|
3
|
+
// ===============
|
4
|
+
// Based on animate.css [http://daneden.me/animate]
|
5
|
+
// Copyright (c) 2013 Daniel Eden
|
6
|
+
|
7
|
+
// -----------
|
8
|
+
// KEYFRAMES
|
9
|
+
// Create keyframe animation
|
10
|
+
// ----------------------------
|
11
|
+
@mixin keyframes($name) {
|
12
|
+
@-webkit-keyframes #{$name} {
|
13
|
+
@content;
|
14
|
+
}
|
15
|
+
@keyframes #{$name} {
|
16
|
+
@content;
|
17
|
+
}
|
18
|
+
}
|
19
|
+
|
20
|
+
// ------------------------
|
21
|
+
// ANIMATION NAME
|
22
|
+
// Assign the animation
|
23
|
+
// ------------------------
|
24
|
+
@mixin animation-name($name) {
|
25
|
+
-webkit-animation-name: $name;
|
26
|
+
animation-name: $name;
|
27
|
+
}
|
28
|
+
|
29
|
+
|
30
|
+
// -----------------------------------
|
31
|
+
// ANIMATE
|
32
|
+
// Pair the animation and keyframes
|
33
|
+
// -----------------------------------
|
34
|
+
@mixin animate($name) {
|
35
|
+
.animated.#{$name} {
|
36
|
+
@include animation-name($name);
|
37
|
+
}
|
38
|
+
@include keyframes($name) {
|
39
|
+
@content;
|
40
|
+
}
|
41
|
+
}
|
42
|
+
|
43
|
+
@if $include-animate and not $external-call {
|
44
|
+
/* ---------------
|
45
|
+
EDGE Animate
|
46
|
+
--------------- */
|
47
|
+
|
48
|
+
[data-animate] {
|
49
|
+
visibility: hidden !important;
|
50
|
+
}
|
51
|
+
|
52
|
+
.animated {
|
53
|
+
visibility: visible !important;
|
54
|
+
|
55
|
+
-webkit-animation-duration: 1s;
|
56
|
+
animation-duration: 1s;
|
57
|
+
-webkit-animation-fill-mode: both;
|
58
|
+
animation-fill-mode: both;
|
59
|
+
}
|
60
|
+
|
61
|
+
// FADEIN
|
62
|
+
|
63
|
+
@include animate(fadein) {
|
64
|
+
0% {
|
65
|
+
opacity: 0;
|
66
|
+
}
|
67
|
+
|
68
|
+
100% {
|
69
|
+
opacity: 1;
|
70
|
+
}
|
71
|
+
}
|
72
|
+
|
73
|
+
@include animate(fadein-down) {
|
74
|
+
opacity: 0;
|
75
|
+
@include translateY(-20px);
|
76
|
+
}
|
77
|
+
|
78
|
+
@include animate(fadein-down-big) {
|
79
|
+
0% {
|
80
|
+
opacity: 0;
|
81
|
+
@include translateY(-2000px);
|
82
|
+
}
|
83
|
+
|
84
|
+
100% {
|
85
|
+
opacity: 1;
|
86
|
+
@include translateY(0);
|
87
|
+
}
|
88
|
+
}
|
89
|
+
|
90
|
+
@include animate(fadein-up) {
|
91
|
+
0% {
|
92
|
+
opacity: 0;
|
93
|
+
@include translateY(-2000px);
|
94
|
+
}
|
95
|
+
|
96
|
+
100% {
|
97
|
+
opacity: 1;
|
98
|
+
@include translateY(0);
|
99
|
+
}
|
100
|
+
}
|
101
|
+
|
102
|
+
@include animate(fadein-left) {
|
103
|
+
0% {
|
104
|
+
opacity: 0;
|
105
|
+
@include translateX(-20px);
|
106
|
+
}
|
107
|
+
|
108
|
+
100% {
|
109
|
+
opacity: 1;
|
110
|
+
@include translateX(0);
|
111
|
+
}
|
112
|
+
}
|
113
|
+
|
114
|
+
@include animate(fadein-left-big) {
|
115
|
+
0% {
|
116
|
+
opacity: 0;
|
117
|
+
@include translateX(-2000px);
|
118
|
+
}
|
119
|
+
|
120
|
+
100% {
|
121
|
+
opacity: 1;
|
122
|
+
@include translateX(0);
|
123
|
+
}
|
124
|
+
}
|
125
|
+
|
126
|
+
@include animate(fadein-right) {
|
127
|
+
0% {
|
128
|
+
opacity: 0;
|
129
|
+
@include translateX(20px);
|
130
|
+
}
|
131
|
+
|
132
|
+
100% {
|
133
|
+
opacity: 1;
|
134
|
+
@include translateX(0);
|
135
|
+
}
|
136
|
+
}
|
137
|
+
|
138
|
+
@include animate(fadein-right-big) {
|
139
|
+
0% {
|
140
|
+
opacity: 0;
|
141
|
+
@include translateX(2000px);
|
142
|
+
}
|
143
|
+
|
144
|
+
100% {
|
145
|
+
opacity: 1;
|
146
|
+
@include translateX(0);
|
147
|
+
}
|
148
|
+
}
|
149
|
+
|
150
|
+
|
151
|
+
} // include
|
@@ -1,50 +1,107 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
1
|
+
// =============
|
2
|
+
// EDGE BUTTON
|
3
|
+
// =============
|
4
|
+
|
5
|
+
$button-full-style: true !default;
|
6
|
+
$button-color: $main-color !default;
|
7
|
+
$button-padding: 10px 20px !default;
|
8
|
+
|
9
|
+
// ------------------------------
|
10
|
+
// BUTTON Hover State
|
11
|
+
// - Button styling for :hover
|
12
|
+
// ------------------------------
|
13
|
+
@mixin h-button-hover($color, $full: $button-full-style) {
|
14
|
+
|
15
|
+
&:hover {
|
16
|
+
// Darken background if background is light
|
17
|
+
@if contrast-color($color, is_light, is_dark, 70%) == is_light {
|
18
|
+
background-color: darken($color, 7.5%);
|
19
|
+
}
|
20
|
+
// Lighten background if background is dark
|
21
|
+
@else {
|
22
|
+
background-color: lighten($color, 7.5%);
|
23
|
+
}
|
24
|
+
}
|
25
|
+
}
|
26
|
+
|
27
|
+
// ------------------------------
|
28
|
+
// BUTTON Active State
|
29
|
+
// - Button styling for :active
|
30
|
+
// ------------------------------
|
31
|
+
@mixin h-button-active(
|
32
|
+
$color,
|
33
|
+
$full : $button-full-style,
|
34
|
+
$for-base : false) {
|
35
|
+
|
36
|
+
&:active {
|
37
|
+
// Make it darker than hover state if background is light
|
38
|
+
@if contrast-color($color, is_light, is_dark, 70%) == is_light {
|
39
|
+
background-color: darken($color, 15%);
|
40
|
+
}
|
41
|
+
// Darken background if background is dark
|
42
|
+
@else {
|
43
|
+
background-color: darken($color, 7.5%);
|
44
|
+
}
|
45
|
+
|
46
|
+
@if $full and $for-base {
|
47
|
+
@include box-shadow(inset 1px 1px rgba(black, .1) );
|
48
|
+
}
|
49
|
+
}
|
50
|
+
}
|
51
|
+
|
52
|
+
// ------------------------------
|
53
|
+
// BUTTON Focus State
|
54
|
+
// Button styling for :focus
|
55
|
+
// ------------------------------
|
56
|
+
@mixin h-button-focus($for-base: false) {
|
57
|
+
|
58
|
+
@if $for-base {
|
59
|
+
&:focus {
|
60
|
+
outline: none;
|
61
|
+
}
|
62
|
+
}
|
63
|
+
}
|
64
|
+
|
65
|
+
// -----------------
|
66
|
+
// BUTTON
|
67
|
+
// Create button
|
68
|
+
// -----------------
|
69
|
+
@mixin button(
|
70
|
+
$color : $button-color,
|
71
|
+
$padding : $button-padding,
|
72
|
+
$full : $button-full-style,
|
73
|
+
$for-base : false) {
|
74
|
+
|
75
|
+
@if $for-base {
|
76
|
+
display: inline-block;
|
77
|
+
cursor: pointer;
|
78
|
+
position: relative;
|
79
|
+
border: 1px solid rgba(black, .3);
|
80
|
+
}
|
81
|
+
|
82
|
+
background-color: $color;
|
83
|
+
padding: $padding;
|
84
|
+
color: contrast-color($color, $body-font-color, white, 70%);
|
85
|
+
|
86
|
+
@if $full and $for-base {
|
87
|
+
@include background-image(linear-gradient(top, rgba(white, .1), transparent ) );
|
88
|
+
@include transition($g-transition);
|
89
|
+
@include box-shadow(inset 1px 1px rgba(white, .1) );
|
90
|
+
}
|
91
|
+
|
92
|
+
@include h-button-hover($color:$color);
|
93
|
+
@include h-button-active($color:$color, $for-base:$for-base);
|
94
|
+
@include h-button-focus($for-base:$for-base);
|
35
95
|
}
|
36
96
|
|
37
|
-
@if $include-button {
|
38
|
-
|
97
|
+
@if $include-button and not $external-call {
|
98
|
+
|
39
99
|
/* ---------------
|
40
100
|
EDGE Button
|
41
101
|
--------------- */
|
42
102
|
button,
|
43
|
-
.button
|
44
|
-
|
45
|
-
input[type="submit"],
|
46
|
-
input[type="reset"] {
|
47
|
-
@include button($for-base:true);
|
103
|
+
.button {
|
104
|
+
@include button($for-base:true);
|
48
105
|
}
|
49
106
|
|
50
107
|
} // $include-button
|