edge_framework 0.0.2

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 (106) hide show
  1. checksums.yaml +15 -0
  2. data/.gitattributes +22 -0
  3. data/.gitignore +243 -0
  4. data/Gemfile +4 -0
  5. data/Gemfile.lock +38 -0
  6. data/LICENSE.txt +22 -0
  7. data/README.md +33 -0
  8. data/Rakefile +7 -0
  9. data/assets/js/edge/edge.collect.js +57 -0
  10. data/assets/js/edge/edge.handlebars.js +7 -0
  11. data/assets/js/edge/edge.ie8.js +24 -0
  12. data/assets/js/edge/edge.notification.js +0 -0
  13. data/assets/js/edge/layout.js +10 -0
  14. data/assets/js/edge/prototype.js +6 -0
  15. data/assets/js/edge.js +233 -0
  16. data/assets/js/edge.min.js +1 -0
  17. data/assets/sass/edge/_base.scss +295 -0
  18. data/assets/sass/edge/_components.scss +9 -0
  19. data/assets/sass/edge/_helpers.scss +2 -0
  20. data/assets/sass/edge/components/_block_grid.scss +99 -0
  21. data/assets/sass/edge/components/_form.scss +15 -0
  22. data/assets/sass/edge/components/_grid.scss +301 -0
  23. data/assets/sass/edge/components/_main.scss +133 -0
  24. data/assets/sass/edge/components/_normalize.scss +49 -0
  25. data/assets/sass/edge/components/_palette.scss +24 -0
  26. data/assets/sass/edge/components/_print.scss +71 -0
  27. data/assets/sass/edge/components/_typography.scss +4 -0
  28. data/assets/sass/edge/components/_visibility.scss +64 -0
  29. data/assets/sass/edge/helpers/_sprites.scss +82 -0
  30. data/assets/sass/edge/helpers/_sticky-footer.scss +41 -0
  31. data/assets/sass/edge.scss +9 -0
  32. data/bin/edge +13 -0
  33. data/edge.gemspec +26 -0
  34. data/lib/edge/console.rb +10 -0
  35. data/lib/edge/engine.rb +16 -0
  36. data/lib/edge/version.rb +3 -0
  37. data/lib/edge_framework.rb +22 -0
  38. data/site/Gemfile +4 -0
  39. data/site/assets/css/app.css +24 -0
  40. data/site/assets/css/edge.css +423 -0
  41. data/site/assets/css/normalize.min.css +51 -0
  42. data/site/assets/css/sh/shCoreDefault.css +328 -0
  43. data/site/assets/img/dummy/001.jpg +0 -0
  44. data/site/assets/img/dummy/002.jpg +0 -0
  45. data/site/assets/img/dummy/003.jpg +0 -0
  46. data/site/assets/img/dummy/004.jpg +0 -0
  47. data/site/assets/img/dummy/005.jpg +0 -0
  48. data/site/assets/img/dummy/006.jpg +0 -0
  49. data/site/assets/img/dummy/007.jpg +0 -0
  50. data/site/assets/img/dummy/008.jpg +0 -0
  51. data/site/assets/img/dummy/009.jpg +0 -0
  52. data/site/assets/img/dummy/025.jpg +0 -0
  53. data/site/assets/img/favicon-big.png +0 -0
  54. data/site/assets/img/favicon.png +0 -0
  55. data/site/assets/img/icons/bulbasaur.png +0 -0
  56. data/site/assets/img/icons/charizard.png +0 -0
  57. data/site/assets/img/icons/charmander.png +0 -0
  58. data/site/assets/img/icons/charmeleon.png +0 -0
  59. data/site/assets/img/icons/ivysaur.png +0 -0
  60. data/site/assets/img/icons/squirtle.png +0 -0
  61. data/site/assets/img/icons/venusaur.png +0 -0
  62. data/site/assets/img/icons-se85c66def2.png +0 -0
  63. data/site/assets/img/icons@2x/bulbasaur.png +0 -0
  64. data/site/assets/img/icons@2x/charizard.png +0 -0
  65. data/site/assets/img/icons@2x/charmander.png +0 -0
  66. data/site/assets/img/icons@2x/charmeleon.png +0 -0
  67. data/site/assets/img/icons@2x/ivysaur.png +0 -0
  68. data/site/assets/img/icons@2x/squirtle.png +0 -0
  69. data/site/assets/img/icons@2x/venusaur.png +0 -0
  70. data/site/assets/img/icons@2x-sf605bc03f7.png +0 -0
  71. data/site/assets/js/app.js +0 -0
  72. data/site/assets/js/sh/shBrushCss.js +91 -0
  73. data/site/assets/js/sh/shBrushJScript.js +52 -0
  74. data/site/assets/js/sh/shBrushPhp.js +88 -0
  75. data/site/assets/js/sh/shBrushRuby.js +55 -0
  76. data/site/assets/js/sh/shBrushSass.js +94 -0
  77. data/site/assets/js/sh/shCore.js +17 -0
  78. data/site/assets/js/vendor/custom.modernizr.js +4 -0
  79. data/site/assets/js/vendor/handlebars.js +2239 -0
  80. data/site/assets/js/vendor/handlebars.min.js +2 -0
  81. data/site/assets/js/vendor/jquery.js +6 -0
  82. data/site/assets/sass/_setting.scss +50 -0
  83. data/site/assets/sass/app.scss +52 -0
  84. data/site/assets/sass/edge.scss +3 -0
  85. data/site/config.rb +23 -0
  86. data/site/config.ru +12 -0
  87. data/site/start.rb +20 -0
  88. data/site/views/docs/block_grid.erb +36 -0
  89. data/site/views/docs/grid.erb +147 -0
  90. data/site/views/form.html +114 -0
  91. data/site/views/index.erb +10 -0
  92. data/site/views/layout.erb +61 -0
  93. data/site/views/partials/_sidebar.erb +4 -0
  94. data/template/base/assets/img/favicon.ico +0 -0
  95. data/template/base/assets/js/app.js +3 -0
  96. data/template/base/assets/js/vendor/custom.modernizr.js +4 -0
  97. data/template/base/assets/js/vendor/jquery.min.js +6 -0
  98. data/template/base/assets/sass/_setting.scss +50 -0
  99. data/template/base/assets/sass/app.scss +4 -0
  100. data/template/base/assets/sass/edge.scss +3 -0
  101. data/template/base/config.rb +14 -0
  102. data/template/html/index.html +35 -0
  103. data/template/php/index.php +5 -0
  104. data/template/php/partials/_footer.php +15 -0
  105. data/template/php/partials/_header.php +17 -0
  106. metadata +233 -0
@@ -0,0 +1,82 @@
1
+ // -----------------------------------------------------
2
+ // SPRITES MAKER
3
+ // Combine multiple PNGs into one
4
+ // - Image's type must be PNG
5
+ // - Image's name can't start with number or contains special symbol like `@`
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
+ // Special Thanks:
12
+ // www.gayadesign.com/diy/retina-sprites-for-compass
13
+ // -----------------------------------------------------
14
+
15
+ // Generate standard sprites
16
+ @mixin sprite($folder-name : 'sprites',
17
+ $main-class : 'sprite',
18
+ $prefix-class : '') {
19
+ $sprites: sprite-map("#{$folder-name}/*.png", $layout: smart);
20
+ .#{$main-class}{
21
+ background : $sprites;
22
+ display : inline-block;
23
+ @include loop-sprite-map($sprites, false, $prefix-class);
24
+
25
+ @content; // placeholder for retina sprites
26
+ }
27
+ }
28
+
29
+ // Generate both Retina and Standard sprites
30
+ // - Folder's name for Retina must be EXACT SAME as Standard one with the addition of `@2x`
31
+ // - Image's name must be EXACT SAME for standard and retina
32
+ @mixin sprite-retina($folder-name : 'sprites',
33
+ $main-class : 'sprite',
34
+ $prefix-class : '') {
35
+
36
+ @include sprite($folder-name, $main-class, $prefix-class) {
37
+ $sprites : sprite-map("#{$folder-name}/*.png", $layout: smart);
38
+ $sprites-2x : sprite-map("#{$folder-name}@2x/*.png", $layout: smart);
39
+ @include retina {
40
+ // If all images in Retina and Standard folder is the same
41
+ @if length(sprite_names($sprites) ) == length(sprite_names($sprites-2x) ) {
42
+ background: $sprites-2x;
43
+ background-size:
44
+ (image-width(sprite-path($sprites-2x)) / 2)
45
+ (image-height(sprite-path($sprites-2x)) / 2);
46
+ }
47
+ // If there's missing images in retina folder
48
+ @else {
49
+ @include loop-sprite-map($sprites-2x, true, $prefix-class);
50
+ }
51
+ }
52
+ }
53
+ }
54
+
55
+
56
+ // Helper for looping through sprite-map
57
+ @mixin loop-sprite-map($sprite-map, $is-retina: false , $prefix-class: '') {
58
+ $divide-by : 1; // for retina sprites' scaling
59
+ $sprite-url : '';
60
+ @if $is-retina {
61
+ $divide-by : 2;
62
+ $sprite-url : sprite-url($sprite-map);
63
+ }
64
+
65
+ @each $i in sprite_names($sprite-map) {
66
+ &.#{$prefix-class}#{$i} {
67
+ @if $is-retina {
68
+ // It makes sure that if the sprite doesn't exist in Retina folder,
69
+ // it uses sprite from the Standard one.
70
+ background: $sprite-url;
71
+ background-size:
72
+ (image-width(sprite-path($sprite-map)) / 2)
73
+ (image-height(sprite-path($sprite-map)) / 2);
74
+ }
75
+ background-position:
76
+ round(nth(sprite-position($sprite-map, $i), 1) / $divide-by)
77
+ round(nth(sprite-position($sprite-map, $i), 2) / $divide-by);
78
+ height : image-height(sprite-file($sprite-map, $i)) / $divide-by;
79
+ width : image-width(sprite-file($sprite-map, $i)) / $divide-by;
80
+ }
81
+ }
82
+ }
@@ -0,0 +1,41 @@
1
+ // -----------------------------------------
2
+ // STICKY FOOTER
3
+ // Slight modification from Compass' footer
4
+ // Structure must be:
5
+ // <body>
6
+ // <div id="main-wrapper">
7
+ // ...
8
+ // <div id="footer-push"></div>
9
+ // </div>
10
+ // <footer id="footer"></footer>
11
+ // </body>
12
+ // -----------------------------------------
13
+
14
+ @mixin sticky-footer($footer-height,
15
+ $wrapper : '#main-wrapper',
16
+ $footer-pusher : '#footer-push',
17
+ $footer : '#footer',
18
+ $containerize : false) {
19
+ html, body {
20
+ height : 100%;
21
+ @if $containerize { background-color: #eee; }
22
+ }
23
+ #{$wrapper} {
24
+ min-height : 100%;
25
+ height : auto !important;
26
+ height : 100%;
27
+ margin : 0 auto ($footer-height * -1);
28
+ @if $containerize {
29
+ max-width : 1440px;
30
+ background : $body-bg;
31
+ @include box-shadow(0px 0px 20px rgba(black, 0.2));
32
+ }
33
+ }
34
+ #{$footer}, #{$footer-pusher} {
35
+ margin : 0 auto;
36
+ height : $footer-height;
37
+ @if $containerize {
38
+ max-width : 1440px;
39
+ }
40
+ }
41
+ }
@@ -0,0 +1,9 @@
1
+ /* ---------------------------------------------------------------
2
+ EDGE FRAMEWORK - edge.syne.net
3
+ v0.1.0 (Codename Abaddon)
4
+ Special Thanks:
5
+ - Foundation | foundation.zurb.com
6
+ - HTML5 Boilerplate | html5boilerplate.com
7
+ ------------------------------------------------------------------ */
8
+
9
+ @import "edge/components";
data/bin/edge ADDED
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'edge_framework'
4
+
5
+ command = ARGV[0]
6
+ type = ARGV[1]
7
+ name = ARGV[2]
8
+
9
+ if command == '' || command == 'help'
10
+ Edge.help()
11
+ elsif command == 'create'
12
+ Edge.create( type, name )
13
+ end
data/edge.gemspec ADDED
@@ -0,0 +1,26 @@
1
+ # coding: utf-8
2
+ require File.expand_path('../lib/edge/version', __FILE__)
3
+
4
+ Gem::Specification.new do |s|
5
+ s.name = "edge_framework"
6
+ s.version = Edge::VERSION
7
+ s.authors = ["Henner Setyono"]
8
+ s.email = ["henner@setyono.net"]
9
+ s.description = %q{Minimal Responsive Framework}
10
+ s.summary = %q{Minimal Responsive Framework with Compass}
11
+ s.homepage = "http://edge.setyono.net"
12
+ s.license = "MIT"
13
+
14
+ s.files = `git ls-files`.split($/)
15
+ s.executables = ["edge"]
16
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n") #spec.files.grep(%r{^(test|spec|features)/})
17
+ s.require_paths = ["lib"]
18
+
19
+ s.add_dependency "sass", [">= 3.2.0"]
20
+ s.add_dependency "compass", [">= 0.12.0"]
21
+
22
+ s.add_development_dependency "bundler", "~> 1.3"
23
+ s.add_development_dependency "rake"
24
+ s.add_development_dependency "rspec"
25
+ s.add_development_dependency "paint", "~> 0.8.6"
26
+ end
@@ -0,0 +1,10 @@
1
+ module Edge
2
+ class Console
3
+ def colorize(text, color_code)
4
+ "\033[#{color_code}m#{text}\033[0m"
5
+ end
6
+
7
+ def red(text); colorize(text, 31); end
8
+ def green(text); colorize(text, 32); end
9
+ end
10
+ end
@@ -0,0 +1,16 @@
1
+ module Edge
2
+ class Engine < Rails::Engine
3
+ # Save this block, we'll use it in two calls to .initializer
4
+ add_paths_block = lambda { |app|
5
+ app.config.assets.paths << File.expand_path("../../../assets/sass", __FILE__)
6
+ app.config.assets.paths << File.expand_path("../../../assets/js", __FILE__)
7
+ }
8
+
9
+ # Standard initializer
10
+ initializer 'edge.update_asset_paths', &add_paths_block
11
+
12
+ # Special initializer lets us precompile assets without fully initializing
13
+ initializer 'edge.update_asset_paths', :group => :assets,
14
+ &add_paths_block
15
+ end
16
+ end
@@ -0,0 +1,3 @@
1
+ module Edge
2
+ VERSION = "0.0.2"
3
+ end
@@ -0,0 +1,22 @@
1
+ root = File.join(File.dirname(__FILE__), "..")
2
+ require "edge/version"
3
+
4
+ module Edge
5
+ require 'edge/console'
6
+ @console = Edge::Console.new
7
+
8
+ def self.help()
9
+ puts "Installing....[" + @console.green("DONE") + "]"
10
+ end
11
+
12
+ def self.create(type, name)
13
+ puts "#{type} #{name}"
14
+ end
15
+ end
16
+
17
+ if defined?(Compass)
18
+ Compass::Frameworks.register("edge",
19
+ :stylesheets_directory => File.join(root,"assets/sass"),
20
+ :templates_directory => File.join(root,"templates")
21
+ )
22
+ end
data/site/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'http://rubygems.org'
2
+
3
+ gem "sinatra"
4
+ gem "sinatra-contrib"
@@ -0,0 +1,24 @@
1
+ .demo-grid p { text-align: center; margin: 0; }
2
+ .demo-grid .column, .demo-grid .columns { margin-bottom: 15px; padding-top: 10px; padding-bottom: 10px; background: #eee; text-align: center; }
3
+ .demo-grid .column .column, .demo-grid .column .columns, .demo-grid .columns .column, .demo-grid .columns .columns { background: #ddd; margin-bottom: 0; }
4
+ .demo-grid .column .column .column, .demo-grid .column .column .columns, .demo-grid .column .columns .column, .demo-grid .column .columns .columns, .demo-grid .columns .column .column, .demo-grid .columns .column .columns, .demo-grid .columns .columns .column, .demo-grid .columns .columns .columns { background: #ccc; margin-bottom: 0; }
5
+
6
+ .demo-block [class*="block-grid"] li { margin-bottom: 15px; padding-top: 10px; padding-bottom: 10px; background: #eee; text-align: center; }
7
+
8
+ .demo-em { -webkit-box-shadow: inset 0.0625em 0 0.0625em rgba(0, 0, 0, 0.2); -moz-box-shadow: inset 0.0625em 0 0.0625em rgba(0, 0, 0, 0.2); box-shadow: inset 0.0625em 0 0.0625em rgba(0, 0, 0, 0.2); padding: 0.625em 0.9375em 1.5625em; }
9
+
10
+ html, body { height: 100%; background-color: #eee; }
11
+
12
+ #main-wrapper { min-height: 100%; height: auto !important; height: 100%; margin: 0 auto -54px; max-width: 1440px; background: white; -webkit-box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.2); -moz-box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.2); box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.2); }
13
+
14
+ #footer, #footer-push { margin: 0 auto; height: 54px; max-width: 1440px; }
15
+
16
+ .ic { background: url('../img/icons-se85c66def2.png'); display: inline-block; }
17
+ .ic.bulbasaur { background-position: 0 -100px; height: 100px; width: 100px; }
18
+ .ic.charizard { background-position: 0 -500px; height: 200px; width: 200px; }
19
+ .ic.charmander { background-position: 0 0; height: 100px; width: 100px; }
20
+ .ic.charmeleon { background-position: 0 -350px; height: 150px; width: 150px; }
21
+ .ic.ivysaur { background-position: 0 -200px; height: 150px; width: 150px; }
22
+ .ic.squirtle { background-position: -100px -100px; height: 100px; width: 100px; }
23
+ .ic.venusaur { background-position: 0 -700px; height: 200px; width: 200px; }
24
+ @media only screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { .ic { background: url('../img/icons@2x-sf605bc03f7.png'); background-size: 200px 900px; } }