shipyard-framework 0.5.83 → 0.5.84

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/assets/stylesheets/_shipyard.sass +3 -0
  3. data/assets/stylesheets/shipyard/_components.sass +22 -22
  4. data/assets/stylesheets/shipyard/_core.sass +3 -6
  5. data/assets/stylesheets/shipyard/_functions.sass +3 -3
  6. data/assets/stylesheets/shipyard/_mixins.sass +8 -7
  7. data/assets/stylesheets/shipyard/_utilities.sass +10 -9
  8. data/assets/stylesheets/shipyard/_variables.sass +7 -7
  9. data/assets/stylesheets/shipyard/components/_buttons.sass +0 -62
  10. data/assets/stylesheets/shipyard/components/_modals.sass +1 -1
  11. data/assets/stylesheets/shipyard/core/_typography.sass +0 -3
  12. data/assets/stylesheets/shipyard/mixins/_buttons.sass +61 -0
  13. data/assets/stylesheets/shipyard/mixins/_components.sass +2 -2
  14. data/assets/stylesheets/shipyard/utilities/{_positioning.sass → _center.sass} +0 -5
  15. data/assets/stylesheets/shipyard/utilities/_position.sass +4 -0
  16. data/ci/sass_lint +4 -4
  17. data/ci/setup +2 -2
  18. data/lib/shipyard-framework/version.rb +1 -1
  19. data/styleguide/Gemfile +2 -0
  20. data/styleguide/Gemfile.lock +17 -8
  21. data/styleguide/_assets/css/views.sass +4 -0
  22. data/styleguide/_includes/css-stats.html +14 -0
  23. data/styleguide/_plugins/css_declarations.rb +16 -0
  24. data/styleguide/_plugins/css_selectors.rb +16 -0
  25. data/styleguide/_plugins/css_size.rb +20 -0
  26. data/styleguide/_plugins/sass_generator.rb +39 -0
  27. data/styleguide/_plugins/sass_output.rb +21 -0
  28. data/styleguide/components/alerts.md +5 -0
  29. data/styleguide/components/boxes.md +5 -0
  30. data/styleguide/components/buttons.md +5 -0
  31. data/styleguide/components/code.html +5 -0
  32. data/styleguide/components/horizontal-rules.md +5 -0
  33. data/styleguide/components/icons.md +5 -0
  34. data/styleguide/components/modals/index.md +4 -0
  35. data/styleguide/components/notes.md +5 -0
  36. data/styleguide/components/tables.md +5 -0
  37. data/styleguide/utilities/accordion.md +5 -0
  38. data/styleguide/utilities/border-radius.md +5 -0
  39. data/styleguide/utilities/colors.md +5 -0
  40. data/styleguide/utilities/grid.md +5 -0
  41. data/styleguide/utilities/margin-padding.md +5 -0
  42. data/styleguide/utilities/opacity.md +6 -3
  43. data/styleguide/utilities/position.md +5 -0
  44. data/styleguide/utilities/typography.md +5 -0
  45. metadata +11 -4
  46. data/assets/stylesheets/shipyard/components/_hero.sass +0 -87
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c847bd8a06897c01bf0f4aea3acba561a85e48d146c3bfe66f6e78a5254aca1d
4
- data.tar.gz: 7175c8a635a4997e26ca3c3653413464a96dd15a3a396b3be4f20ce05afbe070
3
+ metadata.gz: bc383fe968d0fe96db0d235903e775a9cff70a849d2090e4e185853e8d277ba1
4
+ data.tar.gz: 3956e48a5c285f2cb96e5c71689aaba7cae1d6cd96db3aea2b6a82282db9be26
5
5
  SHA512:
6
- metadata.gz: 3da5f028fc98e941950f381d994c61ca8dc77988ee1822eb5e35225eb31ad0312de01bc76d73c8ec2e46e3424879194634bb0f543298a5ab917922556caf78f1
7
- data.tar.gz: c0d206953934307ceae826e6cae57dfc31f7a581352ac5fdd34930e72f18517337c54ae38af47878b22325aa71b93c20ebbeee4faae68753902cebce04ed2b2b
6
+ metadata.gz: 830ef59a63a920209a562f3017371b62454b2905ccc08c80e8b52fd8c2d62d30736ac5f898b83a08ba0efc7c0461f1b4255b706a3e960fee271434e115649480
7
+ data.tar.gz: 553d03d4162905b4492c0b7a35b100096fdd0655be5b975e7eb55dc8ab897e049885f46913ae3a7a398f9d39a33eb24db307a60e3c729716f242326f0d59b190
@@ -1,3 +1,6 @@
1
1
  @import "shipyard/core"
2
+ @import "shipyard/core/animations"
3
+ @import "shipyard/core/reset"
4
+ @import "shipyard/core/typography"
2
5
  @import "shipyard/components"
3
6
  @import "shipyard/utilities"
@@ -1,22 +1,22 @@
1
- @import "components/code"
2
- @import "components/buttons"
3
- @import "components/icons"
4
- @import "components/alerts"
5
- @import "components/notes"
6
- @import "components/boxes"
7
- @import "components/forms"
8
- @import "components/form-errors"
9
- @import "components/input"
10
- @import "components/input-text"
11
- @import "components/input-select"
12
- @import "components/input-radio-checkbox"
13
- @import "components/input-switch"
14
- @import "components/input-sizes"
15
- @import "components/input-required"
16
- @import "components/input-readonly"
17
- @import "components/empty"
18
- @import "components/modals"
19
- @import "components/tooltips"
20
- @import "components/hamburger"
21
- @import "components/tables"
22
- @import "components/horizontal-rules"
1
+ @import "shipyard/components/code"
2
+ @import "shipyard/components/buttons"
3
+ @import "shipyard/components/icons"
4
+ @import "shipyard/components/alerts"
5
+ @import "shipyard/components/notes"
6
+ @import "shipyard/components/boxes"
7
+ @import "shipyard/components/forms"
8
+ @import "shipyard/components/form-errors"
9
+ @import "shipyard/components/input"
10
+ @import "shipyard/components/input-text"
11
+ @import "shipyard/components/input-select"
12
+ @import "shipyard/components/input-radio-checkbox"
13
+ @import "shipyard/components/input-switch"
14
+ @import "shipyard/components/input-sizes"
15
+ @import "shipyard/components/input-required"
16
+ @import "shipyard/components/input-readonly"
17
+ @import "shipyard/components/empty"
18
+ @import "shipyard/components/modals"
19
+ @import "shipyard/components/tooltips"
20
+ @import "shipyard/components/hamburger"
21
+ @import "shipyard/components/tables"
22
+ @import "shipyard/components/horizontal-rules"
@@ -1,6 +1,3 @@
1
- @import "functions"
2
- @import "mixins"
3
- @import "variables"
4
- @import "core/animations"
5
- @import "core/reset"
6
- @import "core/typography"
1
+ @import "shipyard/functions"
2
+ @import "shipyard/mixins"
3
+ @import "shipyard/variables"
@@ -1,3 +1,3 @@
1
- @import "functions/map-merge-options"
2
- @import "functions/color"
3
- @import "functions/text-color"
1
+ @import "shipyard/functions/map-merge-options"
2
+ @import "shipyard/functions/color"
3
+ @import "shipyard/functions/text-color"
@@ -1,7 +1,8 @@
1
- @import "mixins/prefixed"
2
- @import "mixins/box-model"
3
- @import "mixins/selectors"
4
- @import "mixins/responsive"
5
- @import "mixins/components"
6
- @import "mixins/positioning"
7
- @import "mixins/icons"
1
+ @import "shipyard/mixins/prefixed"
2
+ @import "shipyard/mixins/box-model"
3
+ @import "shipyard/mixins/selectors"
4
+ @import "shipyard/mixins/responsive"
5
+ @import "shipyard/mixins/components"
6
+ @import "shipyard/mixins/positioning"
7
+ @import "shipyard/mixins/icons"
8
+ @import "shipyard/mixins/buttons"
@@ -1,9 +1,10 @@
1
- @import "utilities/grid"
2
- @import "utilities/colors"
3
- @import "utilities/opacity"
4
- @import "utilities/display"
5
- @import "utilities/positioning"
6
- @import "utilities/typography"
7
- @import "utilities/margin-padding"
8
- @import "utilities/border-radius"
9
- @import "utilities/accordion"
1
+ @import "shipyard/utilities/grid"
2
+ @import "shipyard/utilities/colors"
3
+ @import "shipyard/utilities/opacity"
4
+ @import "shipyard/utilities/display"
5
+ @import "shipyard/utilities/center"
6
+ @import "shipyard/utilities/position"
7
+ @import "shipyard/utilities/typography"
8
+ @import "shipyard/utilities/margin-padding"
9
+ @import "shipyard/utilities/border-radius"
10
+ @import "shipyard/utilities/accordion"
@@ -1,7 +1,7 @@
1
- @import "variables/colors"
2
- @import "variables/color_utilities"
3
- @import "variables/typography"
4
- @import "variables/grid"
5
- @import "variables/misc"
6
- @import "variables/components"
7
- @import "variables/opacities"
1
+ @import "shipyard/variables/colors"
2
+ @import "shipyard/variables/color_utilities"
3
+ @import "shipyard/variables/typography"
4
+ @import "shipyard/variables/grid"
5
+ @import "shipyard/variables/misc"
6
+ @import "shipyard/variables/components"
7
+ @import "shipyard/variables/opacities"
@@ -1,65 +1,3 @@
1
- @mixin btn($size: md, $position: relative, $bg: $gray)
2
- position: $position
3
- display: inline-block
4
- border-radius: 5px
5
- border: 0
6
- cursor: pointer
7
- transition: background-color 300ms ease, color 300ms ease, border-color 300ms ease, opacity 300ms ease
8
- outline: none
9
- border-width: 2px
10
- border-style: solid
11
- font-weight: $bold
12
- font-family: $font-family
13
- text-align: center
14
- text-decoration: none
15
- +btn-size($size)
16
- +btn-color($bg, #fff)
17
- +btn-hover(darken($bg, 10%), #fff)
18
-
19
- @mixin btn-color($color, $text-color: null, $border-color: null)
20
- background-color: $color
21
- @if $border-color
22
- border-color: $border-color
23
- @else
24
- border-color: $color
25
- @if $text-color
26
- color: $text-color
27
-
28
- @mixin btn-hover($color, $text-color: null, $border-color: null, $text-decoration: none)
29
- &:hover, &:focus, &:active, &.btn-loading
30
- text-decoration: $text-decoration
31
- +btn-color($color, $text-color, $border-color)
32
-
33
- @mixin btn-size($size, $min-width: null)
34
- @if $size == xxs
35
- font-size: 12px
36
- padding: 0 8px
37
- +btn-size(20px)
38
- @else if $size == xs
39
- font-size: 12px
40
- padding: 0 10px
41
- +btn-size(30px)
42
- @else if $size == sm
43
- font-size: 14px
44
- padding: 0 15px
45
- +btn-size(40px)
46
- @else if $size == md
47
- font-size: 16px
48
- padding: 0 20px
49
- +btn-size(50px)
50
- @else if $size == lg
51
- font-size: 18px
52
- padding: 0 30px
53
- +btn-size(60px)
54
- @else if $size == xl
55
- font-size: 20px
56
- padding: 0 35px
57
- +btn-size(70px)
58
- @else if type-of($size) == 'number'
59
- height: $size
60
- line-height: $size - 4px
61
- min-width: if($min-width, $min-width, $size)
62
-
63
1
  +component('btn')
64
2
  +btn
65
3
 
@@ -9,7 +9,7 @@
9
9
  overflow: hidden
10
10
 
11
11
  &-container
12
- @extend .col-center
12
+ @extend .col-center !optional
13
13
  +z-index
14
14
  top: 0
15
15
  left: 0
@@ -42,9 +42,6 @@ h1, .h1
42
42
  h2, .h2
43
43
  font-size: 18px
44
44
 
45
- h1, h2, h3, h4, h5, h6
46
- @extend .strong
47
-
48
45
  .h-primary
49
46
  margin-bottom: 0
50
47
  +respond-to(font-size, (x0: 24px, x1: 28px))
@@ -0,0 +1,61 @@
1
+ @mixin btn($size: md, $position: relative, $bg: $gray)
2
+ position: $position
3
+ display: inline-block
4
+ border-radius: 5px
5
+ border: 0
6
+ cursor: pointer
7
+ transition: background-color 300ms ease, color 300ms ease, border-color 300ms ease, opacity 300ms ease
8
+ outline: none
9
+ border-width: 2px
10
+ border-style: solid
11
+ font-weight: $bold
12
+ font-family: $font-family
13
+ text-align: center
14
+ text-decoration: none
15
+ +btn-size($size)
16
+ +btn-color($bg, #fff)
17
+ +btn-hover(darken($bg, 10%), #fff)
18
+
19
+ @mixin btn-color($color, $text-color: null, $border-color: null)
20
+ background-color: $color
21
+ @if $border-color
22
+ border-color: $border-color
23
+ @else
24
+ border-color: $color
25
+ @if $text-color
26
+ color: $text-color
27
+
28
+ @mixin btn-hover($color, $text-color: null, $border-color: null, $text-decoration: none)
29
+ &:hover, &:focus, &:active, &.btn-loading
30
+ text-decoration: $text-decoration
31
+ +btn-color($color, $text-color, $border-color)
32
+
33
+ @mixin btn-size($size, $min-width: null)
34
+ @if $size == xxs
35
+ font-size: 12px
36
+ padding: 0 8px
37
+ +btn-size(20px)
38
+ @else if $size == xs
39
+ font-size: 12px
40
+ padding: 0 10px
41
+ +btn-size(30px)
42
+ @else if $size == sm
43
+ font-size: 14px
44
+ padding: 0 15px
45
+ +btn-size(40px)
46
+ @else if $size == md
47
+ font-size: 16px
48
+ padding: 0 20px
49
+ +btn-size(50px)
50
+ @else if $size == lg
51
+ font-size: 18px
52
+ padding: 0 30px
53
+ +btn-size(60px)
54
+ @else if $size == xl
55
+ font-size: 20px
56
+ padding: 0 35px
57
+ +btn-size(70px)
58
+ @else if type-of($size) == 'number'
59
+ height: $size
60
+ line-height: $size - 4px
61
+ min-width: if($min-width, $min-width, $size)
@@ -13,9 +13,9 @@
13
13
 
14
14
  @mixin extend($modifier: null)
15
15
  @if $modifier
16
- @extend .#{$component}-#{$modifier}
16
+ @extend .#{$component}-#{$modifier} !optional
17
17
  @else
18
- @extend .#{$component}
18
+ @extend .#{$component} !optional
19
19
 
20
20
  @mixin z-index($value: null)
21
21
  @if $value
@@ -14,8 +14,3 @@
14
14
  top: -1px
15
15
  position: relative
16
16
  vertical-align: middle
17
-
18
- @each $value in (static, relative, absolute, fixed)
19
- .#{$value}
20
- +all-media-sizes
21
- position: $value
@@ -0,0 +1,4 @@
1
+ @each $value in (static, relative, absolute, fixed)
2
+ .#{$value}
3
+ +all-media-sizes
4
+ position: $value
data/ci/sass_lint CHANGED
@@ -12,10 +12,10 @@ echo -e "************** Copy Master Branch **************"
12
12
  git clone $repository --branch master --single-branch ci/master-tmp
13
13
 
14
14
  echo -e "\n\n************** Compile Sass **************"
15
- bundle exec sass --no-cache --sourcemap=none --style compact assets/stylesheets/_shipyard.sass ci/master-tmp/branch-compact.css
16
- bundle exec sass --no-cache --sourcemap=none --style compressed assets/stylesheets/_shipyard.sass ci/master-tmp/branch-compressed.css
17
- bundle exec sass --no-cache --sourcemap=none --style compact ci/master-tmp/assets/stylesheets/_shipyard.sass ci/master-tmp/master-compact.css
18
- bundle exec sass --no-cache --sourcemap=none --style compressed ci/master-tmp/assets/stylesheets/_shipyard.sass ci/master-tmp/master-compressed.css
15
+ bundle exec sass --no-cache --load-path assets/stylesheets --sourcemap=none --style compact assets/stylesheets/_shipyard.sass ci/master-tmp/branch-compact.css
16
+ bundle exec sass --no-cache --load-path assets/stylesheets --sourcemap=none --style compressed assets/stylesheets/_shipyard.sass ci/master-tmp/branch-compressed.css
17
+ bundle exec sass --no-cache --load-path assets/stylesheets --sourcemap=none --style compact ci/master-tmp/assets/stylesheets/_shipyard.sass ci/master-tmp/master-compact.css
18
+ bundle exec sass --no-cache --load-path assets/stylesheets --sourcemap=none --style compressed ci/master-tmp/assets/stylesheets/_shipyard.sass ci/master-tmp/master-compressed.css
19
19
  gzip -kvf ci/master-tmp/branch-compressed.css
20
20
  gzip -kvf ci/master-tmp/master-compressed.css
21
21
 
data/ci/setup CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/bin/bash
2
2
 
3
3
  rvm use $(cat .ruby-version)
4
- gem install bundler --pre
4
+ gem install bundler --pre --no-ri --no-rdoc
5
5
  bundle install
6
- cd styleguide && gem install bundler --pre && bundle install && cd ..
6
+ (cd styleguide && gem install bundler --pre --no-ri --no-rdoc && bundle install)
@@ -1,3 +1,3 @@
1
1
  module Shipyard
2
- VERSION = '0.5.83'
2
+ VERSION = '0.5.84'
3
3
  end
data/styleguide/Gemfile CHANGED
@@ -4,4 +4,6 @@ group :jekyll_plugins do
4
4
  gem 'jekyll', '~> 3.6.0'
5
5
  gem 'jekyll-assets', '~> 2.3.2'
6
6
  gem 'shipyard-framework', path: '../'
7
+ gem 'rake' # Needed for Codeship to install the sassc gem
8
+ gem 'sassc', '~> 1.11.4'
7
9
  end
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- shipyard-framework (0.5.83)
4
+ shipyard-framework (0.5.84)
5
5
  actionview (~> 5.0)
6
6
  sprockets-es6 (~> 0.9.2)
7
7
 
@@ -57,15 +57,16 @@ GEM
57
57
  pathutil (>= 0.8)
58
58
  rack (~> 1.6)
59
59
  sprockets (~> 3.3, < 3.8)
60
- jekyll-sass-converter (1.5.0)
60
+ jekyll-sass-converter (1.5.1)
61
61
  sass (~> 3.4)
62
- jekyll-watch (1.5.0)
63
- listen (~> 3.0, < 3.1)
64
- kramdown (1.15.0)
62
+ jekyll-watch (1.5.1)
63
+ listen (~> 3.0)
64
+ kramdown (1.16.2)
65
65
  liquid (4.0.0)
66
- listen (3.0.8)
66
+ listen (3.1.5)
67
67
  rb-fsevent (~> 0.9, >= 0.9.4)
68
68
  rb-inotify (~> 0.9, >= 0.9.7)
69
+ ruby_dep (~> 1.2)
69
70
  loofah (2.1.1)
70
71
  crass (~> 1.0.2)
71
72
  nokogiri (>= 1.5.9)
@@ -74,25 +75,31 @@ GEM
74
75
  minitest (5.10.3)
75
76
  nokogiri (1.8.1)
76
77
  mini_portile2 (~> 2.3.0)
77
- pathutil (0.16.0)
78
+ pathutil (0.16.1)
78
79
  forwardable-extended (~> 2.6)
79
- public_suffix (3.0.0)
80
+ public_suffix (3.0.1)
80
81
  rack (1.6.8)
81
82
  rails-dom-testing (2.0.3)
82
83
  activesupport (>= 4.2.0)
83
84
  nokogiri (>= 1.6)
84
85
  rails-html-sanitizer (1.0.3)
85
86
  loofah (~> 2.0)
87
+ rake (12.3.0)
86
88
  rb-fsevent (0.10.2)
87
89
  rb-inotify (0.9.10)
88
90
  ffi (>= 0.5.0, < 2)
89
91
  rouge (2.2.1)
92
+ ruby_dep (1.5.0)
90
93
  safe_yaml (1.0.4)
91
94
  sass (3.5.3)
92
95
  sass-listen (~> 4.0.0)
93
96
  sass-listen (4.0.0)
94
97
  rb-fsevent (~> 0.9, >= 0.9.4)
95
98
  rb-inotify (~> 0.9, >= 0.9.7)
99
+ sassc (1.11.4)
100
+ bundler
101
+ ffi (~> 1.9.6)
102
+ sass (>= 3.3.0)
96
103
  sprockets (3.7.1)
97
104
  concurrent-ruby (~> 1.0)
98
105
  rack (> 1, < 3)
@@ -110,6 +117,8 @@ PLATFORMS
110
117
  DEPENDENCIES
111
118
  jekyll (~> 3.6.0)
112
119
  jekyll-assets (~> 2.3.2)
120
+ rake
121
+ sassc (~> 1.11.4)
113
122
  shipyard-framework!
114
123
 
115
124
  BUNDLED WITH
@@ -97,3 +97,7 @@ hr
97
97
  +component('components-checkboxes')
98
98
  &-switch-col
99
99
  line-height: 1.2
100
+
101
+ +component('css-stat')
102
+ &-item
103
+ line-height: 1.3
@@ -0,0 +1,14 @@
1
+ <ul class="col-container">
2
+ <li class="css-stat-item col col-10">
3
+ <span class="text-sm medium text-lighter display-block">Gzipped Size</span>
4
+ <span class="text-xxxl strong text-darker">{% css_size %}</span>
5
+ </li>
6
+ <li class="css-stat-item col col-10">
7
+ <span class="text-sm medium text-lighter display-block">Declarations</span>
8
+ <span class="text-xxxl strong text-darker">{% css_declarations %}</span>
9
+ </li>
10
+ <li class="css-stat-item col col-10">
11
+ <span class="text-sm medium text-lighter display-block">Selectors</span>
12
+ <span class="text-xxxl strong text-darker">{% css_selectors %}</span>
13
+ </li>
14
+ </ul>
@@ -0,0 +1,16 @@
1
+ module Jekyll
2
+ class CssDeclarations < Liquid::Tag
3
+ def initialize(tag_name, args, options)
4
+ super
5
+ end
6
+
7
+ def render(context)
8
+ sass = context['site']['sass_output'].detect { |s|
9
+ s[:file].include? context['page']['sass_file']
10
+ }
11
+ sass[:declarations]
12
+ end
13
+ end
14
+ end
15
+
16
+ Liquid::Template.register_tag('css_declarations', Jekyll::CssDeclarations)
@@ -0,0 +1,16 @@
1
+ module Jekyll
2
+ class CssSelectors < Liquid::Tag
3
+ def initialize(tag_name, args, options)
4
+ super
5
+ end
6
+
7
+ def render(context)
8
+ sass = context['site']['sass_output'].detect { |s|
9
+ s[:file].include? context['page']['sass_file']
10
+ }
11
+ sass[:selectors]
12
+ end
13
+ end
14
+ end
15
+
16
+ Liquid::Template.register_tag('css_selectors', Jekyll::CssSelectors)
@@ -0,0 +1,20 @@
1
+ module Jekyll
2
+ class CssSize < Liquid::Tag
3
+ def initialize(tag_name, args, options)
4
+ super
5
+ end
6
+
7
+ def render(context)
8
+ sass = context['site']['sass_output'].detect { |s|
9
+ s[:file].include? context['page']['sass_file']
10
+ }
11
+ size = sass[:gzip_size]
12
+ case
13
+ when size >= 1000 then "#{(size / 1000.0).round(1)}kb"
14
+ else "#{size}b"
15
+ end
16
+ end
17
+ end
18
+ end
19
+
20
+ Liquid::Template.register_tag('css_size', Jekyll::CssSize)
@@ -0,0 +1,39 @@
1
+ require 'sassc'
2
+ require 'zlib'
3
+
4
+ module Jekyll
5
+ class SassOutputGenerator < Generator
6
+ def generate(site)
7
+ site.config['sass_output'] = load_sass_files
8
+ end
9
+
10
+ private
11
+
12
+ def load_sass_files
13
+ Dir['../assets/stylesheets/shipyard/**/*.sass'].sort.map do |file|
14
+ sass = %(@import "shipyard/core"\n)
15
+ sass += File.read(file)
16
+ compact_css = render(sass, :compact)
17
+ compressed_css = render(sass, :compressed)
18
+ {
19
+ file: file,
20
+ sass: sass,
21
+ compact_css: compact_css,
22
+ compressed_css: compressed_css,
23
+ gzip_size: Zlib::Deflate.deflate(compressed_css).bytesize,
24
+ declarations: compressed_css.scan(/[.][a-zA-Z\-][a-zA-Z0-9\-]*{/).size,
25
+ selectors: compressed_css.scan(/[.][a-zA-Z\-][a-zA-Z0-9\-]*/).size
26
+ }
27
+ end
28
+ end
29
+
30
+ def render(sass, style)
31
+ SassC::Engine.new(
32
+ sass,
33
+ syntax: :sass,
34
+ style: style,
35
+ load_paths: [Shipyard::stylesheets_path]
36
+ ).render
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,21 @@
1
+ module Jekyll
2
+ class SassOutput < Liquid::Tag
3
+ def initialize(tag_name, args, options)
4
+ super
5
+ end
6
+
7
+ def render(context)
8
+ sass = context['site']['sass_output'].detect { |s|
9
+ s[:file].include? context['page']['sass_file']
10
+ }
11
+ output = sass[:compressed_css]
12
+ output.gsub! /}/, " }\n"
13
+ output.gsub! /{/, ' { '
14
+ output.gsub! /([a-z]*):/, '\1: '
15
+ output.gsub! /\n\z/, ''
16
+ output
17
+ end
18
+ end
19
+ end
20
+
21
+ Liquid::Template.register_tag('sass_output', Jekyll::SassOutput)
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: Shipyard Alerts
3
3
  description: Alerts should be used to grab a user's attention before proceeding to the next action. They are commonly found at the very top of the page directly above the content.
4
+ sass_file: shipyard/components/_alerts
4
5
  ---
5
6
 
6
7
  {% include page-heading.html page=page %}
@@ -100,3 +101,7 @@ Useful when drawing attention to something that has gone critically wrong.
100
101
  We hope the code <code class="code-inline">Travel_Light_2017</code> will be useful for your next flight.
101
102
  {% btn Call to Action, :sm, class: 'alert-cta' %}
102
103
  {% endalert %}
104
+
105
+ ---
106
+
107
+ {% include css-stats.html %}
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: Shipyard Boxes
3
3
  description: Boxes should be used to grab a draw attention to specific groups of content, and are most useful to linked content. By default, all boxes need to have the base class of `.box` in order to function properly.
4
+ sass_file: shipyard/components/_boxes
4
5
  box_sizes: [xxs, xs, sm, md, lg, xl, xxl]
5
6
  ---
6
7
 
@@ -90,3 +91,7 @@ Useful when you need a box with rounded corners.
90
91
  <strong class="center text-lighter text-sm">.box-{{ size }}</strong>
91
92
  </div>
92
93
  {% endfor %}
94
+
95
+ ---
96
+
97
+ {% include css-stats.html %}
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  title: Shipyard Buttons
3
+ sass_file: shipyard/components/_buttons
3
4
  ---
4
5
 
5
6
  {% include page-heading.html page=page %}
@@ -185,3 +186,7 @@ The button classes can be applied to any type of html tag to achieve the desired
185
186
  {% btn Wide Screens, :sm :x3_md %}
186
187
  {% btn Giant Screens, :sm :x4_md %}
187
188
  </div>
189
+
190
+ ---
191
+
192
+ {% include css-stats.html %}
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  title: Shipyard Code Component
3
+ sass_file: shipyard/components/_code
3
4
  ---
4
5
 
5
6
  {% include page-heading.html page=page %}
@@ -42,3 +43,7 @@ end</code></pre>
42
43
  This flight is now sold out. Let's get you on the next flight to Kauai.
43
44
  We hope the code <code class="code-inline">Travel_Light_2017</code> will be useful for your next flight.
44
45
  {% endalert %}
46
+
47
+ <hr />
48
+
49
+ {% include css-stats.html %}
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: Horizontal Rules
3
3
  description: Shipyard doesn't make any assumptions on how you want to common tags like an `hr` to styled. As a result, we would recommend extending the `.hr` class in your own SASS files to achieve the results below on all `hr` tags (e.g. `@extend .hr`).
4
+ sass_file: shipyard/components/_horizontal-rules
4
5
  text_sizes: [xxs, xs, sm, md, lg, xl, xxl, xxxl]
5
6
  text_shades: [normal, light, lighter, lightest]
6
7
  ---
@@ -75,3 +76,7 @@ Useful when you have a horizontal rule on a lighter background.
75
76
  ```html
76
77
  <hr class="hr-light" />
77
78
  ```
79
+
80
+ ---
81
+
82
+ {% include css-stats.html %}
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: Shipyard Icons
3
3
  description: Shipyard comes with several default icons that you're welcome to use on any project. Each icon has been designed on a pixel grid at the small size possible, but can be scaled up to any size you like simply by changing the `width` and `height` in the CSS.
4
+ sass_file: shipyard/components/_icons
4
5
  ---
5
6
 
6
7
  {% include page-heading.html page=page %}
@@ -103,3 +104,7 @@ One of the most common problems when using an icon is that doesn't line up with
103
104
  Create
104
105
  </button>
105
106
  ```
107
+
108
+ ---
109
+
110
+ {% include css-stats.html %}
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: Shipyard Modals
3
3
  description: Modals are triggered by applying the following attribute to any button or link (e.g. `modal-trigger="login"`).
4
+ sass_file: shipyard/components/_modals
4
5
  ---
5
6
 
6
7
  {% include page-heading.html page=page %}
@@ -34,4 +35,7 @@ description: Modals are triggered by applying the following attribute to any but
34
35
  </div>
35
36
  ```
36
37
 
38
+ ---
39
+
40
+ {% include css-stats.html %}
37
41
  {% include_relative _modal.html css_class="display-none" %}
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: Shipyard Notes
3
3
  description: Notes should be used to grab a user's attention along side of other content.
4
+ sass_file: shipyard/components/_notes
4
5
  ---
5
6
 
6
7
  {% include page-heading.html page=page %}
@@ -60,3 +61,7 @@ Useful when drawing attention to critical information.
60
61
  </p>
61
62
  {% btn Call to Action, :sm, class: 'note-cta' %}
62
63
  {% endnote %}
64
+
65
+ ---
66
+
67
+ {% include css-stats.html %}
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: Shipyard Tables
3
3
  description: Tables are useful for tabular data and can be used simple by applying the `.table` class to any table you're working on.
4
+ sass_file: shipyard/components/_tables
4
5
  ---
5
6
 
6
7
  {% include page-heading.html page=page %}
@@ -27,3 +28,7 @@ description: Tables are useful for tabular data and can be used simple by applyi
27
28
  {% endfor %}
28
29
  </tbody>
29
30
  </table>
31
+
32
+ ---
33
+
34
+ {% include css-stats.html %}
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: Accordions
3
3
  description: Useful when you want to open and close large blocks of content in a more elegant way.
4
+ sass_file: shipyard/utilities/_accordion
4
5
  sizes:
5
6
  -
6
7
  name: xs
@@ -48,3 +49,7 @@ sizes:
48
49
  /* Accordion: Closed State */
49
50
  .accordion-closed { opacity: 0; max-height: 0; overflow: hidden; padding-top: 0; padding-bottom: 0; margin-top: 0; margin-bottom: 0; }
50
51
  ```
52
+
53
+ ---
54
+
55
+ {% include css-stats.html %}
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: Border-Radius Utilities
3
3
  description: Shipyard's border-radius utilities are useful for connecting components together.
4
+ sass_file: shipyard/utilities/_border-radius
4
5
  col_classes: col col-50 col-x1-20 margin-bottom-xs
5
6
  box_classes: padding-top-xs padding-bottom-xs text-sm strong align-center bg-gray-light gray-dark
6
7
  directions:
@@ -90,3 +91,7 @@ The examples below demonstrate the utility classes on each breakpoint.
90
91
  {% endfor %}
91
92
  </div>
92
93
  {% endfor %}
94
+
95
+ ---
96
+
97
+ {% include css-stats.html %}
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: Shipyard Colors
3
3
  description: Shipyard includes **9 standard colors** by default, and each color can be accessed with the corresponding CSS utility class `.color-shade` or by using the SASS variable `$color-shade` in your SASS files.
4
+ sass_file: shipyard/utilities/_colors
4
5
  primary_colors: [Gray, Blue, Teal, Green, Yellow, Orange, Red, Coral, Purple]
5
6
  shades: [Lightest, Lighter, Light, Base, Dark, Darker, Darkest]
6
7
  base_colors: [Black, White]
@@ -38,3 +39,7 @@ base_colors: [Black, White]
38
39
  </li>
39
40
  {% endfor %}
40
41
  </ul>
42
+
43
+ ---
44
+
45
+ {% include css-stats.html %}
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: Shipyard Grid
3
3
  description: The Shipyard grid is a percentage-based, flexbox grid and is entirely responsive. Each class needs the foundational `.col` class in order to function properly, and also should be contained inside the `.col-container` as well.
4
+ sass_file: shipyard/utilities/_grid
4
5
  container_classes: col-container margin-top-xs margin-top-x1-sm margin-top-x2-md margin-bottom-xs margin-bottom-x1-sm margin-bottom-x2-md
5
6
  box_classes: utilities-grid-box col-center box-secondary text-lighter text-sm strong align-center
6
7
  example_flex_columns: [10,20,25,33,50]
@@ -249,3 +250,7 @@ Useful when the flow of the content should be different at a certain breakpoint.
249
250
  </div>
250
251
  </div>
251
252
  ```
253
+
254
+ ---
255
+
256
+ {% include css-stats.html %}
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: Margin & Padding Utilities
3
3
  description: Shipyard's margin & padding utilities are useful for overriding the default margin and padding in any component, and can be extremely useful in a wide array of situations.
4
+ sass_file: shipyard/utilities/_margin-padding
4
5
  box_classes: utilities-margin-padding-box box-secondary btn-sm medium text-light
5
6
  options: [none,xxs,xs,sm,md,lg,xl,xxl]
6
7
  directions: [left,right]
@@ -104,3 +105,7 @@ The examples below demonstrate how much padding will be added to the left and ri
104
105
  </div>
105
106
  {% endfor %}
106
107
  </div>
108
+
109
+ ---
110
+
111
+ {% include css-stats.html %}
@@ -2,6 +2,7 @@
2
2
  title: Opacity Utilities
3
3
  description: Shipyard's opacity utilities are useful when you need to overwrite the default opacity of a component.
4
4
  options: [0,05,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95]
5
+ sass_file: shipyard/utilities/_opacity
5
6
  ---
6
7
 
7
8
  {% include page-heading.html page=page %}
@@ -19,7 +20,9 @@ options: [0,05,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95]
19
20
  </ul>
20
21
 
21
22
  ```css
22
- {% for option in page.options reversed -%}
23
- .o-{{ option | opacity_css_class }} { opacity: {{ option | opacity_css_class: '.' }} }
24
- {% endfor -%}
23
+ {% sass_output -%}
25
24
  ```
25
+
26
+ ---
27
+
28
+ {% include css-stats.html %}
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: Position Utilities
3
3
  description: Shipyard's position utilities are helpful to override the default styles of component.
4
+ sass_file: shipyard/utilities/_position
4
5
  position_utilities: [static, relative, absolute, fixed]
5
6
  ---
6
7
 
@@ -17,3 +18,7 @@ Useful when you need to overwrite the default styles of an element or component.
17
18
  .{{ utility }} { position: {{ utility }} }
18
19
  {% endfor -%}
19
20
  ```
21
+
22
+ ---
23
+
24
+ {% include css-stats.html %}
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  title: Shipyard Typography
3
+ sass_file: shipyard/utilities/_typography
3
4
  text_sizes: [xxs, xs, sm, md, lg, xl, xxl, xxxl]
4
5
  text_shades: [darkest, darker, dark, normal, light, lighter, lightest]
5
6
  ---
@@ -67,3 +68,7 @@ text_shades: [darkest, darker, dark, normal, light, lighter, lightest]
67
68
  </div>
68
69
  </div>
69
70
  </div>
71
+
72
+ ---
73
+
74
+ {% include css-stats.html %}
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shipyard-framework
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.83
4
+ version: 0.5.84
5
5
  platform: ruby
6
6
  authors:
7
7
  - Codeship
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-12-12 00:00:00.000000000 Z
11
+ date: 2017-12-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actionview
@@ -227,7 +227,6 @@ files:
227
227
  - assets/stylesheets/shipyard/components/_forms.sass
228
228
  - assets/stylesheets/shipyard/components/_hamburger.sass
229
229
  - assets/stylesheets/shipyard/components/_header.sass
230
- - assets/stylesheets/shipyard/components/_hero.sass
231
230
  - assets/stylesheets/shipyard/components/_horizontal-rules.sass
232
231
  - assets/stylesheets/shipyard/components/_icons.sass
233
232
  - assets/stylesheets/shipyard/components/_input-radio-checkbox.sass
@@ -249,6 +248,7 @@ files:
249
248
  - assets/stylesheets/shipyard/functions/_map-merge-options.sass
250
249
  - assets/stylesheets/shipyard/functions/_text-color.sass
251
250
  - assets/stylesheets/shipyard/mixins/_box-model.sass
251
+ - assets/stylesheets/shipyard/mixins/_buttons.sass
252
252
  - assets/stylesheets/shipyard/mixins/_components.sass
253
253
  - assets/stylesheets/shipyard/mixins/_icons.sass
254
254
  - assets/stylesheets/shipyard/mixins/_positioning.sass
@@ -257,12 +257,13 @@ files:
257
257
  - assets/stylesheets/shipyard/mixins/_selectors.sass
258
258
  - assets/stylesheets/shipyard/utilities/_accordion.sass
259
259
  - assets/stylesheets/shipyard/utilities/_border-radius.sass
260
+ - assets/stylesheets/shipyard/utilities/_center.sass
260
261
  - assets/stylesheets/shipyard/utilities/_colors.sass
261
262
  - assets/stylesheets/shipyard/utilities/_display.sass
262
263
  - assets/stylesheets/shipyard/utilities/_grid.sass
263
264
  - assets/stylesheets/shipyard/utilities/_margin-padding.sass
264
265
  - assets/stylesheets/shipyard/utilities/_opacity.sass
265
- - assets/stylesheets/shipyard/utilities/_positioning.sass
266
+ - assets/stylesheets/shipyard/utilities/_position.sass
266
267
  - assets/stylesheets/shipyard/utilities/_typography.sass
267
268
  - assets/stylesheets/shipyard/variables/_color_utilities.sass
268
269
  - assets/stylesheets/shipyard/variables/_colors.scss
@@ -325,12 +326,18 @@ files:
325
326
  - styleguide/_assets/js/views/utilities/colors.es6
326
327
  - styleguide/_config.yml
327
328
  - styleguide/_data/breakpoints.yml
329
+ - styleguide/_includes/css-stats.html
328
330
  - styleguide/_includes/page-heading.html
329
331
  - styleguide/_layouts/application.html
330
332
  - styleguide/_plugins/color_css_class.rb
331
333
  - styleguide/_plugins/component_css_class.rb
334
+ - styleguide/_plugins/css_declarations.rb
335
+ - styleguide/_plugins/css_selectors.rb
336
+ - styleguide/_plugins/css_size.rb
332
337
  - styleguide/_plugins/icon_item.rb
333
338
  - styleguide/_plugins/opacity_css_class.rb
339
+ - styleguide/_plugins/sass_generator.rb
340
+ - styleguide/_plugins/sass_output.rb
334
341
  - styleguide/components/alerts.md
335
342
  - styleguide/components/boxes.md
336
343
  - styleguide/components/buttons.md
@@ -1,87 +0,0 @@
1
- +component('hero')
2
- $hero-height: (x0: 120px, x1: 180px, x2: 190px)
3
- overflow: hidden
4
- text-align: center
5
- position: relative
6
- background: $gray-darkest
7
- transition: height 500ms ease, padding 500ms ease
8
- +respond-to(height, merge-and-add($hero-height, $header-height))
9
- +respond-to(padding-top, $header-height)
10
- +with-heroku-nav(margin-top, (x1: $heroku-nav-height))
11
-
12
- &-container
13
- height: 100%
14
- position: relative
15
- z-index: 1
16
-
17
- &-title
18
- margin: 0
19
- color: #fff
20
- width: 100%
21
- overflow: hidden
22
- line-height: 1.275
23
- white-space: nowrap
24
- text-overflow: ellipsis
25
- +responsive-padding(left right, $divisor: 1)
26
- +respond-to(font-size, (x0: 20px, x1: 24px, x2: 26px))
27
- &-margin
28
- margin: 0 0 10px
29
- &-x0-absolute
30
- +breakpoint-x0
31
- top: 50%
32
- left: 50%
33
- position: absolute
34
- transform: translate(-50%, -50%)
35
- &-link
36
- color: inherit
37
- &:hover
38
- color: lighten($blue-light, 5%)
39
-
40
- &-chart
41
- position: absolute
42
- right: 0
43
- bottom: 0
44
- height: auto !important
45
- &-container
46
- position: absolute
47
- height: 100%
48
- +responsive-right
49
- &-bar
50
- stroke: lighten($gray-darkest, 7%)
51
- stroke-width: 6px
52
- stroke-linecap: round
53
- stroke-linejoin: round
54
- stroke-dasharray: 0, 10px
55
-
56
- &-content
57
- position: relative
58
- +width-height(100%)
59
- +responsive-padding(left right, $divisor: 1)
60
- &-auto
61
- @extend .hero-content
62
- +breakpoint-x1
63
- height: auto
64
-
65
- &-cta
66
- +breakpoint-x0
67
- position: fixed
68
- top: 10px
69
- right: 10px
70
- z-index: 1000
71
- border: none
72
- &, &:hover
73
- background: none
74
- +respond-to(margin, (x1: 10px 5px))
75
-
76
- &-icon
77
- stroke: $gray-light
78
- +when('cta:hover')
79
- stroke: #fff
80
- +breakpoint-x0
81
- +width-height(20px)
82
- +center
83
- +breakpoint-x1
84
- +width-height(12px)
85
- margin-right: 5px
86
- position: relative
87
- top: 2px