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.
- checksums.yaml +15 -0
- data/.gitattributes +22 -0
- data/.gitignore +243 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +38 -0
- data/LICENSE.txt +22 -0
- data/README.md +33 -0
- data/Rakefile +7 -0
- data/assets/js/edge/edge.collect.js +57 -0
- data/assets/js/edge/edge.handlebars.js +7 -0
- data/assets/js/edge/edge.ie8.js +24 -0
- data/assets/js/edge/edge.notification.js +0 -0
- data/assets/js/edge/layout.js +10 -0
- data/assets/js/edge/prototype.js +6 -0
- data/assets/js/edge.js +233 -0
- data/assets/js/edge.min.js +1 -0
- data/assets/sass/edge/_base.scss +295 -0
- data/assets/sass/edge/_components.scss +9 -0
- data/assets/sass/edge/_helpers.scss +2 -0
- data/assets/sass/edge/components/_block_grid.scss +99 -0
- data/assets/sass/edge/components/_form.scss +15 -0
- data/assets/sass/edge/components/_grid.scss +301 -0
- data/assets/sass/edge/components/_main.scss +133 -0
- data/assets/sass/edge/components/_normalize.scss +49 -0
- data/assets/sass/edge/components/_palette.scss +24 -0
- data/assets/sass/edge/components/_print.scss +71 -0
- data/assets/sass/edge/components/_typography.scss +4 -0
- data/assets/sass/edge/components/_visibility.scss +64 -0
- data/assets/sass/edge/helpers/_sprites.scss +82 -0
- data/assets/sass/edge/helpers/_sticky-footer.scss +41 -0
- data/assets/sass/edge.scss +9 -0
- data/bin/edge +13 -0
- data/edge.gemspec +26 -0
- data/lib/edge/console.rb +10 -0
- data/lib/edge/engine.rb +16 -0
- data/lib/edge/version.rb +3 -0
- data/lib/edge_framework.rb +22 -0
- data/site/Gemfile +4 -0
- data/site/assets/css/app.css +24 -0
- data/site/assets/css/edge.css +423 -0
- data/site/assets/css/normalize.min.css +51 -0
- data/site/assets/css/sh/shCoreDefault.css +328 -0
- data/site/assets/img/dummy/001.jpg +0 -0
- data/site/assets/img/dummy/002.jpg +0 -0
- data/site/assets/img/dummy/003.jpg +0 -0
- data/site/assets/img/dummy/004.jpg +0 -0
- data/site/assets/img/dummy/005.jpg +0 -0
- data/site/assets/img/dummy/006.jpg +0 -0
- data/site/assets/img/dummy/007.jpg +0 -0
- data/site/assets/img/dummy/008.jpg +0 -0
- data/site/assets/img/dummy/009.jpg +0 -0
- data/site/assets/img/dummy/025.jpg +0 -0
- data/site/assets/img/favicon-big.png +0 -0
- data/site/assets/img/favicon.png +0 -0
- data/site/assets/img/icons/bulbasaur.png +0 -0
- data/site/assets/img/icons/charizard.png +0 -0
- data/site/assets/img/icons/charmander.png +0 -0
- data/site/assets/img/icons/charmeleon.png +0 -0
- data/site/assets/img/icons/ivysaur.png +0 -0
- data/site/assets/img/icons/squirtle.png +0 -0
- data/site/assets/img/icons/venusaur.png +0 -0
- data/site/assets/img/icons-se85c66def2.png +0 -0
- data/site/assets/img/icons@2x/bulbasaur.png +0 -0
- data/site/assets/img/icons@2x/charizard.png +0 -0
- data/site/assets/img/icons@2x/charmander.png +0 -0
- data/site/assets/img/icons@2x/charmeleon.png +0 -0
- data/site/assets/img/icons@2x/ivysaur.png +0 -0
- data/site/assets/img/icons@2x/squirtle.png +0 -0
- data/site/assets/img/icons@2x/venusaur.png +0 -0
- data/site/assets/img/icons@2x-sf605bc03f7.png +0 -0
- data/site/assets/js/app.js +0 -0
- data/site/assets/js/sh/shBrushCss.js +91 -0
- data/site/assets/js/sh/shBrushJScript.js +52 -0
- data/site/assets/js/sh/shBrushPhp.js +88 -0
- data/site/assets/js/sh/shBrushRuby.js +55 -0
- data/site/assets/js/sh/shBrushSass.js +94 -0
- data/site/assets/js/sh/shCore.js +17 -0
- data/site/assets/js/vendor/custom.modernizr.js +4 -0
- data/site/assets/js/vendor/handlebars.js +2239 -0
- data/site/assets/js/vendor/handlebars.min.js +2 -0
- data/site/assets/js/vendor/jquery.js +6 -0
- data/site/assets/sass/_setting.scss +50 -0
- data/site/assets/sass/app.scss +52 -0
- data/site/assets/sass/edge.scss +3 -0
- data/site/config.rb +23 -0
- data/site/config.ru +12 -0
- data/site/start.rb +20 -0
- data/site/views/docs/block_grid.erb +36 -0
- data/site/views/docs/grid.erb +147 -0
- data/site/views/form.html +114 -0
- data/site/views/index.erb +10 -0
- data/site/views/layout.erb +61 -0
- data/site/views/partials/_sidebar.erb +4 -0
- data/template/base/assets/img/favicon.ico +0 -0
- data/template/base/assets/js/app.js +3 -0
- data/template/base/assets/js/vendor/custom.modernizr.js +4 -0
- data/template/base/assets/js/vendor/jquery.min.js +6 -0
- data/template/base/assets/sass/_setting.scss +50 -0
- data/template/base/assets/sass/app.scss +4 -0
- data/template/base/assets/sass/edge.scss +3 -0
- data/template/base/config.rb +14 -0
- data/template/html/index.html +35 -0
- data/template/php/index.php +5 -0
- data/template/php/partials/_footer.php +15 -0
- data/template/php/partials/_header.php +17 -0
- 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
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
|
data/lib/edge/console.rb
ADDED
data/lib/edge/engine.rb
ADDED
@@ -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
|
data/lib/edge/version.rb
ADDED
@@ -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,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; } }
|