compass-golden-grid-system 0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +5 -0
- data/Gemfile +4 -0
- data/README.mkdn +78 -0
- data/compass-golden-grid-system.gemspec +22 -0
- data/lib/ggs.rb +2 -0
- data/stylesheets/ggs/_mixins.sass +69 -0
- data/stylesheets/ggs/_normalize.sass +104 -0
- data/templates/project/GGS.html +65 -0
- data/templates/project/GGS.js +159 -0
- data/templates/project/GGS.sass +19 -0
- data/templates/project/manifest.rb +20 -0
- data/templates/project/partials/_global.sass +1 -0
- data/templates/project/partials/_large.sass +39 -0
- data/templates/project/partials/_mobile.sass +57 -0
- data/templates/project/partials/_tablet.sass +74 -0
- data/templates/project/partials/_type.sass +37 -0
- metadata +72 -0
data/Gemfile
ADDED
data/README.mkdn
ADDED
@@ -0,0 +1,78 @@
|
|
1
|
+
#Golden Grid System Compass Plugin
|
2
|
+
|
3
|
+
This plugin adds the Golden Grid System to [Compass](http://compass-style.org).
|
4
|
+
|
5
|
+
[Golden Grid System](http://goldengridsystem.com) is a fluid grid created by [Joni Korpi](http://jonikorpi.com) with
|
6
|
+
[four features](http://goldengridsystem.com/#features): columns, gutters, a baseline and a script.
|
7
|
+
|
8
|
+
##Install the gem
|
9
|
+
|
10
|
+
`gem install compass-golden-grid-system`
|
11
|
+
|
12
|
+
##Create a Compass project using Golden Grid System
|
13
|
+
|
14
|
+
`compass create -r ggs my_project --using ggs`
|
15
|
+
|
16
|
+
This will create a Compass project with the default directory structure
|
17
|
+
and use scss syntax.
|
18
|
+
|
19
|
+
See the Compass [Install](http://compass-style.org/install) page for
|
20
|
+
options.
|
21
|
+
|
22
|
+
###Sans Compass
|
23
|
+
|
24
|
+
Download the source and use it in your sass project.
|
25
|
+
|
26
|
+
##Usage
|
27
|
+
|
28
|
+
In the `sass` directory you will find the bootstrap file `GGS.scss`
|
29
|
+
which imports all of the component files.
|
30
|
+
|
31
|
+
###Partials
|
32
|
+
|
33
|
+
There are partials for each grid size:
|
34
|
+
|
35
|
+
- `_mobile.scss` the default layout of 4 columns
|
36
|
+
- `_tablet.scss` 8 column grid
|
37
|
+
- `_large.scss` 16 column grid
|
38
|
+
|
39
|
+
`_type.scss` contains the type presets.
|
40
|
+
|
41
|
+
_I left the classes to remain consistent with the original `GGS.css` file but they aren't necessary._
|
42
|
+
|
43
|
+
`_global.scss` is for styles shared by all layouts.
|
44
|
+
|
45
|
+
##Configuration Variables
|
46
|
+
|
47
|
+
From the GGS.scss file
|
48
|
+
|
49
|
+
`$line: 24` - Line height
|
50
|
+
`$column: 100% / 18` - Column width
|
51
|
+
`$font-size: 16` - Base font size
|
52
|
+
`$em: $font-size * 1` EM conversion
|
53
|
+
|
54
|
+
I've added:
|
55
|
+
|
56
|
+
`$layout: 8 !default` - This variable is overridden in each layout.
|
57
|
+
`$page: 100% !default` - You probably wouldn't change this and it
|
58
|
+
probably didn't need to be a variable.
|
59
|
+
|
60
|
+
###Mixins
|
61
|
+
|
62
|
+
- `column($columns, $side)` - Considers the `$layout` and sets the width of an element to span the number of given columns, and optionally set a float direction.
|
63
|
+
- `outer($columns)` - Sets the outer margin width.
|
64
|
+
- `wrapper` - Elastic gutters, applies `padding: 0 .075em` and `box-sizing:
|
65
|
+
border-box`.
|
66
|
+
- There are mixins for each of the type presets as well.
|
67
|
+
|
68
|
+
##Credit
|
69
|
+
|
70
|
+
Thanks to Joni Korpi for creating rad minimal tools. I started with the [GGS.scss](http://github.com/jonikorpi/Golden-Grid-System/blob/master/GGS.scss)
|
71
|
+
file which was contributed by [mikker](http://github.com/mikker)
|
72
|
+
|
73
|
+
Thanks to [willhw's](http://github.com/willhw) [compass-less-plugin](http://github.com/willhw/compass-less-plugin) which I used as a reference point.
|
74
|
+
|
75
|
+
##Notes
|
76
|
+
|
77
|
+
I'm no sass/compass expert. This is my first Compass extension and Ruby Gem and I'm sure there art things that could
|
78
|
+
be improved. Feel free to make it better. Cheers.
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
|
4
|
+
Gem::Specification.new do |s|
|
5
|
+
s.name = "compass-golden-grid-system"
|
6
|
+
s.version = "0.1"
|
7
|
+
s.platform = Gem::Platform::RUBY
|
8
|
+
s.authors = ["Tal Williams"]
|
9
|
+
s.email = ["contact.me@talwilliams.com"]
|
10
|
+
s.homepage = "http://github.com/xtalx/compass-golden-grid-system"
|
11
|
+
s.summary = %q{Compass compatible port of Golden Grid System}
|
12
|
+
s.description = %q{A folding grid for responsive design.}
|
13
|
+
|
14
|
+
s.rubyforge_project = "compass-golden-grid-system"
|
15
|
+
|
16
|
+
s.add_dependency "compass", ">= 0.10"
|
17
|
+
|
18
|
+
s.files = `git ls-files`.split("\n")
|
19
|
+
|
20
|
+
s.has_rdoc = false
|
21
|
+
s.require_paths = ["lib"]
|
22
|
+
end
|
data/lib/ggs.rb
ADDED
@@ -0,0 +1,69 @@
|
|
1
|
+
// Important Numbers
|
2
|
+
$line: 24
|
3
|
+
$column: 100% / 18
|
4
|
+
$font-size: 16
|
5
|
+
$em: $font-size * 1
|
6
|
+
|
7
|
+
// Variables that enable setting column widths, floats and outer margins
|
8
|
+
$layout: 4 !default
|
9
|
+
$page: 100% !default
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
=column($columns, $side:"")
|
14
|
+
width: $page / $layout * $columns
|
15
|
+
@if $side != ""
|
16
|
+
float: $side
|
17
|
+
|
18
|
+
=outer($columns)
|
19
|
+
// margin: 0 5.555555555555555%
|
20
|
+
margin: 0 $columns * $column
|
21
|
+
|
22
|
+
=wrapper
|
23
|
+
padding: 0 0.75em
|
24
|
+
-webkit-box-sizing: border-box
|
25
|
+
-moz-box-sizing: border-box
|
26
|
+
-o-box-sizing: border-box
|
27
|
+
box-sizing: border-box
|
28
|
+
|
29
|
+
|
30
|
+
//
|
31
|
+
// Zoomable baseline grid
|
32
|
+
// type size presets
|
33
|
+
//
|
34
|
+
|
35
|
+
|
36
|
+
=body
|
37
|
+
// 16px / 24px //
|
38
|
+
font-size: $font-size / 16 * 1em
|
39
|
+
line-height: #{$line / $em}em
|
40
|
+
|
41
|
+
=small
|
42
|
+
// 13px / 18px //
|
43
|
+
font-size: #{$font-size * 0.813 / $em}em
|
44
|
+
line-height: $line * 0.75 / ($font-size * 0.813) * 1em
|
45
|
+
|
46
|
+
=normal
|
47
|
+
// 16px / 24px //
|
48
|
+
font-size: #{$font-size / $em}em
|
49
|
+
line-height: #{$line / $em}em
|
50
|
+
|
51
|
+
=large
|
52
|
+
// 16px / 24px //
|
53
|
+
font-size: #{26 / $em}em
|
54
|
+
line-height: $line * 1.5 / 26 * 1em
|
55
|
+
|
56
|
+
=huge
|
57
|
+
// 42px / 48px //
|
58
|
+
font-size: #{42 / $em}em
|
59
|
+
line-height: $line * 2 / 42 * 1em
|
60
|
+
|
61
|
+
=massive
|
62
|
+
// 68px / 72px //
|
63
|
+
font-size: #{68 / $em}em
|
64
|
+
line-height: $line * 3 / 68 * 1em
|
65
|
+
|
66
|
+
=gigantic
|
67
|
+
// 110px / 120px //
|
68
|
+
font-size: #{110 / $em}em
|
69
|
+
line-height: $line * 5 / 110 * 1em
|
@@ -0,0 +1,104 @@
|
|
1
|
+
/*
|
2
|
+
**
|
3
|
+
** Margin, padding, and border resets
|
4
|
+
** except for form elements
|
5
|
+
**/
|
6
|
+
|
7
|
+
|
8
|
+
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, a, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, figure, footer, header, hgroup, nav, section, menu, time, mark, audio, video, canvas
|
9
|
+
margin: 0
|
10
|
+
padding: 0
|
11
|
+
border: 0
|
12
|
+
|
13
|
+
|
14
|
+
/*
|
15
|
+
**
|
16
|
+
** Consistency fixes
|
17
|
+
** adopted from http://necolas.github.com/normalize.css/
|
18
|
+
**/
|
19
|
+
|
20
|
+
|
21
|
+
html
|
22
|
+
height: 100%
|
23
|
+
-webkit-text-size-adjust: 100%
|
24
|
+
-ms-text-size-adjust: 100%
|
25
|
+
|
26
|
+
body
|
27
|
+
min-height: 100%
|
28
|
+
font-size: 100%
|
29
|
+
|
30
|
+
article, aside, details, figcaption, figure,
|
31
|
+
footer, header, hgroup, nav, section, audio, canvas, video
|
32
|
+
display: block
|
33
|
+
|
34
|
+
sub, sup
|
35
|
+
font-size: 75%
|
36
|
+
line-height: 0
|
37
|
+
position: relative
|
38
|
+
vertical-align: baseline
|
39
|
+
|
40
|
+
li
|
41
|
+
list-style-type: none
|
42
|
+
|
43
|
+
sup
|
44
|
+
top: -0.5em
|
45
|
+
|
46
|
+
sub
|
47
|
+
bottom: -0.25em
|
48
|
+
|
49
|
+
pre
|
50
|
+
white-space: pre
|
51
|
+
white-space: pre-wrap
|
52
|
+
word-wrap: break-word
|
53
|
+
|
54
|
+
b, strong
|
55
|
+
font-weight: bold
|
56
|
+
|
57
|
+
abbr[title]
|
58
|
+
border-bottom: 1px dotted
|
59
|
+
|
60
|
+
input, textarea, button, select
|
61
|
+
margin: 0
|
62
|
+
font-size: 100%
|
63
|
+
line-height: normal
|
64
|
+
vertical-align: baseline
|
65
|
+
|
66
|
+
button,
|
67
|
+
html input[type="button"],
|
68
|
+
input[type="reset"],
|
69
|
+
input[type="submit"]
|
70
|
+
cursor: pointer
|
71
|
+
-webkit-appearance: button
|
72
|
+
|
73
|
+
input[type="checkbox"],
|
74
|
+
input[type="radio"]
|
75
|
+
-webkit-box-sizing: border-box
|
76
|
+
-moz-box-sizing: border-box
|
77
|
+
-ms-box-sizing: border-box
|
78
|
+
-o-box-sizing: border-box
|
79
|
+
box-sizing: border-box
|
80
|
+
|
81
|
+
textarea
|
82
|
+
overflow: auto
|
83
|
+
|
84
|
+
table
|
85
|
+
border-collapse: collapse
|
86
|
+
border-spacing: 0
|
87
|
+
|
88
|
+
/*
|
89
|
+
**
|
90
|
+
** Simple fluid media
|
91
|
+
**/
|
92
|
+
|
93
|
+
|
94
|
+
figure
|
95
|
+
position: relative
|
96
|
+
|
97
|
+
figure img, figure object, figure embed, figure video
|
98
|
+
max-width: 100%
|
99
|
+
display: block
|
100
|
+
|
101
|
+
img
|
102
|
+
border: 0
|
103
|
+
-ms-interpolation-mode: bicubic
|
104
|
+
|
@@ -0,0 +1,65 @@
|
|
1
|
+
<!doctype html>
|
2
|
+
<!--[if lt IE 9]><html class="ie"><![endif]-->
|
3
|
+
<!--[if gte IE 9]><!--><html><!--<![endif]-->
|
4
|
+
|
5
|
+
<!--
|
6
|
+
The comment jumble above is handy for targeting old IE with CSS.
|
7
|
+
http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/
|
8
|
+
-->
|
9
|
+
|
10
|
+
<head>
|
11
|
+
<meta charset="utf-8"/>
|
12
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
|
13
|
+
<title>Golden Grid System Demo</title>
|
14
|
+
|
15
|
+
<!-- Please don't add "maximum-scale=1" here. It's bad for accessibility. -->
|
16
|
+
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
17
|
+
|
18
|
+
<!-- Feel free to split the CSS into separate files, if you like. -->
|
19
|
+
<link rel="stylesheet" href="stylesheets/GGS.css"/>
|
20
|
+
|
21
|
+
<!-- Here's Golden Gridlet, the grid overlay script. -->
|
22
|
+
<script src="javascripts/GGS.js"></script>
|
23
|
+
|
24
|
+
<!--
|
25
|
+
This script enables structural HTML5 elements in old IE.
|
26
|
+
http://code.google.com/p/html5shim/
|
27
|
+
-->
|
28
|
+
<!--[if lt IE 9]>
|
29
|
+
<script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
30
|
+
<![endif]-->
|
31
|
+
</head>
|
32
|
+
|
33
|
+
<body lang="en">
|
34
|
+
|
35
|
+
<!-- Demo code begins -->
|
36
|
+
|
37
|
+
<header>
|
38
|
+
<div class="wrapper">
|
39
|
+
<h1>A Golden Demonstration</h1>
|
40
|
+
<h2>
|
41
|
+
Try resizing your browser or viewing this page on different devices. Use the icon in the upper right corner to see an overlay of the grid.
|
42
|
+
</h2>
|
43
|
+
</div>
|
44
|
+
</header>
|
45
|
+
|
46
|
+
<article id="twoway">
|
47
|
+
<section class="wrapper">
|
48
|
+
<h3>A two-way split</h3>
|
49
|
+
<p>
|
50
|
+
These two blocks of text will float side by side with some empty columns on the sides on large screens. On medium-sized screens the empty columns will disappear, and on small screens the blocks will be stacked vertically.
|
51
|
+
</p>
|
52
|
+
</section>
|
53
|
+
<section class="wrapper">
|
54
|
+
<h3>By the way</h3>
|
55
|
+
<p>
|
56
|
+
If you're viewing this page on an iOS device, it might zoom in wonkily when you rotate your device. This is because of <a href="http://filamentgroup.com/examples/iosScaleBug/">a Mobile Safari bug</a>.
|
57
|
+
</p>
|
58
|
+
</section>
|
59
|
+
</article>
|
60
|
+
|
61
|
+
<!-- Demo code ends -->
|
62
|
+
|
63
|
+
</body>
|
64
|
+
|
65
|
+
</html>
|
@@ -0,0 +1,159 @@
|
|
1
|
+
/*
|
2
|
+
*
|
3
|
+
* Golden Gridlet (1.01) <http://goldengridsystem.com/>
|
4
|
+
* by Joni Korpi <http://jonikorpi.com/>
|
5
|
+
* licensed under MIT <http://opensource.org/licenses/mit-license.php>
|
6
|
+
*
|
7
|
+
*/
|
8
|
+
|
9
|
+
var guideColor = 'rgb(255,195,0)';
|
10
|
+
var guideInnerColor = 'rgba(255,255,255, 0.91)';
|
11
|
+
var guideOpacity = '0.618';
|
12
|
+
|
13
|
+
var switchColor = 'rgb(0,0,0)';
|
14
|
+
var switchOpacity = '0.618';
|
15
|
+
|
16
|
+
var baseFontSize = 16;
|
17
|
+
var baselineGridHeight = (24 / baseFontSize)+'em';
|
18
|
+
|
19
|
+
var eightColBreakpoint = ((720-1) / baseFontSize)+'em';
|
20
|
+
var sixteenColBreakpoint = ((1872-1) / baseFontSize)+'em';
|
21
|
+
|
22
|
+
/*
|
23
|
+
* Note that the script might not work as expected if
|
24
|
+
* the <body> element of your page has a set width and
|
25
|
+
* position: relative;, because the guides are appended
|
26
|
+
* inside <body>, but positioned in relation to <html>.
|
27
|
+
*
|
28
|
+
* Also note that the baseline grid doesn't really align
|
29
|
+
* up anymore after zooming the baseline grid in or out,
|
30
|
+
* because of rounding errors.
|
31
|
+
*/
|
32
|
+
|
33
|
+
|
34
|
+
/*!
|
35
|
+
* Ender: open module JavaScript framework
|
36
|
+
* copyright Dustin Diaz & Jacob Thornton 2011 (@ded @fat)
|
37
|
+
* https://ender.no.de
|
38
|
+
* License MIT
|
39
|
+
* Build: ender -b jeesh
|
40
|
+
*/
|
41
|
+
!function(a){function d(a,b){return c(a,b)}function c(a,e,f){d._select&&(typeof a=="string"||a.nodeName||a.length&&"item"in a||a==window)?(f=d._select(a,e),f.selector=a):f=isFinite(a.length)?a:[a];return b(f,c)}function b(a,b){for(var c in b)c!="noConflict"&&c!="_VERSION"&&(a[c]=b[c]);return a}b(d,{_VERSION:"0.2.4",ender:function(a,e){b(e?c:d,a)},fn:a.$&&a.$.fn||{}}),b(c,{forEach:function(a,b,c){for(c=0,l=this.length;c<l;++c)c in this&&a.call(b||this[c],this[c],c,this);return this},$:d});var e=a.$;d.noConflict=function(){a.$=e;return this},typeof module!="undefined"&&module.exports&&(module.exports=d),a.ender=a.$=d}(this),!function(a){function F(a){var b=a.relatedTarget;if(!b)return b==null;return b!=this&&b.prefix!="xul"&&!/document/.test(this.toString())&&!p(this,b)}var b=1,c={},d={},e=/over|out/,f=/[^\.]*(?=\..*)\.|.*/,g=/\..*/,h="addEventListener",i="attachEvent",j="removeEventListener",k="detachEvent",l=a.document||{},m=l.documentElement||{},n=m[h],o=n?h:i,p=function(a,b){var c=b.parentNode;while(c!=null){if(c==a)return!0;c=c.parentNode}},q=function(a,c){return a.__uid=c||a.__uid||b++},r=function(a){var b=q(a);return c[b]=c[b]||{}},s=n?function(a,b,c,d){a[d?h:j](b,c,!1)}:function(a,b,c,d,e){e&&d&&(a["_on"+e]=a["_on"+e]||0),a[d?i:k]("on"+b,c)},t=function(b,c,d){return function(e){e=D(e||((this.ownerDocument||this.document||this).parentWindow||a).event);return c.apply(b,[e].concat(d))}},u=function(a,b,c,d,e){return function(f){(d?d.call(this,f):n?!0:f&&f.propertyName=="_on"+c||!f)&&b.apply(a,[f].concat(e))}},v=function(a,b,c,e){var h=b.replace(g,""),i=r(a),j=i[h]||(i[h]={}),k=q(c,b.replace(f,""));if(j[k])return a;var l=G[h];l&&(c=l.condition?u(a,c,h,l.condition):c,h=l.base||h);var m=E[h];c=m?t(a,c,e):u(a,c,h,!1,e),m=n||m;if(h=="unload"){var p=c;c=function(){w(a,h,c)&&p()}}a[o]&&s(a,m?h:"propertychange",c,!0,!m&&h),j[k]=c,c.__uid=k;return h=="unload"?a:d[q(a)]=a},w=function(a,b,c){var d,e,h,i,j=r(a),k=b.replace(g,"");if(!j||!j[k])return a;e=b.replace(f,""),h=e?e.split("."):[c.__uid];for(i=h.length;i--;){d=h[i],c=j[k][d],delete j[k][d];if(a[o]){k=G[k]?G[k].base:k;var l=n||E[k];s(a,l?k:"propertychange",c,!1,!l&&k)}}return a},x=function(a,b,c){return function(d){var e=typeof a=="string"?c(a,this):a;for(var f=d.target;f&&f!=this;f=f.parentNode)for(var g=e.length;g--;)if(e[g]==f)return b.apply(f,arguments)}},y=function(a,b,c,d,e){if(typeof b=="object"&&!c)for(var f in b)b.hasOwnProperty(f)&&y(a,f,b[f]);else{var g=typeof c=="string",h=(g?c:b).split(" ");c=g?x(b,d,e):c;for(var i=h.length;i--;)v(a,h[i],c,Array.prototype.slice.call(arguments,g?4:3))}return a},z=function(a,b,c){var d,e,h,i,j=typeof b=="string",k=j&&b.replace(f,""),l=w,m=r(a);if(j&&/\s/.test(b)){b=b.split(" "),i=b.length-1;while(z(a,b[i])&&i--);return a}h=j?b.replace(g,""):b;if(!m||j&&!m[h])return a;if(typeof c=="function")l(a,h,c);else if(k)l(a,b);else{l=h?l:z,e=j&&h,h=h?c||m[h]||h:m;for(d in h)h.hasOwnProperty(d)&&l(a,e||d,h[d])}return a},A=function(a,b,c){var d,e,h,i=b.split(" ");for(h=i.length;h--;){b=i[h].replace(g,"");var j=E[b],k=i[h].replace(f,""),l=r(a)[b];if(k){k=k.split(".");for(e=k.length;e--;)l[k[e]]&&l[k[e]].apply(a,c)}else if(!c&&a[o])B(j,b,a);else for(e in l)l.hasOwnProperty(e)&&l[e].apply(a,c)}return a},B=n?function(b,c,d){evt=document.createEvent(b?"HTMLEvents":"UIEvents"),evt[b?"initEvent":"initUIEvent"](c,!0,!0,a,1),d.dispatchEvent(evt)}:function(a,b,c){a?c.fireEvent("on"+b,document.createEventObject()):c["_on"+b]++},C=function(a,b,c){var d=r(b),e,f;e=c?d[c]:d;for(f in e)e.hasOwnProperty(f)&&(c?y:C)(a,c||b,c?e[f]:f);return a},D=function(a){var b={};if(!a)return b;var c=a.type,d=a.target||a.srcElement;b.preventDefault=D.preventDefault(a),b.stopPropagation=D.stopPropagation(a),b.target=d&&d.nodeType==3?d.parentNode:d;if(~c.indexOf("key"))b.keyCode=a.which||a.keyCode;else if(/click|mouse|menu/i.test(c)){b.rightClick=a.which==3||a.button==2,b.pos={x:0,y:0};if(a.pageX||a.pageY)b.clientX=a.pageX,b.clientY=a.pageY;else if(a.clientX||a.clientY)b.clientX=a.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,b.clientY=a.clientY+document.body.scrollTop+document.documentElement.scrollTop;e.test(c)&&(b.relatedTarget=a.relatedTarget||a[(c=="mouseover"?"from":"to")+"Element"])}for(var f in a)f in b||(b[f]=a[f]);return b};D.preventDefault=function(a){return function(){a.preventDefault?a.preventDefault():a.returnValue=!1}},D.stopPropagation=function(a){return function(){a.stopPropagation?a.stopPropagation():a.cancelBubble=!0}};var E={click:1,dblclick:1,mouseup:1,mousedown:1,contextmenu:1,mousewheel:1,DOMMouseScroll:1,mouseover:1,mouseout:1,mousemove:1,selectstart:1,selectend:1,keydown:1,keypress:1,keyup:1,orientationchange:1,touchstart:1,touchmove:1,touchend:1,touchcancel:1,gesturestart:1,gesturechange:1,gestureend:1,focus:1,blur:1,change:1,reset:1,select:1,submit:1,load:1,unload:1,beforeunload:1,resize:1,move:1,DOMContentLoaded:1,readystatechange:1,error:1,abort:1,scroll:1},G={mouseenter:{base:"mouseover",condition:F},mouseleave:{base:"mouseout",condition:F},mousewheel:{base:/Firefox/.test(navigator.userAgent)?"DOMMouseScroll":"mousewheel"}},H={add:y,remove:z,clone:C,fire:A},I=function(a){var b=z(a).__uid;b&&(delete d[b],delete c[b])};a[i]&&y(a,"unload",function(){for(var b in d)d.hasOwnProperty(b)&&I(d[b]);a.CollectGarbage&&CollectGarbage()});var J=a.bean;H.noConflict=function(){a.bean=J;return this},typeof module!="undefined"&&module.exports?module.exports=H:a.bean=H}(this),!function(a){var b=bean.noConflict(),c=function(c,d,e){var f=d?[d]:[];return function(){for(var e,g=0,h=this.length;g<h;g++)e=[this[g]].concat(f,Array.prototype.slice.call(arguments,0)),e.length==4&&e.push(a),!arguments.length&&c=="add"&&d&&(c="fire"),b[c].apply(this,e);return this}},d=c("add"),e=c("remove"),f=c("fire"),g={on:d,addListener:d,bind:d,listen:d,delegate:d,unbind:e,unlisten:e,removeListener:e,undelegate:e,emit:f,trigger:f,cloneEvents:c("clone"),hover:function(a,c,d){for(d=this.length;d--;)b.add.call(this,this[d],"mouseenter",a),b.add.call(this,this[d],"mouseleave",c);return this}},h,i=["blur","change","click","dblclick","error","focus","focusin","focusout","keydown","keypress","keyup","load","mousedown","mouseenter","mouseleave","mouseout","mouseover","mouseup","mousemove","resize","scroll","select","submit","unload"];for(h=i.length;h--;)g[i[h]]=c("add",i[h]);a.ender(g,!0)}(ender),!function(a,b){function J(a,b){return new E(a,b)}function I(){return{x:b.pageXOffset||d.scrollLeft,y:b.pageYOffset||d.scrollTop}}function H(a){return a===b||/^(?:body|html)$/i.test(a.tagName)}function G(a,c,d){var e=this[0];if(a==null&&c==null)return(H(e)?I():{x:e.scrollLeft,y:e.scrollTop})[d];H(e)?b.scrollTo(a,c):(a!=null&&(e.scrollLeft=a),c!=null&&(e.scrollTop=c));return this}function F(a){return typeof a=="string"?J.create(a):z(a)?[a]:a}function E(a){this.length=0;if(a){a=typeof a!="string"&&!a.nodeType&&typeof a.length!="undefined"?a:[a],this.length=a.length;for(var b=0;b<a.length;b++)this[b]=a[b]}}function D(a,b,c){var d=J(a),e=d.css("position"),f=d.offset(),g="relative",h=e==g,i=[parseInt(d.css("left"),10),parseInt(d.css("top"),10)];e=="static"&&(d.css("position",g),e=g),isNaN(i[0])&&(i[0]=h?0:a.offsetLeft),isNaN(i[1])&&(i[1]=h?0:a.offsetTop),b!==null&&(a.style.left=b-f.left+i[0]+"px"),c!==null&&(a.style.top=c-f.top+i[1]+"px")}function C(a,b,c){var d=0,g=b||this,h=[],i=f&&typeof a=="string"&&a.charAt(0)!="<"?function(b){return(b=f(a))&&(b.selected=1)&&b}():a;w(F(i),function(a){w(g,function(b){var f=!b[e]||b[e]&&!b[e][e]?function(){var a=b.cloneNode(!0);g.$&&g.cloneEvents&&g.$(a).cloneEvents(b);return a}():b;c(a,f),h[d]=f,d++})},this),w(h,function(a,b){g[b]=a}),g.length=d;return g}function A(a,b,c){for(var d=0,e=a.length;d<e;++d)if(b.call(c,a[d],d,a))return!0;return!1}function z(a){return a&&a.nodeName&&a.nodeType==1}function y(a){return a.replace(/-(.)/g,function(a,b){return b.toUpperCase()})}function w(a,b,c){for(var d=0,e=a.length;d<e;d++)b.call(c||a[d],a[d],d,a);return a}function v(a){return new RegExp("(^|\\s+)"+a+"(\\s+|$)")}var c=a.document,d=c.documentElement,e="parentNode",f=null,g="getElementsByTagName",h=/^checked|value|selected$/,i=/select|fieldset|table|tbody|tfoot|td|tr|colgroup/i,j="table",k={thead:j,tbody:j,tfoot:j,tr:"tbody",th:"tr",td:"tr",fieldset:"form",option:"select"},l=/^checked|selected$/,m=/msie/i.test(navigator.userAgent),n=[],o=0,p=/^-?[\d\.]+$/,q="px",r="setAttribute",s="getAttribute",t=/(^\s*|\s*$)/g,u={lineHeight:1,zoom:1,zIndex:1,opacity:1},x=String.prototype.trim?function(a){return a.trim()}:function(a){return a.replace(t,"")},B=c.defaultView&&c.defaultView.getComputedStyle?function(a,b){var d=null;b=="float"&&(b="cssFloat");var e=c.defaultView.getComputedStyle(a,"");e&&(d=e[y(b)]);return a.style[b]||d}:m&&d.currentStyle?function(a,b){b=y(b),b=b=="float"?"styleFloat":b;if(b=="opacity"){var c=100;try{c=a.filters["DXImageTransform.Microsoft.Alpha"].opacity}catch(d){try{c=a.filters("alpha").opacity}catch(e){}}return c/100}var f=a.currentStyle?a.currentStyle[b]:null;return a.style[b]||f}:function(a,b){return a.style[y(b)]};E.prototype={each:function(a,b){return w(this,a,b)},map:function(a,b){var c=[],d,e;for(e=0;e<this.length;e++)d=a.call(this,this[e]),b?b(d)&&c.push(d):c.push(d);return c},first:function(){return J(this[0])},last:function(){return J(this[this.length-1])},html:function(a,b){function f(b){while(b.firstChild)b.removeChild(b.firstChild);w(F(a),function(a){b.appendChild(a)})}var c=b?d.textContent==null?"innerText":"textContent":"innerHTML",e;return typeof a!="undefined"?this.each(function(b){(e=b.tagName.match(i))?f(b,e[0]):b[c]=a}):this[0]?this[0][c]:""},text:function(a){return this.html(a,1)},addClass:function(a){return this.each(function(b){this.hasClass(b,a)||(b.className=x(b.className+" "+a))},this)},removeClass:function(a){return this.each(function(b){this.hasClass(b,a)&&(b.className=x(b.className.replace(v(a)," ")))},this)},hasClass:function(a,b){return typeof b=="undefined"?A(this,function(b){return v(a).test(b.className)}):v(b).test(a.className)},toggleClass:function(a,b){if(typeof b!="undefined"&&!b)return this;return this.each(function(b){this.hasClass(b,a)?b.className=x(b.className.replace(v(a)," ")):b.className=x(b.className+" "+a)},this)},show:function(a){return this.each(function(b){b.style.display=a||""})},hide:function(a){return this.each(function(a){a.style.display="none"})},append:function(a){return this.each(function(b){w(F(a),function(a){b.appendChild(a)})})},prepend:function(a){return this.each(function(b){var c=b.firstChild;w(F(a),function(a){b.insertBefore(a,c)})})},appendTo:function(a,b){return C.call(this,a,b,function(a,b){a.appendChild(b)})},prependTo:function(a,b){return C.call(this,a,b,function(a,b){a.insertBefore(b,a.firstChild)})},next:function(){return this.related("nextSibling")},previous:function(){return this.related("previousSibling")},related:function(a){return this.map(function(b){b=b[a];while(b&&b.nodeType!==1)b=b[a];return b||0},function(a){return a})},before:function(a){return this.each(function(b){w(J.create(a),function(a){b[e].insertBefore(a,b)})})},after:function(a){return this.each(function(b){w(J.create(a),function(a){b[e].insertBefore(a,b.nextSibling)})})},insertBefore:function(a,b){return C.call(this,a,b,function(a,b){a[e].insertBefore(b,a)})},insertAfter:function(a,b){return C.call(this,a,b,function(a,b){var c=a.nextSibling;c?a[e].insertBefore(b,c):a[e].appendChild(b)})},css:function(a,d,e){if(d===undefined&&typeof a=="string"){d=this[0];if(!d)return null;if(d==c||d==b){e=d==c?J.doc():J.viewport();return a=="width"?e.width:a=="height"?e.height:""}return B(d,a)}var f=a;typeof a=="string"&&(f={},f[a]=d),m&&f.opacity&&(f.filter="alpha(opacity="+f.opacity*100+")",f.zoom=a.zoom||1,delete f.opacity);if(d=f["float"])m?f.styleFloat=d:f.cssFloat=d,delete f["float"];var g=function(a,b,c){for(var d in f)f.hasOwnProperty(d)&&(c=f[d],(b=y(d))&&p.test(c)&&!(b in u)&&(c+=q),a.style[b]=c)};return this.each(g)},offset:function(a,b){if(a||b)return this.each(function(c){D(c,a,b)});var c=this[0],d=c.offsetWidth,e=c.offsetHeight,f=c.offsetTop,g=c.offsetLeft;while(c=c.offsetParent)f=f+c.offsetTop,g=g+c.offsetLeft;return{top:f,left:g,height:e,width:d}},attr:function(a,b){var c=this[0];return typeof b=="undefined"?h.test(a)?l.test(a)&&typeof c[a]=="string"?!0:c[a]:c[s](a):this.each(function(c){a=="value"?c.value=b:c[r](a,b)})},val:function(a){return typeof a=="string"?this.attr("value",a):this[0].value},removeAttr:function(a){return this.each(function(b){b.removeAttribute(a)})},data:function(a,b){var c=this[0];if(typeof b=="undefined"){c[s]("data-node-uid")||c[r]("data-node-uid",++o);var d=c[s]("data-node-uid");n[d]||(n[d]={});return n[d][a]}return this.each(function(c){c[s]("data-node-uid")||c[r]("data-node-uid",++o);var d=c[s]("data-node-uid"),e={};e[a]=b,n[d]=e})},remove:function(){return this.each(function(a){a[e]&&a[e].removeChild(a)})},empty:function(){return this.each(function(a){while(a.firstChild)a.removeChild(a.firstChild)})},detach:function(){return this.map(function(a){return a[e].removeChild(a)})},scrollTop:function(a){return G.call(this,null,a,"y")},scrollLeft:function(a){return G.call(this,a,null,"x")}},J.setQueryEngine=function(a){f=a,delete J.setQueryEngine},J.aug=function(a,b){for(var c in a)a.hasOwnProperty(c)&&((b||E.prototype)[c]=a[c])},J.create=function(a){return typeof a=="string"?function(){var b=/^<([^\s>]+)/.exec(a),d=c.createElement(b&&k[b[1].toLowerCase()]||"div"),e=[];d.innerHTML=a;var f=d.childNodes;d=d.firstChild,e.push(d);while(d=d.nextSibling)d.nodeType==1&&e.push(d);return e}():z(a)?[a.cloneNode(!0)]:[]},J.doc=function(){var a=d.scrollWidth,b=d.scrollHeight,c=this.viewport();return{width:Math.max(a,c.width),height:Math.max(b,c.height)}},J.firstChild=function(a){for(var b=a.childNodes,c=0,d=b&&b.length||0,e;c<d;c++)b[c].nodeType===1&&(e=b[d=c]);return e},J.viewport=function(){var a=self.innerHeight,b=self.innerWidth;m&&(a=d.clientHeight,b=d.clientWidth);return{width:b,height:a}},J.isAncestor="compareDocumentPosition"in d?function(a,b){return(a.compareDocumentPosition(b)&16)==16}:"contains"in d?function(a,b){return a!==b&&a.contains(b)}:function(a,b){while(b=b[e])if(b===a)return!0;return!1};var K=a.bonzo;J.noConflict=function(){a.bonzo=K;return this},a.bonzo=J}(this,window),!function(a){function d(a){var b=[],c,d;label:for(c=0;c<a.length;c++){for(d=0;d<b.length;d++)if(b[d]==a[c])continue label;b[b.length]=a[c]}return b}function c(a,b){for(var c=0;c<a.length;c++)if(a[c]===b)return c;return-1}var b=bonzo;b.setQueryEngine(a),a.ender(b),a.ender(b(),!0),a.ender({create:function(c){return a(b.create(c))}}),a.id=function(b){return a([document.getElementById(b)])},a.ender({parents:function(b,e){var f=a(b),g,h,i,j=[];for(g=0,h=this.length;g<h;g++){i=this[g];while(i=i.parentNode)if(c(f,i)!==-1){j.push(i);if(e)break}}return a(d(j))},closest:function(a){return this.parents(a,!0)},first:function(){return a(this[0])},last:function(){return a(this[this.length-1])},next:function(){return a(b(this).next())},previous:function(){return a(b(this).previous())},appendTo:function(a){return b(this.selector).appendTo(a,this)},prependTo:function(a){return b(this.selector).prependTo(a,this)},insertAfter:function(a){return b(this.selector).insertAfter(a,this)},insertBefore:function(a){return b(this.selector).insertBefore(a,this)},siblings:function(){var b,c,d,e=[];for(b=0,c=this.length;b<c;b++){d=this[b];while(d=d.previousSibling)d.nodeType==1&&e.push(d);d=this[b];while(d=d.nextSibling)d.nodeType==1&&e.push(d)}return a(e)},children:function(){var c,e=[];for(i=0,l=this.length;i<l;i++){if(!(c=b.firstChild(this[i])))continue;e.push(c);while(c=c.nextSibling)c.nodeType==1&&e.push(c)}return a(d(e))},height:function(a){return a?this.css("height",a):parseInt(this.css("height"),10)},width:function(a){return a?this.css("width",a):parseInt(this.css("width"),10)}},!0)}(ender||$),!function(a,b){function l(a){k=1;while(a=c.shift())a()}var c=[],d,e=!1,f=b.documentElement,g=f.doScroll,h="DOMContentLoaded",i="addEventListener",j="onreadystatechange",k=/^loade|c/.test(b.readyState);b[i]&&b[i](h,function a(){b.removeEventListener(h,a,e),l()},e),g&&b.attachEvent(j,d=function a(){/^c/.test(b.readyState)&&(b.detachEvent(j,a),l())}),a.domReady=g?function(a){self!=top?k?a():c.push(a):function(){try{f.doScroll("left")}catch(b){return setTimeout(function(){domReady(a)},50)}a()}()}:function(a){k?a():c.push(a)}}(this,document),!function(a){a.ender({domReady:domReady}),a.ender({ready:function(a){domReady(a);return this}},!0)}(ender),!function(a,b){function X(a,c){var d=typeof c=="string"?X(c)[0]:c||b;if(!d||!a)return[];if(h=U(a,c,X))return h;return Z(a,d)}function W(a){var b=[],c,d;label:for(c=0;c<a.length;c++){for(d=0;d<b.length;d++)if(b[d]==a[c])continue label;b[b.length]=a[c]}return b}function V(a){return a&&a.nodeType&&(a.nodeType==1||a.nodeType==9)}function U(a,c,d){var e=typeof c=="string"?d(c)[0]:c||b;if(a===window||V(a))return!c||a!==window&&V(e)&&Y(a,e)?[a]:[];if(a&&typeof a=="object"&&isFinite(a.length))return N(a);if(h=a.match(w))return(m=b.getElementById(h[1]))?[m]:[];if(h=a.match(y))return N(e.getElementsByTagName(h[1]));return!1}function T(a){var c=[],d=[],e,f=0,g,h,i,j,k,l,m,n,o,q,r=M.g(a)||M.s(a,a.split(C));r=r.slice(0);if(!r.length)return c;k=r.pop(),n=r.length&&(i=r[r.length-2].match(w))?b.getElementById(i[1]):b;if(!n)return c;o=P(k),m=/^[+~]$/.test(r[r.length-1])?function(a){a=[];while(n=n.nextSibling)n.nodeType==1&&(o[1]?o[1]==n.tagName.toLowerCase():1)&&a.push(n);return a}():n.getElementsByTagName(o[1]||"*");for(e=0,h=m.length;e<h;e++)if(q=Q.apply(m[e],o))c[f++]=q;if(!r.length)return c;for(f=0,h=c.length,g=0;f<h;f++){j=c[f];for(e=r.length-2;e>=0;e=e-2)while(j=H[r[e+1]](j,c[f]))if(p=Q.apply(j,P(r[e])))break;p&&(d[g++]=c[f])}return d}function S(a,b,c){switch(a){case"=":return b==c;case"^=":return b.match(L.g("^="+c)||L.s("^="+c,new RegExp("^"+R(c))));case"$=":return b.match(L.g("$="+c)||L.s("$="+c,new RegExp(R(c)+"$")));case"*=":return b.match(L.g(c)||L.s(c,new RegExp(R(c))));case"~=":return b.match(L.g("~="+c)||L.s("~="+c,new RegExp("(?:^|\\s+)"+R(c)+"(?:\\s+|$)")));case"|=":return b.match(L.g("|="+c)||L.s("|="+c,new RegExp("^"+R(c)+"(-|$)")))}return 0}function R(a){return K.g(a)||K.s(a,a.replace(D,"\\$1"))}function Q(a,b,c,e,f,g,h){var j,k,l;if(b&&this.tagName.toLowerCase()!==b)return!1;if(c&&(j=c.match(u))&&j[1]!==this.id)return!1;if(c&&(q=c.match(v)))for(d=q.length;d--;){k=q[d].slice(1);if(!(J.g(k)||J.s(k,new RegExp("(^|\\s+)"+k+"(\\s+|$)"))).test(this.className))return!1}if(e&&!h){i=this.attributes;for(l in i)if(Object.prototype.hasOwnProperty.call(i,l)&&(i[l].name||l)==f)return this}if(e&&!S(g,this.getAttribute(f)||"",h))return!1;return this}function P(a){return a.match(G)}function O(a){while(a=a.previousSibling)if(a.nodeType==1)break;return a}function N(a){k=[];for(d=0,o=a.length;d<o;d++)k[d]=a[d];return k}function I(){this.c={}}var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u=/#([\w\-]+)/,v=/\.[\w\-]+/g,w=/^#([\w\-]+$)/,x=/^\.([\w\-]+)$/,y=/^([\w\-]+)$/,z=/^([\w]+)?\.([\w\-]+)$/,A=b.documentElement,B=/\s*([\s\+\~>])\s*/g,C=/([\s\>\+\~])(?![\s\w\-\/\?\&\=\:\.\(\)\!,@#%<>\{\}\$\*\^'"]*\])/,D=/([.*+?\^=!:${}()|\[\]\/\\])/g,E=/^([a-z0-9]+)?(?:([\.\#]+[\w\-\.#]+)?)/,F=/\[([\w\-]+)(?:([\|\^\$\*\~]?\=)['"]?([ \w\-\/\?\&\=\:\.\(\)\!,@#%<>\{\}\$\*\^]+)["']?)?\]/,G=new RegExp(E.source+"("+F.source+")?"),H={" ":function(a){return a&&a!==A&&a.parentNode},">":function(a,b){return a&&a.parentNode==b.parentNode&&a.parentNode},"~":function(a){return a&&a.previousSibling},"+":function(a,b,c,d){if(!a)return!1;c=O(a),d=O(b);return c&&d&&c==d&&c}};I.prototype={g:function(a){return this.c[a]||undefined},s:function(a,b){this.c[a]=b;return b}};var J=new I,K=new I,L=new I,M=new I,Y="compareDocumentPosition"in A?function(a,b){return(b.compareDocumentPosition(a)&16)==16}:"contains"in A?function(a,c){c=c==b||c==window?A:c;return c!==a&&c.contains(a)}:function(a,b){while(a=a.parentNode)if(a===b)return 1;return 0},Z=b.querySelector&&b.querySelectorAll?function(a,c){if(b.getElementsByClassName&&(h=a.match(x)))return N(c.getElementsByClassName(h[1]));return N(c.querySelectorAll(a))}:function(a,c){a=a.replace(B,"$1");var d=[],f,i=[],j;if(h=a.match(z)){s=c.getElementsByTagName(h[1]||"*"),k=J.g(h[2])||J.s(h[2],new RegExp("(^|\\s+)"+h[2]+"(\\s+|$)"));for(j=0,g=s.length,e=0;j<g;j++)k.test(s[j].className)&&(d[e++]=s[j]);return d}for(j=0,s=a.split(","),g=s.length;j<g;j++)i[j]=T(s[j]);for(j=0,g=i.length;j<g&&(f=i[j]);j++){var l=f;if(c!==b){l=[];for(e=0,h=f.length;e<h&&(element=f[e]);e++)Y(element,c)&&l.push(element)}d=d.concat(l)}return W(d)};X.uniq=W;var $=a.qwery;X.noConflict=function(){a.qwery=$;return this},a.qwery=X}(this,document),!function(a){function e(b,c){var e=/^<([^\s>]+)/.exec(b)[1],f=(c||a).createElement(d[e]||"div"),g=[];f.innerHTML=b;var h=f.childNodes;f=f.firstChild,g.push(f);while(f=f.nextSibling)f.nodeType==1&&g.push(f);return g}var b=qwery.noConflict(),c="table",d={thead:c,tbody:c,tfoot:c,tr:"tbody",th:"tr",td:"tr",fieldset:"form",option:"select"};$._select=function(a,c){return/^\s*</.test(a)?e(a,c):b(a,c)},$.ender({find:function(a){var c=[],d,e,f,g,h;for(d=0,e=this.length;d<e;d++){h=b(a,this[d]);for(f=0,g=h.length;f<g;f++)c.push(h[f])}return $(b.uniq(c))},and:function(a){var b=$(a);for(var c=this.length,d=0,e=this.length+b.length;c<e;c++,d++)this[c]=b[d];return this}},!0)}(document);
|
42
|
+
|
43
|
+
var ender = $.noConflict();
|
44
|
+
|
45
|
+
function setHeights() {
|
46
|
+
if (!ender('body').hasClass('ggs-hidden')) {
|
47
|
+
/* Which one is taller, <body> or <html>? */
|
48
|
+
if (ender('body').offset().height > ender('html').offset().height) {
|
49
|
+
var largerHeight = ender('body').offset().height;
|
50
|
+
}
|
51
|
+
else {
|
52
|
+
var largerHeight = ender('html').offset().height;
|
53
|
+
}
|
54
|
+
|
55
|
+
/* Give guides the new height */
|
56
|
+
ender('.ggs-guide').each(function() {
|
57
|
+
ender(this).css('height', largerHeight);
|
58
|
+
});
|
59
|
+
|
60
|
+
/* Calculate the amount of lines needed and append them */
|
61
|
+
var lines = Math.floor(largerHeight/24);
|
62
|
+
ender('#ggs-baseline-container').empty();
|
63
|
+
for (i=0; i<=lines; i++) {
|
64
|
+
ender('#ggs-baseline-container').append('<div class="ggs-line"></div>');
|
65
|
+
}
|
66
|
+
|
67
|
+
/* Set the baseline container to the same height as the guides, so there's no overflow */
|
68
|
+
ender('#ggs-baseline-container').css('height', largerHeight);
|
69
|
+
}
|
70
|
+
}
|
71
|
+
|
72
|
+
ender.domReady(function () {
|
73
|
+
|
74
|
+
/* Add control classes and switch element */
|
75
|
+
ender('body').addClass('ggs-hidden ggs-animated').append('<div id="ggs-switch"><div class="ggs-switchBar"></div><div class="ggs-switchBar"></div><div class="ggs-switchBar"></div></div>');
|
76
|
+
|
77
|
+
/* Create CSS */
|
78
|
+
var styles = '\
|
79
|
+
html{height:100%;position:relative;}\
|
80
|
+
#ggs-switch{position:fixed;top:0;right:0;z-index:9500; cursor:pointer; width: 24px; padding: 18px 18px 14px; opacity:'+switchOpacity+'; -webkit-transform: rotate(-90deg); -moz-transform: rotate(-90deg); -ms-transform: rotate(-90deg); transform: rotate(-90deg); -webkit-transition: all 0.145s ease-out; -moz-transition: all 0.145s ease-out; -ms-transition: all 0.145s ease-out; transition: all 0.145s ease-out;}\
|
81
|
+
.ggs-switchBar {background: '+switchColor+'; height: 4px; margin-bottom: 4px;}\
|
82
|
+
.ggs-animated #ggs-switch {-webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); transform: rotate(0deg);}\
|
83
|
+
.ggs-guide{position:absolute;top:0;z-index:9000;height:100%;margin-left:-0.75em;border:solid '+guideColor+';border-width:0 0.75em;background:'+guideColor+';opacity:'+guideOpacity+'; -webkit-transition: all 0.235s ease-out; -moz-transition: all 0.235s ease-out; -ms-transition: all 0.235s ease-out; transition: all 0.235s ease-out;}\
|
84
|
+
.ggs-animated .ggs-guide {-webkit-transform: scale(0, 1); -moz-transform: scale(0, 1); -ms-transform: scale(0, 1); transform: scale(0, 1); opacity: 0;}\
|
85
|
+
.ggs-animated #ggs-baseline-container {opacity: 0;}\
|
86
|
+
.ggs-hidden .ggs-guide, .ggs-hidden #ggs-baseline-container {display: none;}\
|
87
|
+
.ggs-0{left:0;}\
|
88
|
+
.ggs-1{left:11.11111111111111%;}\
|
89
|
+
.ggs-2{left:16.666666666666664%;}\
|
90
|
+
.ggs-3{left:22.22222222222222%;}\
|
91
|
+
.ggs-4{left:27.77777777777778%;}\
|
92
|
+
.ggs-5{left:33.33333333333333%;}\
|
93
|
+
.ggs-6{left:38.888888888888886%;}\
|
94
|
+
.ggs-7{left:44.44444444444444%;}\
|
95
|
+
.ggs-8{left:50%;}\
|
96
|
+
.ggs-9{left:55.55555555555556%;}\
|
97
|
+
.ggs-10{left:61.11111111111111%;}\
|
98
|
+
.ggs-11{left:66.66666666666666%;}\
|
99
|
+
.ggs-12{left:72.22222222222221%;}\
|
100
|
+
.ggs-13{left:77.77777777777777%;}\
|
101
|
+
.ggs-14{left:83.33333333333333%;}\
|
102
|
+
.ggs-15{left:88.88888888888889%;}\
|
103
|
+
.ggs-16{right:0;}\
|
104
|
+
.ggs-0,.ggs-16{width:5.555555555555555%;padding-right:0.75em;border:0;margin:0;}\
|
105
|
+
.ggs-guide div{background:'+guideInnerColor+';width:2px;height:100%;position:absolute;left:-1px;top:0;}\
|
106
|
+
.ggs-0 div{left:auto;right:0.75em;}\
|
107
|
+
.ggs-16 div{left:0.75em;}\
|
108
|
+
#ggs-baseline-container {opacity: '+guideOpacity+'; position: absolute; left:0; top:0; z-index: 8000; width: 100%; height: 100%; -webkit-transition: opacity 0.235s ease-out; -moz-transition: opacity 0.235s ease-out; -ms-transition: opacity 0.235s ease-out; transition: opacity 0.235s ease-out; overflow-y: hidden;}\
|
109
|
+
.ggs-line {border-top: 1px dotted '+guideColor+'; height: '+baselineGridHeight+'; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; box-sizing: border-box;}\
|
110
|
+
@media screen and (max-width: '+(eightColBreakpoint)+'){.ggs-2,.ggs-6,.ggs-10,.ggs-14{display:none;}}\
|
111
|
+
@media screen and (max-width: '+(sixteenColBreakpoint)+'){.ggs-1,.ggs-3,.ggs-5,.ggs-7,.ggs-9,.ggs-11,.ggs-13,.ggs-15{display:none;}}\
|
112
|
+
';
|
113
|
+
|
114
|
+
/* Create guides */
|
115
|
+
for (i=0; i<=16; i++) {
|
116
|
+
ender('body').append(ender('<div class="ggs-guide ggs-'+i+'"><div></div></div>'));
|
117
|
+
};
|
118
|
+
ender('body').append(ender('<div id="ggs-baseline-container"></div>'));
|
119
|
+
|
120
|
+
/* Append CSS */
|
121
|
+
(function(d,u) {
|
122
|
+
if(d.createStyleSheet) {
|
123
|
+
d.createStyleSheet( u );
|
124
|
+
}
|
125
|
+
else {
|
126
|
+
var css=d.createElement('style');
|
127
|
+
css.setAttribute("type","text/css");
|
128
|
+
css.appendChild(document.createTextNode(u));
|
129
|
+
d.getElementsByTagName("head")[0].appendChild(css);
|
130
|
+
}
|
131
|
+
}(document, styles))
|
132
|
+
|
133
|
+
/* Resize guides when window size changes */
|
134
|
+
ender(window).on('resize', setHeights);
|
135
|
+
|
136
|
+
/* Add listeners for switch element */
|
137
|
+
ender('#ggs-switch').click(function(){
|
138
|
+
if (ender('body').hasClass('ggs-hidden')) {
|
139
|
+
ender('body').removeClass('ggs-hidden');
|
140
|
+
setHeights();
|
141
|
+
setTimeout(
|
142
|
+
function () {
|
143
|
+
ender('body').removeClass('ggs-animated');
|
144
|
+
},
|
145
|
+
20
|
146
|
+
);
|
147
|
+
}
|
148
|
+
else {
|
149
|
+
ender('body').addClass('ggs-animated');
|
150
|
+
setTimeout(
|
151
|
+
function () {
|
152
|
+
ender('body').addClass('ggs-hidden');
|
153
|
+
},
|
154
|
+
300
|
155
|
+
);
|
156
|
+
}
|
157
|
+
});
|
158
|
+
|
159
|
+
});
|
@@ -0,0 +1,19 @@
|
|
1
|
+
/*
|
2
|
+
**
|
3
|
+
** Golden Grid System (1.0) SystemSystemSystemSystem<http://goldengridsystem.com/>
|
4
|
+
** by Joni Korpi <http://jonikorpi.com/>
|
5
|
+
** licensed under MIT <http://opensource.org/licenses/mit-license.php>
|
6
|
+
*/
|
7
|
+
|
8
|
+
// Golden Grid System Compass Plugin
|
9
|
+
// by Tal Williams
|
10
|
+
// http://github.com/xtalx/compass-golden-grid-system
|
11
|
+
|
12
|
+
@import ggs/normalize
|
13
|
+
@import ggs/mixins
|
14
|
+
|
15
|
+
@import partials/type
|
16
|
+
@import partials/global
|
17
|
+
@import partials/mobile
|
18
|
+
@import partials/tablet
|
19
|
+
@import partials/large
|
@@ -0,0 +1,20 @@
|
|
1
|
+
discover :stylesheet
|
2
|
+
discover :javascripts
|
3
|
+
|
4
|
+
html "GGS.html"
|
5
|
+
|
6
|
+
javascript "GGS.js"
|
7
|
+
|
8
|
+
description "Golden Grid System"
|
9
|
+
|
10
|
+
help %Q{
|
11
|
+
Please see the Golden Grid System website for documentation:
|
12
|
+
|
13
|
+
http://goldengridsystem.com/
|
14
|
+
}
|
15
|
+
|
16
|
+
welcome_message %Q{
|
17
|
+
Please see the Golden Grid System website for documentation:
|
18
|
+
|
19
|
+
http://goldengridsystem.com/
|
20
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
// Global style definitions
|
@@ -0,0 +1,39 @@
|
|
1
|
+
$layout: 16
|
2
|
+
|
3
|
+
|
4
|
+
/*
|
5
|
+
**
|
6
|
+
** Sixteen-column grid active
|
7
|
+
** ----------------------------------------------------------------------------------------------------------------------
|
8
|
+
** Margin | # 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | Margin
|
9
|
+
** 5.55555% | % 6.25 12.5 18.75 25.0 31.25 37.5 43.75 50.0 56.25 62.5 68.75 75.0 81.25 87.5 93.75 100 | 5.55555%
|
10
|
+
**/
|
11
|
+
|
12
|
+
|
13
|
+
/* @media screen and (min-width: 1872px) */
|
14
|
+
@media screen and (min-width: 117em)
|
15
|
+
|
16
|
+
|
17
|
+
header, #twoway
|
18
|
+
+outer(1)
|
19
|
+
|
20
|
+
header .wrapper
|
21
|
+
+column(6)
|
22
|
+
margin-left: 25%
|
23
|
+
|
24
|
+
#twoway .wrapper
|
25
|
+
+column(4, left)
|
26
|
+
|
27
|
+
#twoway .wrapper:first-child
|
28
|
+
margin-left: 25%
|
29
|
+
|
30
|
+
|
31
|
+
/* @media screen and (min-width: 2080px) */
|
32
|
+
@media screen and (min-width: 130em)
|
33
|
+
|
34
|
+
|
35
|
+
body
|
36
|
+
/* Zoom baseline grid to 18/16 = 1.125 */
|
37
|
+
font-size: #{($font-size + 2) / $em}em
|
38
|
+
max-width: 2560 / $em em
|
39
|
+
|
@@ -0,0 +1,57 @@
|
|
1
|
+
$layout: 4
|
2
|
+
|
3
|
+
|
4
|
+
/*
|
5
|
+
**
|
6
|
+
** Four-column grid active
|
7
|
+
** ----------------------------------------
|
8
|
+
** Margin | # 1 2 3 4 | Margin
|
9
|
+
** 5.55555% | % 25 50 75 100 | 5.55555%
|
10
|
+
**/
|
11
|
+
|
12
|
+
|
13
|
+
header,
|
14
|
+
#twoway
|
15
|
+
+outer(1)
|
16
|
+
|
17
|
+
h1, h2
|
18
|
+
margin: 24 / 26 * 1em 0 36 / 26 * 1em
|
19
|
+
|
20
|
+
h2
|
21
|
+
font-weight: normal
|
22
|
+
|
23
|
+
h3
|
24
|
+
margin: #{24 / $em}em 0 #{24 / $em}em
|
25
|
+
|
26
|
+
.wrapper
|
27
|
+
+wrapper
|
28
|
+
|
29
|
+
|
30
|
+
/*
|
31
|
+
**
|
32
|
+
** Fixes for IE6-8
|
33
|
+
** http://jonikorpi.com/leaving-old-IE-behind/
|
34
|
+
**/
|
35
|
+
|
36
|
+
|
37
|
+
.ie body
|
38
|
+
width: #{640 / $em}em
|
39
|
+
margin: 0 auto
|
40
|
+
font-size: #{($font-size + 1) / $em}em
|
41
|
+
|
42
|
+
.ie h1
|
43
|
+
+huge
|
44
|
+
margin: 48 / 42 * 1em 0 24 / 42 * 1em
|
45
|
+
|
46
|
+
|
47
|
+
/* @media screen and (min-width: 640px)
|
48
|
+
@media screen and (min-width: 40em)
|
49
|
+
|
50
|
+
|
51
|
+
body
|
52
|
+
/* Zoom baseline grid to 17/16 = 1.0625
|
53
|
+
font-size: #{($font-size + 1) / $em}em
|
54
|
+
|
55
|
+
h1
|
56
|
+
+huge
|
57
|
+
margin: 48 / 42 * 1em 0 24 / 42 * 1em
|
@@ -0,0 +1,74 @@
|
|
1
|
+
$layout: 8
|
2
|
+
|
3
|
+
|
4
|
+
/*
|
5
|
+
**
|
6
|
+
** Eight-column grid active
|
7
|
+
** ----------------------------------------------------------------------
|
8
|
+
** Margin | # 1 2 3 4 5 6 7 8 | Margin
|
9
|
+
** 5.55555% | % 12.5 25.0 37.5 50.0 62.5 75.0 87.5 100 | 5.55555%
|
10
|
+
**/
|
11
|
+
|
12
|
+
|
13
|
+
/* @media screen and (min-width: 720px)
|
14
|
+
@media screen and (min-width: 45em)
|
15
|
+
|
16
|
+
|
17
|
+
body
|
18
|
+
/* Reset baseline grid to 16/16 = 1
|
19
|
+
font-size: #{$font-size / $em}em
|
20
|
+
|
21
|
+
#twoway .wrapper
|
22
|
+
+column(4, left)
|
23
|
+
+wrapper
|
24
|
+
|
25
|
+
|
26
|
+
/* @media screen and (min-width: 888px)
|
27
|
+
@media screen and (min-width: 55.5em)
|
28
|
+
|
29
|
+
|
30
|
+
body
|
31
|
+
/* Zoom baseline grid to 17/16 = 1.0625
|
32
|
+
font-size: #{($font-size + 1) / $em}em
|
33
|
+
|
34
|
+
|
35
|
+
/* @media screen and (min-width: 984px)
|
36
|
+
@media screen and (min-width: 61.5em)
|
37
|
+
|
38
|
+
|
39
|
+
body
|
40
|
+
/* Reset baseline grid to 16/16 = 1.0
|
41
|
+
font-size: #{$font-size / $em}em
|
42
|
+
|
43
|
+
header, #twoway
|
44
|
+
+outer(3)
|
45
|
+
|
46
|
+
|
47
|
+
/* @media screen and (min-width: 1200px)
|
48
|
+
@media screen and (min-width: 75em)
|
49
|
+
|
50
|
+
|
51
|
+
body
|
52
|
+
/* Zoom baseline grid to 17/16 = 1.0625
|
53
|
+
font-size: #{($font-size + 1) / $em}em
|
54
|
+
|
55
|
+
|
56
|
+
/* @media screen and (min-width: 1392px)
|
57
|
+
@media screen and (min-width: 87em)
|
58
|
+
|
59
|
+
|
60
|
+
body
|
61
|
+
/* Reset baseline grid to 16/16 = 1.0
|
62
|
+
font-size: #{$font-size / $em}em
|
63
|
+
|
64
|
+
header, #twoway
|
65
|
+
+outer(5)
|
66
|
+
|
67
|
+
|
68
|
+
/* @media screen and (min-width: 1680px)
|
69
|
+
@media screen and (min-width: 105em)
|
70
|
+
|
71
|
+
|
72
|
+
body
|
73
|
+
/* Zoom baseline grid to 17/16 = 1.0625
|
74
|
+
font-size: #{($font-size + 1) / $em}em
|
@@ -0,0 +1,37 @@
|
|
1
|
+
/*
|
2
|
+
**
|
3
|
+
** Zoomable baseline grid
|
4
|
+
** type size presets
|
5
|
+
*/
|
6
|
+
|
7
|
+
|
8
|
+
body
|
9
|
+
/* 16px / 24px */
|
10
|
+
+body
|
11
|
+
|
12
|
+
.small
|
13
|
+
/* 13px / 18px */
|
14
|
+
+small
|
15
|
+
|
16
|
+
h3,
|
17
|
+
.normal
|
18
|
+
/* 16px / 24px */
|
19
|
+
+normal
|
20
|
+
|
21
|
+
h1,
|
22
|
+
h2,
|
23
|
+
.large
|
24
|
+
/* 16px / 24px */
|
25
|
+
+large
|
26
|
+
|
27
|
+
.huge
|
28
|
+
/* 42px / 48px */
|
29
|
+
+huge
|
30
|
+
|
31
|
+
.massive
|
32
|
+
/* 68px / 72px */
|
33
|
+
+massive
|
34
|
+
|
35
|
+
.gigantic
|
36
|
+
/* 110px / 120px */
|
37
|
+
+gigantic
|
metadata
ADDED
@@ -0,0 +1,72 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: compass-golden-grid-system
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: '0.1'
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Tal Williams
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2011-10-10 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: compass
|
16
|
+
requirement: &70203615442760 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0.10'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *70203615442760
|
25
|
+
description: A folding grid for responsive design.
|
26
|
+
email:
|
27
|
+
- contact.me@talwilliams.com
|
28
|
+
executables: []
|
29
|
+
extensions: []
|
30
|
+
extra_rdoc_files: []
|
31
|
+
files:
|
32
|
+
- .gitignore
|
33
|
+
- Gemfile
|
34
|
+
- README.mkdn
|
35
|
+
- compass-golden-grid-system.gemspec
|
36
|
+
- lib/ggs.rb
|
37
|
+
- stylesheets/ggs/_mixins.sass
|
38
|
+
- stylesheets/ggs/_normalize.sass
|
39
|
+
- templates/project/GGS.html
|
40
|
+
- templates/project/GGS.js
|
41
|
+
- templates/project/GGS.sass
|
42
|
+
- templates/project/manifest.rb
|
43
|
+
- templates/project/partials/_global.sass
|
44
|
+
- templates/project/partials/_large.sass
|
45
|
+
- templates/project/partials/_mobile.sass
|
46
|
+
- templates/project/partials/_tablet.sass
|
47
|
+
- templates/project/partials/_type.sass
|
48
|
+
homepage: http://github.com/xtalx/compass-golden-grid-system
|
49
|
+
licenses: []
|
50
|
+
post_install_message:
|
51
|
+
rdoc_options: []
|
52
|
+
require_paths:
|
53
|
+
- lib
|
54
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
55
|
+
none: false
|
56
|
+
requirements:
|
57
|
+
- - ! '>='
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: '0'
|
60
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
61
|
+
none: false
|
62
|
+
requirements:
|
63
|
+
- - ! '>='
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '0'
|
66
|
+
requirements: []
|
67
|
+
rubyforge_project: compass-golden-grid-system
|
68
|
+
rubygems_version: 1.8.10
|
69
|
+
signing_key:
|
70
|
+
specification_version: 3
|
71
|
+
summary: Compass compatible port of Golden Grid System
|
72
|
+
test_files: []
|