shipyard-framework 0.5.83 → 0.5.84

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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