edge_framework 0.9.0 → 0.9.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. data/README.md +6 -10
  2. data/assets/js/edge/edge.animate.js +0 -0
  3. data/assets/sass/edge/_base.scss +34 -22
  4. data/assets/sass/edge/_components.scss +5 -4
  5. data/assets/sass/edge/_helpers.scss +2 -14
  6. data/assets/sass/edge/components/_animate.scss +151 -0
  7. data/assets/sass/edge/components/_button.scss +98 -41
  8. data/assets/sass/edge/components/_code.scss +170 -166
  9. data/assets/sass/edge/components/_form.scss +77 -76
  10. data/assets/sass/edge/components/_grid.scss +15 -12
  11. data/assets/sass/edge/components/_normalize.scss +60 -59
  12. data/assets/sass/edge/components/_print.scss +73 -70
  13. data/assets/sass/edge/components/_tile.scss +24 -10
  14. data/assets/sass/edge/components/_typography.scss +127 -138
  15. data/assets/sass/edge/components/_visibility.scss +156 -44
  16. data/assets/sass/edge/helpers/_sprites.scss +75 -63
  17. data/assets/sass/edge/helpers/_sticky-footer.scss +26 -31
  18. data/assets/sass/edge.scss +1 -1
  19. data/assets/sass/for-test.scss +247 -151
  20. data/assets/test.html +323 -11
  21. data/edge.gemspec +17 -18
  22. data/lib/edge/engine.rb +19 -0
  23. data/lib/edge/message.rb +32 -29
  24. data/lib/edge/sprockets.rb +4 -0
  25. data/lib/edge/version.rb +2 -2
  26. data/lib/edge_framework.rb +63 -67
  27. data/template/base/assets/js/app.js +1 -1
  28. data/template/base/assets/sass/_setting.scss +35 -35
  29. data/template/base/config.rb +1 -1
  30. data/template/html/index.html +3 -3
  31. data/template/php/partials/footer.php +2 -2
  32. data/template/wordpress/footer.php +2 -3
  33. metadata +8 -24
  34. data/assets/sass/edge/components/_block-grid-margin.scss +0 -112
  35. data/assets/sass/edge/components/_grid-margin.scss +0 -309
  36. data/assets/sass/edge/components/_grid-old.scss +0 -287
  37. data/lib/edge/console.rb +0 -15
@@ -1,86 +1,82 @@
1
1
  root = File.join(File.dirname(__FILE__), "..")
2
- require "edge/version"
3
- require "win32console" # Command line color for Windows
2
+
4
3
  require "fileutils" # Copy files
5
4
 
6
5
  module Edge
7
- require "edge/console"
8
- require "edge/version"
9
- require "edge/message"
6
+ require "edge/message"
7
+
8
+ @message = Edge::Message.new
10
9
 
11
- @console = Edge::Console.new
10
+ def self.message(key)
11
+ return @message.get_message(key);
12
+ end
12
13
 
13
- # Create project
14
- def self.create(type, name)
15
- # If name is specified, create new directory
16
- if name
17
- puts "Creating #{ @console.magenta(name) } as #{ @console.yellow(type) } project..."
14
+ # Create project
15
+ def self.create(type, name)
16
+ # If name is specified, create new directory
17
+ if name
18
+ FileUtils.mkdir( name )
19
+ destination = File.join( Dir.pwd, name )
20
+ # If type is specified, create new file in the current directory
21
+ elsif type
22
+ puts "[create] \t #{type} template"
23
+ destination = Dir.pwd
24
+ else
25
+ puts message(:create_wrong_syntax)
26
+ return false
27
+ end
18
28
 
19
- FileUtils.mkdir( name )
20
- destination = File.join( Dir.pwd, name )
21
- # If type is specified, create new file in the current directory
22
- elsif type
23
- puts "Generating #{ @console.yellow(type) } template..."
24
- destination = Dir.pwd
25
- else
26
- puts CREATE_WRONG_SYNTAX
27
- return false
28
- end
29
+ # Gem home directory
30
+ home = File.expand_path( "..", File.dirname(__FILE__) )
31
+ template = File.join( home, "template" )
29
32
 
30
- # Gem home directory
31
- home = File.expand_path( "..", File.dirname(__FILE__) )
32
- template = File.join( home, "template" )
33
+ # Copy template files
34
+ template_type = File.join( template, type )
35
+ # If directory doesn't exist
36
+ if !File.directory?(template_type)
37
+ puts "[error] \t Template not found"
38
+ puts message(:available_template)
39
+ return false
40
+ end
41
+ FileUtils.cp_r( Dir["#{template_type}/*"], destination )
33
42
 
34
- # Copy template files
35
- template_type = File.join( template, type )
36
- # If directory doesn't exist
37
- if !File.directory?(template_type)
38
- puts "#{ @console.red('Template not found') }"
39
- puts AVAILABLE_TEMPLATE
40
- return false
41
- end
42
- FileUtils.cp_r( Dir["#{template_type}/*"], destination )
43
+ # Copy base files
44
+ base = File.join( template, "base" )
45
+ FileUtils.cp_r( Dir["#{base}/*"], destination )
43
46
 
44
- # Copy base files
45
- base = File.join( template, "base" )
46
- FileUtils.cp_r( Dir["#{base}/*"], destination )
47
+ # Copy javascript files
48
+ js_source = File.join( home, "assets", "js" )
49
+ js_destination = File.join( destination, "assets", "js")
50
+ FileUtils.cp_r( Dir["#{js_source}/*"], js_destination )
47
51
 
48
- # Copy javascript files
49
- js_source = File.join( home, "assets", "js" )
50
- js_destination = File.join( destination, "assets", "js")
51
- FileUtils.cp_r( Dir["#{js_source}/*"], js_destination )
52
+ puts "[success] \t Run `compass watch` to generate the CSS"
53
+ end
52
54
 
53
- if name.nil?
54
- compass_command = "#{ @console.cyan('compass watch') }"
55
- elsif name.match(/\s/)
56
- compass_command = "#{ @console.cyan('compass watch') } #{ @console.cyan('"'+name+'"') }"
57
- elsif name
58
- compass_command = "#{ @console.cyan('compass watch') } #{ @console.cyan(name) }"
59
- else
60
- compass_command = "#{ @console.cyan('compass watch') }"
61
- end
62
- puts "#{ @console.green('Done!') } For starter, you can run #{ @console.cyan(compass_command) } to generate the CSS"
63
- end
55
+ # Help message
56
+ def self.help()
57
+ puts message(:help)
58
+ end
64
59
 
65
- # Help message
66
- def self.help()
67
- puts HELP
68
- end
60
+ # Error message for non-existance command
61
+ def self.not_found(command)
62
+ puts "The command '#{command}' does not exist. Run #{ log("edge -h") } for help"
63
+ end
69
64
 
70
- # Error message for non-existance command
71
- def self.not_found(command)
72
- puts "The command '#{command}' does not exist. Run #{ @console.cyan("edge -h") } for available commands."
73
- end
65
+ # Generic message for command that is too long
66
+ def self.command_too_long()
67
+ puts "Passed parameters exceed limits. If your #{ log('project_name') } contains space, enclose it with double-quote (\")"
68
+ end
74
69
 
75
- # Generic message for command that is too long
76
- def self.command_too_long()
77
- puts "Passed parameters exceed limits. If your #{ @console.cyan("project_name") } contains space, enclose it with double-quote (\")"
78
- end
70
+ if defined?(Rails::Engine)
71
+ require "edge/engine"
72
+ elsif defined?(Sprockets)
73
+ require "edge/sprockets"
74
+ end
79
75
  end
80
76
 
81
77
  if defined?(Compass)
82
- Compass::Frameworks.register("edge",
83
- :stylesheets_directory => File.join(root,"assets/sass"),
84
- :templates_directory => File.join(root,"templates")
85
- )
78
+ Compass::Frameworks.register("edge",
79
+ :stylesheets_directory => File.join(root,"assets/sass"),
80
+ :templates_directory => File.join(root,"templates")
81
+ )
86
82
  end
@@ -1,3 +1,3 @@
1
1
  (function () {
2
- // Your app-specific script here
2
+ // Your app-specific script here
3
3
  }() );
@@ -3,29 +3,24 @@
3
3
 
4
4
  // Override EDGE variables here
5
5
  // To override, uncomment the variable and set the new value
6
- // Please keep the measurement unit (px or em) the same.
7
-
8
- // The first thing to change is Font-family and Main color of your site
9
6
 
10
7
  // -------
11
8
  // FONT
12
9
  // -------
13
- // $header-font-family : "Helvetica Neue", "Helvetica", Helvetica, Arial, "sans-serif";
14
- // $body-font-family : "Helvetica", Helvetica, Arial, "sans-serif";
10
+ $header-font-family : "Helvetica Neue", "Helvetica", Helvetica, Arial, "sans-serif";
11
+ $body-font-family : "Helvetica", Helvetica, Arial, "sans-serif";
15
12
  // $code-font-family : "Consolas", Courier, "monospace";
16
13
 
17
14
  // --------------------------------
18
15
  // COLOR
19
16
  // Two main colors of your site
20
17
  // --------------------------------
21
- // $main-color : #0173bc;
18
+ $main-color : #0173bc;
22
19
  // $sub-color : #e9e9e9;
23
20
 
24
- // -----------------------
21
+ // -------------------
25
22
  // COLOR PALETTE
26
- // These colors below should NEVER be used directly to style
27
- // set to another variable like $header-color: $blue-color;
28
- // ----------------------------------------------------------
23
+ // -------------------
29
24
  // $passive-color : #e9e9e9;
30
25
  // $blue-color : #0173bc;
31
26
  // $yellow-color : #dba924;
@@ -34,12 +29,15 @@
34
29
 
35
30
  // ---------------------------
36
31
  // OUTPUT CONFIG
37
- // debug - if true : add debug functionality
38
- // responsive - if false: prevent the grid from shrinking down
39
- // include - if false: remove the CSS output, but can still use the mixin
32
+ // debug : if true - add useful functionality for development
33
+ // responsive : add responsiveness to the output
34
+ // vertical-rhythm : vertically-align all header, paragraph, and list
35
+
36
+ // include : if false - no CSS output
40
37
  // ------------------------------------------------------------------------------
41
38
  // $debug : false;
42
39
  // $responsive : true;
40
+ // $vertical-rhythm : false;
43
41
 
44
42
  // $include-typography : true;
45
43
  // $include-grid : true;
@@ -48,27 +46,25 @@
48
46
 
49
47
  // $include-button : true;
50
48
  // $include-form : true;
49
+ // $include-animate : true;
51
50
 
52
51
  // $include-print : false;
53
52
  // $include-code : false;
54
53
 
55
- // ------
56
- // BODY
57
- // ------
58
- // $body-background : #fff;
59
- // $body-font-color : #222;
60
- // $body-font-weight : normal;
61
- // $body-font-style : normal;
62
-
63
- // $body-font-size : 16px; // base-value for pixel->em converter
64
- // $body-line-height : 1.5;
65
-
66
54
  // ---------------
67
55
  // GLOBAL VALUE
68
56
  // ---------------
69
57
  // $g-radius : 5px;
70
58
  // $g-transition : all 0.2s ease-out;
71
59
 
60
+ // -------------------
61
+ // MEDIA QUERIES
62
+ // -------------------
63
+ // $mini-screen : 480px;
64
+ // $small-screen : 767px;
65
+ // $large-screen : 1440px;
66
+ // $retina-screen : 192dpi;
67
+
72
68
  // --------
73
69
  // GRID
74
70
  // --------
@@ -82,6 +78,16 @@
82
78
  // $max-tiles : 12;
83
79
  // $tile-gutter : 15px;
84
80
 
81
+ // ------
82
+ // BODY
83
+ // ------
84
+ // $body-background : #fff;
85
+ // $body-font-color : #222;
86
+ // $body-font-weight : 400;
87
+
88
+ // $body-font-size : 16px;
89
+ // $body-line-height : 1.5;
90
+
85
91
  // ---------------
86
92
  // TYPOGRAPHY
87
93
  // ---------------
@@ -100,22 +106,16 @@
100
106
  // -----------------
101
107
  // CODE Highlighter
102
108
  // -----------------
103
- // $code-theme : light; // light or dark
104
-
105
- // -------------------
106
- // MEDIA QUERIES
107
- // -------------------
108
- // $mini-screen : 480px;
109
- // $small-screen : 767px;
110
- // $large-screen : 1440px;
111
- // $retina-screen : 192dpi;
109
+ // $code-theme : light; // "light" or "dark"
112
110
 
113
111
  // ----------
114
112
  // BUTTON
115
113
  // ----------
116
- // $button-padding : 10px 20px;
114
+ // $button-full-style : true; // if false: remove all css3 styling
115
+ // $button-color : $main-color;
116
+ // $button-padding : 10px 20px;
117
117
 
118
118
  // ------------------
119
119
  // TEXT DIRECTION
120
120
  // ------------------
121
- // $text-direction : ltr; // Controls default global text direction, 'rtl' or 'ltr'
121
+ // $text-direction : ltr; // Controls default global text direction, 'rtl' or 'ltr'
@@ -1,4 +1,4 @@
1
- gem "edge_framework", "= 0.9.0" # Remove this line to use the latest EDGE, beware of incompatibility
1
+ gem "edge_framework", "= 0.9.9" # Remove this line to use the latest EDGE, beware of incompatibility
2
2
  require "edge_framework"
3
3
 
4
4
  http_path = "/"
@@ -23,12 +23,12 @@
23
23
 
24
24
  <!-- Content goes here -->
25
25
 
26
- <div id="footer-push"></div>
26
+ <aside id="footer-push"></aside>
27
27
  </div>
28
- <footer id="footer"></footer>
28
+ <footer class="main-footer"></footer>
29
29
 
30
30
  <!-- Google's Hosted JQuery -->
31
- <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
31
+ <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
32
32
  <script type="text/javascript">
33
33
  // Use local jquery, if Google's one fails to load
34
34
  if (typeof jQuery == "undefined") {
@@ -1,6 +1,6 @@
1
- <div id="footer-push"></div>
1
+ <aside id="footer-push"></aside>
2
2
  </div>
3
- <footer id="footer"></footer>
3
+ <footer class="main-footer"></footer>
4
4
 
5
5
  <!-- Google's Hosted JQuery -->
6
6
  <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
@@ -1,7 +1,6 @@
1
- <div id="footer-push"></div>
1
+ <aside id="footer-push"></aside>
2
2
  </div>
3
- <footer id="footer">
4
- </footer>
3
+ <footer class="main-footer"></footer>
5
4
 
6
5
  <!-- Google's Hosted JQuery -->
7
6
  <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: edge_framework
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.9.9
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-01-15 00:00:00.000000000 Z
12
+ date: 2014-03-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sass
@@ -43,22 +43,6 @@ dependencies:
43
43
  - - ! '>='
44
44
  - !ruby/object:Gem::Version
45
45
  version: 0.12.0
46
- - !ruby/object:Gem::Dependency
47
- name: win32console
48
- requirement: !ruby/object:Gem::Requirement
49
- none: false
50
- requirements:
51
- - - ! '>='
52
- - !ruby/object:Gem::Version
53
- version: '0'
54
- type: :runtime
55
- prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
- requirements:
59
- - - ! '>='
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
46
  - !ruby/object:Gem::Dependency
63
47
  name: bundler
64
48
  requirement: !ruby/object:Gem::Requirement
@@ -107,7 +91,7 @@ dependencies:
107
91
  - - ! '>='
108
92
  - !ruby/object:Gem::Version
109
93
  version: '0'
110
- description: Responsive SASS Framework
94
+ description: Minimalist SASS Framework
111
95
  email:
112
96
  - henner@setyono.net
113
97
  executables:
@@ -124,6 +108,7 @@ files:
124
108
  - Rakefile
125
109
  - assets/js-docs/jquery.min.js
126
110
  - assets/js/edge.js
111
+ - assets/js/edge/edge.animate.js
127
112
  - assets/js/edge/edge.collect.js
128
113
  - assets/js/edge/edge.handlebars.js
129
114
  - assets/js/edge/edge.ie8.js
@@ -136,12 +121,10 @@ files:
136
121
  - assets/sass/edge/_base.scss
137
122
  - assets/sass/edge/_components.scss
138
123
  - assets/sass/edge/_helpers.scss
139
- - assets/sass/edge/components/_block-grid-margin.scss
124
+ - assets/sass/edge/components/_animate.scss
140
125
  - assets/sass/edge/components/_button.scss
141
126
  - assets/sass/edge/components/_code.scss
142
127
  - assets/sass/edge/components/_form.scss
143
- - assets/sass/edge/components/_grid-margin.scss
144
- - assets/sass/edge/components/_grid-old.scss
145
128
  - assets/sass/edge/components/_grid.scss
146
129
  - assets/sass/edge/components/_normalize.scss
147
130
  - assets/sass/edge/components/_print.scss
@@ -155,8 +138,9 @@ files:
155
138
  - assets/test2.html
156
139
  - bin/edge
157
140
  - edge.gemspec
158
- - lib/edge/console.rb
141
+ - lib/edge/engine.rb
159
142
  - lib/edge/message.rb
143
+ - lib/edge/sprockets.rb
160
144
  - lib/edge/version.rb
161
145
  - lib/edge_framework.rb
162
146
  - template/base/.gitignore
@@ -210,5 +194,5 @@ rubyforge_project:
210
194
  rubygems_version: 1.8.28
211
195
  signing_key:
212
196
  specification_version: 3
213
- summary: Responsive SASS Framework that utilize Compass to its full extend
197
+ summary: Minimalist SASS Framework that utilize Compass to its full extend
214
198
  test_files: []
@@ -1,112 +0,0 @@
1
- // ------------------------------------------
2
- // BLOCK GRID with MARGIN
3
- // *Deprecated* since v 0.1, use block-grid instead
4
- // Using margin for distance between block
5
- // ------------------------------------------
6
- $block-grid-max-width : em($content-width) !default;
7
- $block-grid-total : 12 !default;
8
- $block-grid-margin : em(25px) !default;
9
-
10
- // Calculate percentages for block-grid
11
- @function blockGridCalc($blockNum, $totalBlock:$block-grid-total, $collapse:false) {
12
- $baseSize : 100% / $blockNum;
13
-
14
- // Reduce size due to margin between grid.
15
- $fillSize : 0 !default;
16
- @if $collapse == false { // -2% / 4
17
- $fillSize : ( gridMarginCalc() * ( $blockNum - 1 ) / $blockNum );
18
- }
19
-
20
- @return $baseSize - $fillSize;
21
- }
22
-
23
- // Calculate percentages for Margin between block-grid
24
- @function blockGridMarginCalc($blockMargin: $block-grid-margin, $maxWidth: $block-grid-max-width) {
25
- @return percentage( $blockMargin / $maxWidth );
26
- }
27
-
28
- @mixin block-grid($block-num : false,
29
- $spacing : $block-grid-margin,
30
- $base-style : true,
31
- $collapse : false) {
32
-
33
- @if $base-style {
34
- display : block;
35
- padding : 0;
36
- @include clearfix;
37
-
38
- &> li {
39
- display : block;
40
- height : auto;
41
- float : $default-float;
42
- @if $collapse == false {
43
- margin-#{$default-opposite} : blockGridMarginCalc($spacing);
44
- } @else {
45
- margin-#{$default-opposite} : 0;
46
- }
47
- }
48
- }
49
-
50
- @if $block-num {
51
- &>li {
52
- width : blockGridCalc($block-num, $collapse: $collapse);
53
- @if $collapse == false {
54
- &:nth-of-type(#{$block-num}n) {
55
- margin-#{$default-opposite} : 0;
56
- }
57
- }
58
-
59
- // &:nth-of-type(#{$block-num}n+1) {
60
- // clear: both;
61
- // }
62
- }
63
- }
64
- }
65
-
66
- @if $include-block-grid {
67
-
68
- /* ---------------
69
- EDGE Block Grid
70
- --------------- */
71
-
72
- [class*="block-grid-"] { @include block-grid; }
73
-
74
- // Large block grid
75
- @for $i from 2 through $block-grid-total {
76
- .large-block-grid-#{($i)} {
77
- @include block-grid($i, $for-base: false);
78
-
79
- &.collapse {
80
- @include block-grid($i, $for-base: false, $collapse: true);
81
- }
82
- }
83
- }
84
-
85
- @include small {
86
- [class*="small-block-grid-"] > li { clear: none !important; }
87
-
88
- // Make large-block-grid 100% width
89
- [class*="large-block-grid-"] > li {
90
- width: 100%;
91
-
92
- // Reset large-block-grid nth-child margin
93
- &:nth-child(n+1) {
94
- margin-#{$default-opposite} : blockGridMarginCalc($block-grid-margin);
95
- }
96
- }
97
-
98
- // Small block grid
99
- @for $i from 2 through $block-grid-total {
100
- .small-block-grid-#{($i)} {
101
- @include block-grid($i, $base-style: false);
102
- &.collapse {
103
- @include block-grid($i, $base-style: false, $collapse: true);
104
- }
105
- }
106
- }
107
- }
108
-
109
- // Base style for collapsed block-grid, written below to override other style
110
- [class*="block-grid-"].collapse { @include block-grid($collapse: true); }
111
-
112
- }