middleman-gumby 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (83) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +18 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +43 -0
  6. data/Rakefile +1 -0
  7. data/lib/middleman/gumby.rb +17 -0
  8. data/lib/middleman/gumby/version.rb +5 -0
  9. data/middleman-gumby.gemspec +25 -0
  10. data/vendor/assets/fonts/icons/entypo.eot +0 -0
  11. data/vendor/assets/fonts/icons/entypo.ttf +0 -0
  12. data/vendor/assets/fonts/icons/entypo.woff +0 -0
  13. data/vendor/assets/javascripts/gumby/libs/gumby.init.js +47 -0
  14. data/vendor/assets/javascripts/gumby/libs/gumby.js +258 -0
  15. data/vendor/assets/javascripts/gumby/libs/gumby.min.js +1 -0
  16. data/vendor/assets/javascripts/gumby/libs/jquery-1.10.1.min.js +6 -0
  17. data/vendor/assets/javascripts/gumby/libs/jquery-1.10.1.min.map +1 -0
  18. data/vendor/assets/javascripts/gumby/libs/jquery-2.0.2.min.js +6 -0
  19. data/vendor/assets/javascripts/gumby/libs/jquery-2.0.2.min.map +1 -0
  20. data/vendor/assets/javascripts/gumby/libs/jquery.mobile.custom.min.js +3 -0
  21. data/vendor/assets/javascripts/gumby/libs/modernizr-2.6.2.min.js +4 -0
  22. data/vendor/assets/javascripts/gumby/libs/ui/gumby.checkbox.js +101 -0
  23. data/vendor/assets/javascripts/gumby/libs/ui/gumby.fixed.js +240 -0
  24. data/vendor/assets/javascripts/gumby/libs/ui/gumby.navbar.js +111 -0
  25. data/vendor/assets/javascripts/gumby/libs/ui/gumby.radiobtn.js +90 -0
  26. data/vendor/assets/javascripts/gumby/libs/ui/gumby.retina.js +81 -0
  27. data/vendor/assets/javascripts/gumby/libs/ui/gumby.skiplink.js +157 -0
  28. data/vendor/assets/javascripts/gumby/libs/ui/gumby.tabs.js +80 -0
  29. data/vendor/assets/javascripts/gumby/libs/ui/gumby.toggleswitch.js +264 -0
  30. data/vendor/assets/javascripts/gumby/libs/ui/jquery.validation.js +142 -0
  31. data/vendor/assets/javascripts/gumby/main.js +23 -0
  32. data/vendor/assets/javascripts/gumby/plugins.js +4 -0
  33. data/vendor/assets/javascripts/gumby/production.js +3 -0
  34. data/vendor/assets/sass/_base.scss +49 -0
  35. data/vendor/assets/sass/_custom.scss +1 -0
  36. data/vendor/assets/sass/_fonts.scss +28 -0
  37. data/vendor/assets/sass/_grid.scss +339 -0
  38. data/vendor/assets/sass/_shame.scss +36 -0
  39. data/vendor/assets/sass/_typography.scss +272 -0
  40. data/vendor/assets/sass/extensions/modular-scale/lib/modular-scale.rb +128 -0
  41. data/vendor/assets/sass/extensions/modular-scale/stylesheets/_modular-scale.scss +310 -0
  42. data/vendor/assets/sass/extensions/sassy-math/lib/sassy-math.rb +159 -0
  43. data/vendor/assets/sass/extensions/sassy-math/stylesheets/_math.scss +310 -0
  44. data/vendor/assets/sass/functions/_all.scss +25 -0
  45. data/vendor/assets/sass/functions/_breakpoints.scss +11 -0
  46. data/vendor/assets/sass/functions/_button-size.scss +44 -0
  47. data/vendor/assets/sass/functions/_clearfix.scss +25 -0
  48. data/vendor/assets/sass/functions/_em.scss +11 -0
  49. data/vendor/assets/sass/functions/_even.scss +10 -0
  50. data/vendor/assets/sass/functions/_fade.scss +20 -0
  51. data/vendor/assets/sass/functions/_fancytiles.scss +29 -0
  52. data/vendor/assets/sass/functions/_fixed.scss +21 -0
  53. data/vendor/assets/sass/functions/_forms.scss +18 -0
  54. data/vendor/assets/sass/functions/_grid-calc.scss +82 -0
  55. data/vendor/assets/sass/functions/_height-calc.scss +6 -0
  56. data/vendor/assets/sass/functions/_icons.scss +35 -0
  57. data/vendor/assets/sass/functions/_line-and-height.scss +7 -0
  58. data/vendor/assets/sass/functions/_palette.scss +76 -0
  59. data/vendor/assets/sass/functions/_responsivity.scss +34 -0
  60. data/vendor/assets/sass/functions/_semantic-grid.scss +170 -0
  61. data/vendor/assets/sass/functions/_shapes.scss +22 -0
  62. data/vendor/assets/sass/functions/_strip-units.scss +5 -0
  63. data/vendor/assets/sass/functions/_tooltips.scss +98 -0
  64. data/vendor/assets/sass/functions/_typography.scss +15 -0
  65. data/vendor/assets/sass/functions/_visibility.scss +17 -0
  66. data/vendor/assets/sass/gumby.scss +39 -0
  67. data/vendor/assets/sass/ui/_all.scss +11 -0
  68. data/vendor/assets/sass/ui/_buttons.scss +154 -0
  69. data/vendor/assets/sass/ui/_forms.scss +392 -0
  70. data/vendor/assets/sass/ui/_icons.scss +23 -0
  71. data/vendor/assets/sass/ui/_images.scss +23 -0
  72. data/vendor/assets/sass/ui/_labels.scss +87 -0
  73. data/vendor/assets/sass/ui/_navbar.scss +440 -0
  74. data/vendor/assets/sass/ui/_tables.scss +89 -0
  75. data/vendor/assets/sass/ui/_tabs.scss +156 -0
  76. data/vendor/assets/sass/ui/_toggles.scss +73 -0
  77. data/vendor/assets/sass/ui/_tooltips.scss +12 -0
  78. data/vendor/assets/sass/ui/_video.scss +24 -0
  79. data/vendor/assets/sass/var/_lists.scss +20 -0
  80. data/vendor/assets/sass/var/_settings.scss +169 -0
  81. data/vendor/assets/sass/var/icons/_entypo-icon-list.scss +286 -0
  82. data/vendor/assets/sass/var/icons/_entypo.scss +294 -0
  83. metadata +167 -0
@@ -0,0 +1,25 @@
1
+ // Global Gumby Functions
2
+
3
+ @import "breakpoints";
4
+ @import "strip-units";
5
+ @import "grid-calc";
6
+ @import "height-calc";
7
+ @import "em";
8
+ @import "even";
9
+
10
+ // Global Gumby Mixins
11
+
12
+ @import "clearfix";
13
+ @import "typography";
14
+ @import "fixed";
15
+ @import "palette";
16
+ @import "shapes";
17
+ @import "palette";
18
+ @import "fade";
19
+ @import "responsivity";
20
+ @import "line-and-height";
21
+ @import "semantic-grid";
22
+ @import "tooltips";
23
+ @import "visibility";
24
+ @import "fancytiles";
25
+ @import "icons";
@@ -0,0 +1,11 @@
1
+ @function breakpoint($breakpoint) {
2
+ @if $breakpoint == $document-width {
3
+ @return $document-width - 1;
4
+ }
5
+ @if $breakpoint == $tablet-device-width {
6
+ @return $tablet-device-width - 1;
7
+ }
8
+ @if $breakpoint == $min-device-width {
9
+ @return $min-device-width + 1;
10
+ }
11
+ }
@@ -0,0 +1,44 @@
1
+ @mixin button-size($size) {
2
+ $n: 0;
3
+ @if $size == xlarge {
4
+ $n: $xlarge-button-font-size;
5
+ }
6
+ @if $size == large {
7
+ $n: $large-button-font-size;
8
+ }
9
+ @if $size == medium {
10
+ $n: $medium-button-font-size;
11
+ }
12
+ @if $size == small {
13
+ $n: $small-button-font-size;
14
+ }
15
+ $button-font-size: $n;
16
+ $button-height: ms($ratio, $button-font-size) + 1;
17
+ $line-height: $button-height - 2;
18
+
19
+ @include font-size($button-font-size);
20
+ @include line-and-height($button-height);
21
+
22
+ a {
23
+ position:relative;
24
+ padding: 0 ms(0, $button-font-size);
25
+ }
26
+
27
+ &.icon-left {
28
+ a {
29
+ padding-left: $button-height;
30
+ &:before {
31
+ left: $button-font-size / 1.5;
32
+ }
33
+ }
34
+ }
35
+
36
+ &.icon-right {
37
+ a {
38
+ padding-right: $button-height;
39
+ &:after {
40
+ right: $button-font-size / 1.5;
41
+ }
42
+ }
43
+ }
44
+ }
@@ -0,0 +1,25 @@
1
+ @mixin clearfix() {
2
+ *zoom:1;
3
+ &:before, &:after {
4
+ content: "";
5
+ display: table;
6
+ }
7
+ &:after {
8
+ clear: both;
9
+ }
10
+ }
11
+
12
+ @mixin mobilefix() {
13
+ @include respond(all-phones) {
14
+ &:before, &:after {
15
+ content: " ";
16
+ display: table;
17
+ }
18
+ &:after {
19
+ clear: both;
20
+ }
21
+ &:last-child {
22
+ float: none;
23
+ }
24
+ }
25
+ }
@@ -0,0 +1,11 @@
1
+ // Convert pixels to ems
2
+
3
+ @function em($size-in-px, $context: 16) {
4
+ @if not unitless($size-in-px) {
5
+ $size-in-px: strip-units($size-in-px);
6
+ }
7
+ @if not unitless($context) {
8
+ $context: strip-units($context);
9
+ }
10
+ @return ($size-in-px / $context) * 1em;
11
+ }
@@ -0,0 +1,10 @@
1
+ // test for even numbers, do something with the result
2
+
3
+ @function even($number) {
4
+ @if ($number % 2 == 0) {
5
+ @return true;
6
+ }
7
+ @else {
8
+ @return false;
9
+ }
10
+ }
@@ -0,0 +1,20 @@
1
+ // Fade Mixin
2
+
3
+ $fade-duration: .6s;
4
+
5
+ @mixin fade($direction: out, $duration: $fade-duration) {
6
+
7
+ @if $direction != out {
8
+ visibility: visible;
9
+ @include opacity(1);
10
+ }
11
+
12
+ @else {
13
+ visibility: hidden;
14
+ @include opacity(0);
15
+ }
16
+
17
+ @include transition-property(opacity);
18
+ @include transition-duration($fade-duration);
19
+
20
+ }
@@ -0,0 +1,29 @@
1
+ @function divide-cols($colnum) {
2
+ @return 100%/$colnum;
3
+ }
4
+
5
+
6
+ @mixin fancytiles($desktop-columns, $tablet-columns: $desktop-columns, $mobile-columns: 1, $small-break: 0px, $medium-break: $tablet-device-width, $large-break: $row-max-width) {
7
+
8
+ // These styles apply to all shift-columns
9
+ display: inline-block;
10
+ float: left;
11
+ padding-left: $gutter / 2;
12
+ padding-right: $gutter / 2;
13
+
14
+ // IE8 fallback
15
+ width: divide-cols($mobile-columns);
16
+
17
+ @include respond("min-width: #{$small-break}") {
18
+ width: divide-cols($mobile-columns);
19
+ }
20
+
21
+ @include respond("min-width: #{$medium-break}") {
22
+ width: divide-cols($tablet-columns);
23
+ }
24
+
25
+ @include respond("min-width: #{$large-break}") {
26
+ width: divide-cols($desktop-columns);
27
+ }
28
+
29
+ }
@@ -0,0 +1,21 @@
1
+ @mixin fixed($removal-breakpoint) {
2
+ .fixed {
3
+ position: fixed;
4
+ &.pinned {
5
+ position: absolute;
6
+ }
7
+ @if $removal-breakpoint != false {
8
+ @include respond($removal-breakpoint) {
9
+ position: relative !important;
10
+ top: auto !important;
11
+ left: auto !important;
12
+ }
13
+ }
14
+ }
15
+
16
+ .unfixed {
17
+ position: relative !important;
18
+ top: auto !important;
19
+ left: auto !important;
20
+ }
21
+ }
@@ -0,0 +1,18 @@
1
+ @mixin input-size($size) {
2
+ @if $size == xxwide { $size: 100%; }
3
+ @if $size == xwide { $size: 82.6666666667%; }
4
+ @if $size == wide { $size: 65.3333333333%; }
5
+ @if $size == normal { $size: 48%; }
6
+ @if $size == narrow { $size: 30.6666666667%; }
7
+ @if $size == xnarrow { $size: 13.3333333333%; }
8
+
9
+ width: $size;
10
+ }
11
+
12
+ @mixin input-sizes-list() {
13
+ $sizes: ();
14
+ @each $item in $field-sizes {
15
+ $sizes: join($sizes, unquote(".#{$item} "), comma);
16
+ }
17
+ #{$sizes} { @content }
18
+ }
@@ -0,0 +1,82 @@
1
+ // Calculate grid values
2
+ $gutter: percentage($gutter-in-px / $row-max-width); // 2.1276596
3
+
4
+ // Return single column width
5
+ @function oneCol($hybrid-grid: false) {
6
+ @if ($hybrid-grid == true){
7
+ @return (100% - ($gutter * ($hybrid - 1))) / $hybrid;
8
+ }
9
+ @else{
10
+ @return (100% - ($gutter * ($cols - 1))) / $cols;
11
+ }
12
+ }
13
+
14
+ // Calculate Grid Column Widths
15
+ @function columns($num, $hybrid-grid: false){
16
+ @if ($hybrid-grid == true) {
17
+ @return (oneCol(true) * $num) + ($gutter * ($num - 1));
18
+ }
19
+ @else {
20
+ @return (oneCol() * $num) + ($gutter * ($num - 1)); // (One column * 'x') + (gutter * ('x' - 1)) = Column Width
21
+ }
22
+ }
23
+
24
+
25
+ // Calculate the width required to acheive a desired global column number within a nested grid
26
+ @function global-columns($desired_cols, $container_cols, $hybrid-grid: false){
27
+ @if ($hybrid-grid == true) {
28
+ @return (100% * (columns($desired_cols, true) / columns($container_cols, true)));
29
+ }
30
+ @else {
31
+ @return (100% * (columns($desired_cols) / columns($container_cols)));
32
+ }
33
+ }
34
+
35
+ // Calculate Push Class Margins
36
+ @function push_x($num, $first-child: false, $is-hybrid: false) {
37
+ @if $first-child and $is-hybrid {
38
+ @return (oneCol(true) * $num) + ($gutter * ($num - 1)) + $gutter; // Column width + gutter
39
+ }
40
+ @else if $first-child != true and $is_hybrid{
41
+ @return (oneCol(true) * $num) + ($gutter * ($num - 1)) + ($gutter * 2); // Column width + (gutter * 2)
42
+ }
43
+ @else if $first-child and $is_hybrid != true{
44
+ @return (oneCol() * $num) + ($gutter * ($num - 1)) + $gutter;
45
+ }
46
+ @else {
47
+ @return (oneCol() * $num) + ($gutter * ($num - 1)) + ($gutter * 2); // Column width + (gutter * 2)
48
+ }
49
+ }
50
+
51
+ // Calculate Pull Class Margins
52
+ // note absence of first-child; first-child column containers should not be pulled
53
+ // $num is number of columns to be pulled
54
+ // $width is number of columns of container that is being pulled
55
+ @function pull_x($num, $width, $is-hybrid: false) {
56
+ @if $is-hybrid {
57
+ @return -((oneCol(true) * $num) + ($gutter * ($num - 1)) + (oneCol(true) * $width) + ($gutter * ($width - 1)) + $gutter); // Pull width + column width + gutter
58
+ }
59
+ @else {
60
+ @return -((oneCol() * $num) + ($gutter * ($num - 1)) + (oneCol() * $width) + ($gutter * ($width - 1)) + $gutter); // Pull width + column width + gutter
61
+ }
62
+ }
63
+
64
+ // Calculate Centered Class Margins
65
+ @function centered($num, $hybrid-grid: false) {
66
+ @if $hybrid-grid{
67
+ @return 50% - ((($num * (oneCol(true))) + (($num - 1) * $gutter)) / 2);
68
+ }
69
+ @else{
70
+ @return 50% - ((($num * (oneCol())) + (($num - 1) * $gutter)) / 2);
71
+ }
72
+ }
73
+
74
+ // Create class names from column count integers
75
+ @function number-as-word($number){
76
+ $w: "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven",
77
+ "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen",
78
+ "twenty", "twenty-one", "twenty-two", "twenty-three", "twenty-four", "twenty-five", "twenty-six", "twenty-seven",
79
+ "twenty-eight", "twenty-nine", "thirty", "thirty-one", "thirty-two", "thirty-three",
80
+ "thirty-four", "thirty-five", "thirty-six";
81
+ @return nth($w, $number);
82
+ }
@@ -0,0 +1,6 @@
1
+
2
+ // Calculate the height of an object based on its scale
3
+
4
+ @function height-calc($size) {
5
+ @return ms($ratio, $size) + 1;
6
+ }
@@ -0,0 +1,35 @@
1
+ @function match($list, $icon) {
2
+ @each $item in $list {
3
+ $index: index($item, $icon);
4
+ @if $index {
5
+ $return: if($index == 1, 2, $index);
6
+ @return nth($item, $return);
7
+ }
8
+ }
9
+ @return false;
10
+ }
11
+
12
+ @mixin i($icon) {
13
+ .#{$icon}.icon-left a:before,
14
+ .#{$icon}.icon-right a:after,
15
+ i.#{$icon}:before {
16
+ content: "#{match($entypo-icons, $icon)}";
17
+ height: inherit;
18
+ }
19
+ }
20
+
21
+ @mixin icon($icon) {
22
+ @if (type-of($icon) == list) {
23
+ @each $i in $icon {
24
+ @include i($i);
25
+ }
26
+ }
27
+ @elseif ($icon == all) {
28
+ @each $icon in $entypo-icons {
29
+ @include i(nth($icon, 1));
30
+ }
31
+ }
32
+ @else {
33
+ @include i($icon);
34
+ }
35
+ }
@@ -0,0 +1,7 @@
1
+
2
+ // Make line-height equal to an element's height
3
+
4
+ @mixin line-and-height($height) {
5
+ height: $height;
6
+ line-height: $height - 2;
7
+ }
@@ -0,0 +1,76 @@
1
+ // Color Pallete
2
+
3
+ @function getColor($key, $state: false, $list: $ui-coloring) {
4
+ @each $color in $list {
5
+ @if $key == nth($color, 1) and $state == default {
6
+ @return nth($color, 2);
7
+ }
8
+ @else if $key == nth($color, 1) and $state == hover {
9
+ @return nth($color, 3);
10
+ }
11
+ @else if $key == nth($color, 1) {
12
+ @return nth($color, 1);
13
+ }
14
+ }
15
+ @return false;
16
+ }
17
+
18
+ @mixin palette($shade, $palette-text-color:false) {
19
+ @if $shade == getColor($shade) {
20
+ @if $palette-text-color != false {
21
+ color: $palette-text-color;
22
+ }
23
+ @else {
24
+ color: lighten(getColor($shade, default), 80%);
25
+ }
26
+ background: getColor($shade, default);
27
+ border: 1px solid getColor($shade, default);
28
+ &:hover {
29
+ background: getColor($shade, hover);
30
+ border: 1px solid darken(getColor($shade, hover), 3%);
31
+ }
32
+ &:active {
33
+ background: darken(getColor($shade, default), 10%);
34
+ border: 1px solid darken(getColor($shade, default), 10%);
35
+ }
36
+
37
+ @if $shade == default {
38
+ @if $palette-text-color != false {
39
+ color: $palette-text-color;
40
+ }
41
+ @else {
42
+ color: darken(getColor($shade, default), 61.5%);
43
+ }
44
+ border: 1px solid getColor($shade, default);
45
+ &:hover {
46
+ border: 1px solid darken(getColor($shade, hover), 5%);
47
+ }
48
+ }
49
+ @if $shade == warning {
50
+ @if $palette-text-color != false {
51
+ color: $palette-text-color;
52
+ }
53
+ @else {
54
+ color: darken(getColor($shade, hover), 40%);
55
+ }
56
+ }
57
+ }
58
+ @else {
59
+ @if $palette-text-color != false {
60
+ color: $palette-text-color;
61
+ }
62
+ @else {
63
+ color: lighten($shade, 80%);
64
+ }
65
+ background: $shade;
66
+ border: 1px solid $shade;
67
+ &:hover {
68
+ background: lighten($shade, 30%);
69
+ border: 1px solid lighten($shade, 27%);
70
+ }
71
+ &:active {
72
+ background: darken($shade, 10%);
73
+ border: 1px solid darken($shade, 10%);
74
+ }
75
+ }
76
+ }
@@ -0,0 +1,34 @@
1
+ // Responsive Mixins
2
+
3
+ @mixin respond($media) {
4
+ @if $media == portrait-phones {
5
+ @media only screen and (max-width: $min-device-width) { @content; }
6
+ }
7
+ @else if $media == landscape-phones {
8
+ @media only screen and (min-width: breakpoint($min-device-width)) and (max-width: breakpoint($tablet-device-width)) { @content; }
9
+ }
10
+ @else if $media == all-phones {
11
+ @media only screen and (max-width: breakpoint($tablet-device-width)) { @content; }
12
+ }
13
+ @else if $media == portrait-tablets {
14
+ @media only screen and (max-width: $tablet-device-width) { @content; }
15
+ }
16
+ @else if $media == tablets {
17
+ @media only screen and (min-width: $tablet-device-width) and (max-width: $document-width - 1) { @content; }
18
+ }
19
+ @else if $media == desktop {
20
+ @media only screen and (min-width: $tablet-device-width) { @content; }
21
+ }
22
+ @else if $media == document-width {
23
+ @media only screen and (max-width: $document-width + 20) { @content; }
24
+ }
25
+ @else if $media == large-screens {
26
+ @media only screen and (min-width: $max-device-width) { @content; }
27
+ }
28
+ @else if $media == print {
29
+ @media print { @content; }
30
+ }
31
+ @else {
32
+ @media only screen and ('#{$media}') { @content; }
33
+ }
34
+ }