shipyard-framework 0.5.3 → 0.5.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.travis.yml +36 -0
- data/README.md +6 -15
- data/Rakefile +13 -3
- data/app/helpers/shipyard/alert_helper.rb +14 -11
- data/app/helpers/shipyard/icon_helper.rb +9 -3
- data/assets/javascripts/shipyard/alerts.es6 +13 -0
- data/assets/javascripts/shipyard/core.es6 +34 -1
- data/assets/javascripts/shipyard/hamburger.es6 +10 -0
- data/assets/javascripts/shipyard/scroll.es6 +12 -0
- data/assets/javascripts/shipyard.es6 +7 -4
- data/assets/stylesheets/shipyard/_components.sass +1 -0
- data/assets/stylesheets/shipyard/_core.sass +0 -1
- data/assets/stylesheets/shipyard/_utilities.sass +2 -0
- data/assets/stylesheets/shipyard/components/_alerts.sass +4 -0
- data/assets/stylesheets/shipyard/components/_boxes.sass +3 -3
- data/assets/stylesheets/shipyard/components/_buttons.sass +17 -21
- data/assets/stylesheets/shipyard/components/_code.sass +1 -0
- data/assets/stylesheets/shipyard/components/_hamburger.sass +2 -1
- data/assets/stylesheets/shipyard/components/_header.sass +60 -0
- data/assets/stylesheets/shipyard/components/_tables.sass +20 -0
- data/assets/stylesheets/shipyard/core/_typography.sass +1 -0
- data/assets/stylesheets/shipyard/mixins/_box-model.sass +3 -0
- data/assets/stylesheets/shipyard/{core → utilities}/_grid.sass +13 -4
- data/assets/stylesheets/shipyard/utilities/_margin.sass +7 -0
- data/assets/stylesheets/shipyard/utilities/_typography.sass +0 -8
- data/assets/stylesheets/shipyard/variables/_components.scss +12 -0
- data/assets/stylesheets/shipyard/variables/_misc.sass +1 -0
- data/ci/build.rb +5 -0
- data/ci/deploy +31 -0
- data/ci/jekyll +16 -0
- data/ci/percy +5 -6
- data/ci/setup +3 -0
- data/lib/shipyard-framework/icons.rb +18 -28
- data/lib/shipyard-framework/jekyll/hooks.rb +11 -0
- data/lib/shipyard-framework/jekyll/shipyard_css_classes.rb +16 -0
- data/lib/shipyard-framework/jekyll/shipyard_variables.rb +7 -0
- data/lib/shipyard-framework/jekyll/{alert_tag.rb → tags/alert_tag.rb} +2 -2
- data/lib/shipyard-framework/jekyll/{box_tag.rb → tags/box_tag.rb} +1 -1
- data/lib/shipyard-framework/jekyll/{button_tag.rb → tags/button_tag.rb} +1 -1
- data/lib/shipyard-framework/jekyll/tags/icon_tag.rb +20 -0
- data/lib/shipyard-framework/jekyll/{note_tag.rb → tags/note_tag.rb} +1 -1
- data/lib/shipyard-framework/jekyll/{shipyard_version_tag.rb → tags/shipyard_version_tag.rb} +0 -0
- data/lib/shipyard-framework/rails/railtie.rb +8 -4
- data/lib/shipyard-framework/version.rb +1 -1
- data/lib/shipyard-framework.rb +32 -7
- data/shipyard.gemspec +9 -8
- data/spec/helpers/alert_helper_spec.rb +10 -2
- data/spec/helpers/icon_helper_spec.rb +6 -6
- data/styleguide/Gemfile +2 -1
- data/styleguide/Gemfile.lock +38 -10
- data/styleguide/_assets/css/application.sass +9 -0
- data/styleguide/_assets/css/layout.sass +6 -0
- data/styleguide/{_sass → _assets/css}/views.sass +10 -6
- data/styleguide/_assets/js/application.es6 +2 -0
- data/styleguide/_assets/js/views/utilities/colors.es6 +21 -0
- data/styleguide/_config.yml +7 -0
- data/styleguide/_includes/page-heading.html +4 -0
- data/styleguide/_layouts/application.html +26 -9
- data/styleguide/_plugins/icon_item.rb +19 -0
- data/styleguide/components/alerts.md +12 -2
- data/styleguide/components/boxes.md +2 -2
- data/styleguide/components/{buttons.html → buttons.md} +11 -10
- data/styleguide/components/code.html +1 -1
- data/styleguide/components/empty-states.html +2 -2
- data/styleguide/components/forms.html +1 -1
- data/styleguide/components/icons.md +158 -0
- data/styleguide/components/{index.html → index.md} +5 -5
- data/styleguide/components/modals.html +2 -5
- data/styleguide/components/notes.md +2 -2
- data/styleguide/components/tables.md +29 -0
- data/styleguide/components/{tooltips.html → tooltips.md} +4 -7
- data/styleguide/index.md +27 -0
- data/styleguide/utilities/colors.md +25 -0
- data/styleguide/utilities/grid.md +152 -0
- data/styleguide/utilities/{index.html → index.md} +8 -5
- data/styleguide/utilities/{responsive.html → responsive.md} +6 -5
- data/styleguide/utilities/typography.html +1 -1
- metadata +113 -28
- data/assets/javascripts/shipyard/alert.es6 +0 -19
- data/assets/javascripts/shipyard/icon.es6 +0 -50
- data/ci/rspec +0 -1
- data/styleguide/_sass/layout.sass +0 -35
- data/styleguide/assets/css/application.sass +0 -10
- data/styleguide/components/grid.html +0 -44
- data/styleguide/index.html +0 -6
- data/styleguide/utilities/colors.html +0 -41
@@ -0,0 +1,152 @@
|
|
1
|
+
---
|
2
|
+
title: Shipyard Grid
|
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
|
+
container_classes: col-container margin-top-xs margin-top-x1-sm margin-top-x2-md margin-bottom-md
|
5
|
+
box_classes: box-secondary text-light text-sm strong align-center
|
6
|
+
example_flex_columns: [10,20,25,33,50]
|
7
|
+
example_sizes: [5,10,15,20,25,30,33,35,40,45,50,55,60,65,66,70,75,80,85,90,95,100]
|
8
|
+
example_offsets: [5,10,15,20,25,30,35,40,45,50,55,60,65,70,75]
|
9
|
+
---
|
10
|
+
|
11
|
+
{% include page-heading.html page=page %}
|
12
|
+
|
13
|
+
---
|
14
|
+
|
15
|
+
### Flexible Columns `.col`
|
16
|
+
<p class="text-light margin-bottom-md">By default, the flexbox-based grid will automatically size each column inside the container.</p>
|
17
|
+
|
18
|
+
{% for example in page.example_flex_columns %}
|
19
|
+
<div class="{{ page.container_classes }}">
|
20
|
+
{% assign num = 100 | divided_by: example %}
|
21
|
+
{% for i in (1..num) %}
|
22
|
+
<div class="col">
|
23
|
+
<div class="{{ page.box_classes }}">{{ example }}</div>
|
24
|
+
</div>
|
25
|
+
{% endfor %}
|
26
|
+
</div>
|
27
|
+
{% endfor %}
|
28
|
+
<div class="{{ page.container_classes }}">
|
29
|
+
<div class="col col-66 align-center">
|
30
|
+
<div class="{{ page.box_classes }}">66</div>
|
31
|
+
</div>
|
32
|
+
<div class="col align-center">
|
33
|
+
<div class="{{ page.box_classes }}">auto</div>
|
34
|
+
</div>
|
35
|
+
</div>
|
36
|
+
|
37
|
+
```html
|
38
|
+
<div class="col-container">
|
39
|
+
<div class="col"><!-- column contents --></div>
|
40
|
+
<div class="col"><!-- column contents --></div>
|
41
|
+
<div class="col"><!-- column contents --></div>
|
42
|
+
</div>
|
43
|
+
```
|
44
|
+
|
45
|
+
---
|
46
|
+
|
47
|
+
### Column Sizes `.col-{ n }`
|
48
|
+
<p class="text-light margin-bottom-md" markdown="1">The column sizes are percentage-based and available in any size from `5-100` in increments of 5.</p>
|
49
|
+
|
50
|
+
{% for example in page.example_sizes %}
|
51
|
+
<div class="{{ page.container_classes }}">
|
52
|
+
{% assign num = 100 | divided_by: example %}
|
53
|
+
{% for i in (1..num) %}
|
54
|
+
<div class="col col-{{ example }}">
|
55
|
+
<div class="{{ page.box_classes }}">{{ example }}</div>
|
56
|
+
</div>
|
57
|
+
{% endfor %}
|
58
|
+
|
59
|
+
{% assign remainder = 100 | modulo: example %}
|
60
|
+
{% if remainder > 1 %}
|
61
|
+
<div class="col col-{{ remainder }}">
|
62
|
+
<div class="{{ page.box_classes }}">{{ remainder }}</div>
|
63
|
+
</div>
|
64
|
+
{% endif %}
|
65
|
+
</div>
|
66
|
+
{% endfor %}
|
67
|
+
|
68
|
+
```html
|
69
|
+
<div class="col-container">
|
70
|
+
<div class="col col-33"><!-- column contents --></div>
|
71
|
+
<div class="col col-33"><!-- column contents --></div>
|
72
|
+
<div class="col col-33"><!-- column contents --></div>
|
73
|
+
</div>
|
74
|
+
```
|
75
|
+
|
76
|
+
---
|
77
|
+
|
78
|
+
### Offset Columns `.col-offset-{ n }`
|
79
|
+
<p class="text-light margin-bottom-md">Useful when you need to push columns to the right to fill some empty space.</p>
|
80
|
+
|
81
|
+
{% assign example_offsets = page.example_offsets | reverse %}
|
82
|
+
{% for i in example_offsets %}
|
83
|
+
<div class="{{ page.container_classes }}">
|
84
|
+
<div class="col col-{{ i }}">
|
85
|
+
<div class="{{ page.box_classes }}">{{ i }}</div>
|
86
|
+
</div>
|
87
|
+
{% if i < 100 %}
|
88
|
+
<div class="col col-20 col-offset-{{ 80 | minus: i }}">
|
89
|
+
<div class="{{ page.box_classes }}">offset {{ 80 | minus: i }}</div>
|
90
|
+
</div>
|
91
|
+
{% endif %}
|
92
|
+
</div>
|
93
|
+
{% endfor %}
|
94
|
+
```html
|
95
|
+
<div class="col-container">
|
96
|
+
<div class="col col-70"><!-- column contents --></div>
|
97
|
+
<div class="col col-20 col-offset-10"><!-- column contents --></div>
|
98
|
+
</div>
|
99
|
+
```
|
100
|
+
|
101
|
+
---
|
102
|
+
|
103
|
+
### Responsive Columns `.col-{ n }-(x1..x4)`
|
104
|
+
<p class="text-light margin-bottom-md" markdown="1">Useful when you want to build a grid that works for any size of screen.</p>
|
105
|
+
|
106
|
+
<div class="{{ page.container_classes }}">
|
107
|
+
{% for i in (1..5) %}
|
108
|
+
<div class="col col-100 col-x1-33 col-x2-25 col-x3-20">
|
109
|
+
<div class="{{ page.box_classes }}">
|
110
|
+
<span class="display-block display-x1-none">100</span>
|
111
|
+
<span class="display-none display-x1-block display-x2-none">33</span>
|
112
|
+
<span class="display-none display-x2-block display-x3-none">25</span>
|
113
|
+
<span class="display-none display-x3-block">20</span>
|
114
|
+
</div>
|
115
|
+
</div>
|
116
|
+
{% endfor %}
|
117
|
+
</div>
|
118
|
+
|
119
|
+
```html
|
120
|
+
<div class="col-container-wrap">
|
121
|
+
<div class="col col-100 col-x1-33 col-x2-25 col-x3-20"><!-- column 1 --></div>
|
122
|
+
<div class="col col-100 col-x1-33 col-x2-25 col-x3-20"><!-- column 2 --></div>
|
123
|
+
<div class="col col-100 col-x1-33 col-x2-25 col-x3-20"><!-- column 3 --></div>
|
124
|
+
<div class="col col-100 col-x1-33 col-x2-25 col-x3-20"><!-- column 4 --></div>
|
125
|
+
<div class="col col-100 col-x1-33 col-x2-25 col-x3-20"><!-- column 5 --></div>
|
126
|
+
</div>
|
127
|
+
```
|
128
|
+
|
129
|
+
---
|
130
|
+
|
131
|
+
### Take-Up-The-Rest Columns `.col-container-nowrap`
|
132
|
+
<p class="text-light margin-bottom-md" markdown="1">This type of layout is useful in all kinds of scenarios, especially when you have the auto-sized column contains some kind of call-to-action.</p>
|
133
|
+
|
134
|
+
<div class="{{ page.container_classes | replace: 'col-container', 'col-container-nowrap' }}">
|
135
|
+
<div class="col col-100">
|
136
|
+
<div class="{{ page.box_classes }}">Take-up-the-rest Column</div>
|
137
|
+
</div>
|
138
|
+
<div class="col">
|
139
|
+
<div class="white-space-nowrap {{ page.box_classes }}">Variable Column</div>
|
140
|
+
</div>
|
141
|
+
</div>
|
142
|
+
|
143
|
+
```html
|
144
|
+
<div class="col-container-nowrap">
|
145
|
+
<div class="col col-100">
|
146
|
+
<!-- Take-Up-The-Rest Column -->
|
147
|
+
</div>
|
148
|
+
<div class="col">
|
149
|
+
<!-- Variable Column -->
|
150
|
+
</div>
|
151
|
+
</div>
|
152
|
+
```
|
@@ -1,14 +1,17 @@
|
|
1
1
|
---
|
2
2
|
title: Shipyard Utilities
|
3
|
-
|
3
|
+
description: The utility classes below can be applied to any component to override or extend the base styles of the component.
|
4
|
+
utilities: [Responsive, Grid, Typography, Colors]
|
5
|
+
---
|
6
|
+
|
7
|
+
{% include page-heading.html page=page %}
|
8
|
+
|
4
9
|
---
|
5
10
|
|
6
|
-
<h1>{{ page.title }}</h1>
|
7
|
-
<hr />
|
8
11
|
<ul class="col-container">
|
9
12
|
{% for utility in page.utilities %}
|
10
|
-
<li class="margin-bottom-xs margin-bottom-x1-sm margin-bottom-x2-lg col col-100 col-x1-25">
|
11
|
-
<a href="{{ site.baseurl }}/utilities/{{ utility | replace: ' ', '-' | downcase }}" class="box-link box-padding align-center text-xl">
|
13
|
+
<li class="margin-bottom-xs margin-bottom-x1-sm margin-bottom-x2-lg col col-100 col-x1-33 col-x2-25">
|
14
|
+
<a href="{{ site.baseurl }}/utilities/{{ utility | replace: ' ', '-' | downcase }}" class="box-link box-padding align-center text-md text-x1-lg text-x2-xl">
|
12
15
|
{{ utility }}
|
13
16
|
</a>
|
14
17
|
</li>
|
@@ -1,13 +1,14 @@
|
|
1
1
|
---
|
2
|
-
title:
|
2
|
+
title: Mobile-first Methodology
|
3
|
+
description: Shipyard is a CSS Framework is built from mobile-first approach to front-end development. This means that by default, a class applies to all screen sizes unless otherwise specifed. In order to make something truly responsive, you need to first think about how you want it to look on all screen sizes, and then using the modifiers `(x1-x4)` to define how the style will change as the screen size grows.
|
3
4
|
---
|
4
5
|
|
5
|
-
|
6
|
-
<p class="text-light text-xl">Shipyard is a CSS Framework is built from mobile-first approach to front-end development. This means that by default, a class applies to all screen sizes unless otherwise specifed. In order to make something truly responsive, you need to first think about how you want it to look on all screen sizes, and then using the modifiers (x1-x4) to define how the style will change as the screen size grows.</p>
|
6
|
+
{% include page-heading.html page=page %}
|
7
7
|
|
8
|
-
|
8
|
+
---
|
9
|
+
|
10
|
+
## Responsive Demo
|
9
11
|
|
10
|
-
<h2>Responsive Demo</h2>
|
11
12
|
<div class="box-secondary box-padding align-center">
|
12
13
|
<button class="btn btn-xs btn-x1-sm btn-x2-md btn-x3-lg btn-x4-xl">
|
13
14
|
<span class="display-inline display-x1-none">All Screens (.btn-xs)</span>
|
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.
|
4
|
+
version: 0.5.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- Codeship
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-10-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: actionview
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '5.0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: sprockets-es6
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 0.9.2
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 0.9.2
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: bundler
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -47,7 +61,7 @@ dependencies:
|
|
47
61
|
version: '3.5'
|
48
62
|
- - ">="
|
49
63
|
- !ruby/object:Gem::Version
|
50
|
-
version: 3.5.
|
64
|
+
version: 3.5.2
|
51
65
|
type: :development
|
52
66
|
prerelease: false
|
53
67
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -57,7 +71,7 @@ dependencies:
|
|
57
71
|
version: '3.5'
|
58
72
|
- - ">="
|
59
73
|
- !ruby/object:Gem::Version
|
60
|
-
version: 3.5.
|
74
|
+
version: 3.5.2
|
61
75
|
- !ruby/object:Gem::Dependency
|
62
76
|
name: rspec
|
63
77
|
requirement: !ruby/object:Gem::Requirement
|
@@ -77,6 +91,9 @@ dependencies:
|
|
77
91
|
requirement: !ruby/object:Gem::Requirement
|
78
92
|
requirements:
|
79
93
|
- - "~>"
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '1.2'
|
96
|
+
- - ">="
|
80
97
|
- !ruby/object:Gem::Version
|
81
98
|
version: 1.2.9
|
82
99
|
type: :development
|
@@ -84,11 +101,62 @@ dependencies:
|
|
84
101
|
version_requirements: !ruby/object:Gem::Requirement
|
85
102
|
requirements:
|
86
103
|
- - "~>"
|
104
|
+
- !ruby/object:Gem::Version
|
105
|
+
version: '1.2'
|
106
|
+
- - ">="
|
87
107
|
- !ruby/object:Gem::Version
|
88
108
|
version: 1.2.9
|
109
|
+
- !ruby/object:Gem::Dependency
|
110
|
+
name: html-proofer
|
111
|
+
requirement: !ruby/object:Gem::Requirement
|
112
|
+
requirements:
|
113
|
+
- - "~>"
|
114
|
+
- !ruby/object:Gem::Version
|
115
|
+
version: '3.7'
|
116
|
+
- - ">="
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: 3.7.4
|
119
|
+
type: :development
|
120
|
+
prerelease: false
|
121
|
+
version_requirements: !ruby/object:Gem::Requirement
|
122
|
+
requirements:
|
123
|
+
- - "~>"
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '3.7'
|
126
|
+
- - ">="
|
127
|
+
- !ruby/object:Gem::Version
|
128
|
+
version: 3.7.4
|
129
|
+
- !ruby/object:Gem::Dependency
|
130
|
+
name: jekyll
|
131
|
+
requirement: !ruby/object:Gem::Requirement
|
132
|
+
requirements:
|
133
|
+
- - "~>"
|
134
|
+
- !ruby/object:Gem::Version
|
135
|
+
version: '3.6'
|
136
|
+
type: :development
|
137
|
+
prerelease: false
|
138
|
+
version_requirements: !ruby/object:Gem::Requirement
|
139
|
+
requirements:
|
140
|
+
- - "~>"
|
141
|
+
- !ruby/object:Gem::Version
|
142
|
+
version: '3.6'
|
143
|
+
- !ruby/object:Gem::Dependency
|
144
|
+
name: jekyll-assets
|
145
|
+
requirement: !ruby/object:Gem::Requirement
|
146
|
+
requirements:
|
147
|
+
- - "~>"
|
148
|
+
- !ruby/object:Gem::Version
|
149
|
+
version: '2.3'
|
150
|
+
type: :development
|
151
|
+
prerelease: false
|
152
|
+
version_requirements: !ruby/object:Gem::Requirement
|
153
|
+
requirements:
|
154
|
+
- - "~>"
|
155
|
+
- !ruby/object:Gem::Version
|
156
|
+
version: '2.3'
|
89
157
|
description:
|
90
158
|
email:
|
91
|
-
-
|
159
|
+
- design@codeship.com
|
92
160
|
executables: []
|
93
161
|
extensions: []
|
94
162
|
extra_rdoc_files: []
|
@@ -96,6 +164,7 @@ files:
|
|
96
164
|
- ".gitignore"
|
97
165
|
- ".rspec"
|
98
166
|
- ".ruby-version"
|
167
|
+
- ".travis.yml"
|
99
168
|
- CODE_OF_CONDUCT.md
|
100
169
|
- Gemfile
|
101
170
|
- LICENSE.txt
|
@@ -132,9 +201,10 @@ files:
|
|
132
201
|
- assets/icons/tag.svg
|
133
202
|
- assets/icons/x.svg
|
134
203
|
- assets/javascripts/shipyard.es6
|
135
|
-
- assets/javascripts/shipyard/
|
204
|
+
- assets/javascripts/shipyard/alerts.es6
|
136
205
|
- assets/javascripts/shipyard/core.es6
|
137
|
-
- assets/javascripts/shipyard/
|
206
|
+
- assets/javascripts/shipyard/hamburger.es6
|
207
|
+
- assets/javascripts/shipyard/scroll.es6
|
138
208
|
- assets/stylesheets/_shipyard.sass
|
139
209
|
- assets/stylesheets/shipyard/_components.sass
|
140
210
|
- assets/stylesheets/shipyard/_core.sass
|
@@ -147,14 +217,15 @@ files:
|
|
147
217
|
- assets/stylesheets/shipyard/components/_form-errors.sass
|
148
218
|
- assets/stylesheets/shipyard/components/_forms.sass
|
149
219
|
- assets/stylesheets/shipyard/components/_hamburger.sass
|
220
|
+
- assets/stylesheets/shipyard/components/_header.sass
|
150
221
|
- assets/stylesheets/shipyard/components/_hero.sass
|
151
222
|
- assets/stylesheets/shipyard/components/_icons.sass
|
152
223
|
- assets/stylesheets/shipyard/components/_input-switch.sass
|
153
224
|
- assets/stylesheets/shipyard/components/_modals.sass
|
154
225
|
- assets/stylesheets/shipyard/components/_notes.sass
|
226
|
+
- assets/stylesheets/shipyard/components/_tables.sass
|
155
227
|
- assets/stylesheets/shipyard/components/_tooltips.sass
|
156
228
|
- assets/stylesheets/shipyard/core/_animations.sass
|
157
|
-
- assets/stylesheets/shipyard/core/_grid.sass
|
158
229
|
- assets/stylesheets/shipyard/core/_reset.sass
|
159
230
|
- assets/stylesheets/shipyard/core/_typography.sass
|
160
231
|
- assets/stylesheets/shipyard/functions/_color.sass
|
@@ -167,6 +238,8 @@ files:
|
|
167
238
|
- assets/stylesheets/shipyard/mixins/_selectors.sass
|
168
239
|
- assets/stylesheets/shipyard/utilities/_colors.sass
|
169
240
|
- assets/stylesheets/shipyard/utilities/_display.sass
|
241
|
+
- assets/stylesheets/shipyard/utilities/_grid.sass
|
242
|
+
- assets/stylesheets/shipyard/utilities/_margin.sass
|
170
243
|
- assets/stylesheets/shipyard/utilities/_positioning.sass
|
171
244
|
- assets/stylesheets/shipyard/utilities/_typography.sass
|
172
245
|
- assets/stylesheets/shipyard/variables/_color_utilities.sass
|
@@ -175,16 +248,22 @@ files:
|
|
175
248
|
- assets/stylesheets/shipyard/variables/_grid.sass
|
176
249
|
- assets/stylesheets/shipyard/variables/_misc.sass
|
177
250
|
- assets/stylesheets/shipyard/variables/_typography.sass
|
251
|
+
- ci/build.rb
|
252
|
+
- ci/deploy
|
253
|
+
- ci/jekyll
|
178
254
|
- ci/percy
|
179
|
-
- ci/rspec
|
180
255
|
- ci/setup
|
181
256
|
- lib/shipyard-framework.rb
|
182
257
|
- lib/shipyard-framework/icons.rb
|
183
|
-
- lib/shipyard-framework/jekyll/
|
184
|
-
- lib/shipyard-framework/jekyll/
|
185
|
-
- lib/shipyard-framework/jekyll/
|
186
|
-
- lib/shipyard-framework/jekyll/
|
187
|
-
- lib/shipyard-framework/jekyll/
|
258
|
+
- lib/shipyard-framework/jekyll/hooks.rb
|
259
|
+
- lib/shipyard-framework/jekyll/shipyard_css_classes.rb
|
260
|
+
- lib/shipyard-framework/jekyll/shipyard_variables.rb
|
261
|
+
- lib/shipyard-framework/jekyll/tags/alert_tag.rb
|
262
|
+
- lib/shipyard-framework/jekyll/tags/box_tag.rb
|
263
|
+
- lib/shipyard-framework/jekyll/tags/button_tag.rb
|
264
|
+
- lib/shipyard-framework/jekyll/tags/icon_tag.rb
|
265
|
+
- lib/shipyard-framework/jekyll/tags/note_tag.rb
|
266
|
+
- lib/shipyard-framework/jekyll/tags/shipyard_version_tag.rb
|
188
267
|
- lib/shipyard-framework/rails/engine.rb
|
189
268
|
- lib/shipyard-framework/rails/railtie.rb
|
190
269
|
- lib/shipyard-framework/version.rb
|
@@ -202,28 +281,34 @@ files:
|
|
202
281
|
- styleguide/.ruby-version
|
203
282
|
- styleguide/Gemfile
|
204
283
|
- styleguide/Gemfile.lock
|
284
|
+
- styleguide/_assets/css/application.sass
|
285
|
+
- styleguide/_assets/css/layout.sass
|
286
|
+
- styleguide/_assets/css/views.sass
|
287
|
+
- styleguide/_assets/js/application.es6
|
288
|
+
- styleguide/_assets/js/views/utilities/colors.es6
|
205
289
|
- styleguide/_config.yml
|
290
|
+
- styleguide/_includes/page-heading.html
|
206
291
|
- styleguide/_layouts/application.html
|
207
|
-
- styleguide/
|
208
|
-
- styleguide/_sass/views.sass
|
209
|
-
- styleguide/assets/css/application.sass
|
292
|
+
- styleguide/_plugins/icon_item.rb
|
210
293
|
- styleguide/components/alerts.md
|
211
294
|
- styleguide/components/boxes.md
|
212
|
-
- styleguide/components/buttons.
|
295
|
+
- styleguide/components/buttons.md
|
213
296
|
- styleguide/components/code.html
|
214
297
|
- styleguide/components/empty-states.html
|
215
298
|
- styleguide/components/forms.html
|
216
|
-
- styleguide/components/
|
217
|
-
- styleguide/components/index.
|
299
|
+
- styleguide/components/icons.md
|
300
|
+
- styleguide/components/index.md
|
218
301
|
- styleguide/components/modals.html
|
219
302
|
- styleguide/components/notes.md
|
220
|
-
- styleguide/components/
|
221
|
-
- styleguide/
|
222
|
-
- styleguide/
|
223
|
-
- styleguide/utilities/
|
224
|
-
- styleguide/utilities/
|
303
|
+
- styleguide/components/tables.md
|
304
|
+
- styleguide/components/tooltips.md
|
305
|
+
- styleguide/index.md
|
306
|
+
- styleguide/utilities/colors.md
|
307
|
+
- styleguide/utilities/grid.md
|
308
|
+
- styleguide/utilities/index.md
|
309
|
+
- styleguide/utilities/responsive.md
|
225
310
|
- styleguide/utilities/typography.html
|
226
|
-
homepage: https://github.com/shipyard
|
311
|
+
homepage: https://github.com/codeship/shipyard
|
227
312
|
licenses:
|
228
313
|
- MIT
|
229
314
|
metadata: {}
|
@@ -243,7 +328,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
243
328
|
version: '0'
|
244
329
|
requirements: []
|
245
330
|
rubyforge_project:
|
246
|
-
rubygems_version: 2.6.
|
331
|
+
rubygems_version: 2.6.14
|
247
332
|
signing_key:
|
248
333
|
specification_version: 4
|
249
334
|
summary: A lightweight CSS framework for developing mobile-first projects in Ruby
|
@@ -1,19 +0,0 @@
|
|
1
|
-
class Alert extends Shipyard {
|
2
|
-
constructor () {
|
3
|
-
super()
|
4
|
-
var alerts = document.querySelectorAll('[data-shipyard="alert"]');
|
5
|
-
for (var alert of alerts) {
|
6
|
-
new Vue({
|
7
|
-
el: alert,
|
8
|
-
data: {
|
9
|
-
visible: true
|
10
|
-
},
|
11
|
-
methods: {
|
12
|
-
close () {
|
13
|
-
this.visible = false;
|
14
|
-
}
|
15
|
-
}
|
16
|
-
});
|
17
|
-
}
|
18
|
-
}
|
19
|
-
}
|
@@ -1,50 +0,0 @@
|
|
1
|
-
Vue.component('icon', {
|
2
|
-
template: `
|
3
|
-
<svg :class="iconClass" :viewBox="viewBox" preserveAspectRatio="xMinYMin meet" v-html="innerHtml"></svg>
|
4
|
-
`,
|
5
|
-
|
6
|
-
props: {
|
7
|
-
name: String,
|
8
|
-
size: String, // {width}x{height} (e.g. 4x8, 8x8, 16x16)
|
9
|
-
type: {
|
10
|
-
default: '',
|
11
|
-
type: String
|
12
|
-
},
|
13
|
-
html: String
|
14
|
-
},
|
15
|
-
|
16
|
-
computed: {
|
17
|
-
iconClass () {
|
18
|
-
let cssClasses = [];
|
19
|
-
cssClasses.push('icon');
|
20
|
-
cssClasses.push(`icon-${this.name}`);
|
21
|
-
if (this.type.length > 0) {
|
22
|
-
this.type.trim().split(' ').forEach((type) => {
|
23
|
-
cssClasses.push(`icon-${type}`);
|
24
|
-
});
|
25
|
-
}
|
26
|
-
return cssClasses;
|
27
|
-
},
|
28
|
-
|
29
|
-
viewBox () {
|
30
|
-
return `0 0 ${this.size.replace(/x/, ' ')}`;
|
31
|
-
},
|
32
|
-
|
33
|
-
href () {
|
34
|
-
return `/assets/icons.svg#${this.name}`;
|
35
|
-
},
|
36
|
-
|
37
|
-
innerHtml () {
|
38
|
-
if (this.html && this.name == 'queued') {
|
39
|
-
return this.svgInnerHtml;
|
40
|
-
} else {
|
41
|
-
return `<use xlink:href="${this.href}"></use>`;
|
42
|
-
}
|
43
|
-
},
|
44
|
-
|
45
|
-
svgInnerHtml () {
|
46
|
-
if (this.html) var html = this.html.match(/<svg[^>]*>([\s\S]*?)<\/svg>/);
|
47
|
-
if (html) return html[1];
|
48
|
-
}
|
49
|
-
}
|
50
|
-
});
|
data/ci/rspec
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
bundle exec rspec
|
@@ -1,35 +0,0 @@
|
|
1
|
-
body
|
2
|
-
padding-top: 70px
|
3
|
-
|
4
|
-
header
|
5
|
-
$height: 50px
|
6
|
-
background: $gray-darkest
|
7
|
-
position: fixed
|
8
|
-
top: 0
|
9
|
-
left: 0
|
10
|
-
right: 0
|
11
|
-
height: $height
|
12
|
-
line-height: $height
|
13
|
-
color: #fff
|
14
|
-
z-index: 100
|
15
|
-
h6
|
16
|
-
font-weight: $bold
|
17
|
-
font-size: 24px
|
18
|
-
float: left
|
19
|
-
ul
|
20
|
-
float: right
|
21
|
-
font-weight: $medium
|
22
|
-
font-size: 18px
|
23
|
-
margin-right: -10px
|
24
|
-
li
|
25
|
-
display: inline
|
26
|
-
margin: 0 10px
|
27
|
-
a
|
28
|
-
color: rgba(#fff,.8)
|
29
|
-
&, &:hover
|
30
|
-
text-decoration: none
|
31
|
-
&:hover
|
32
|
-
color: #fff
|
33
|
-
|
34
|
-
footer
|
35
|
-
padding: 30px 0
|
@@ -1,10 +0,0 @@
|
|
1
|
-
---
|
2
|
-
---
|
3
|
-
$font-family: Catamaran, sans-serif
|
4
|
-
$font-monospace: 'Roboto Mono', monospace
|
5
|
-
@import shipyard
|
6
|
-
@import url('https://fonts.googleapis.com/css?family=Catamaran')
|
7
|
-
@import url('https://fonts.googleapis.com/css?family=Roboto+Mono')
|
8
|
-
|
9
|
-
@import layout
|
10
|
-
@import views
|
@@ -1,44 +0,0 @@
|
|
1
|
-
---
|
2
|
-
title: Shipyard Grid
|
3
|
-
example_one: [10,20,25,33]
|
4
|
-
example_two: [50,55,60,65,70,75,80,85,90,95,100]
|
5
|
-
---
|
6
|
-
|
7
|
-
<h1>{{ page.title }}</h1>
|
8
|
-
|
9
|
-
<hr />
|
10
|
-
|
11
|
-
{% for example in page.example_one %}
|
12
|
-
<div class="col-container margin-top-xs margin-top-x1-sm margin-top-x2-md">
|
13
|
-
{% assign num = 100 | divided_by: example %}
|
14
|
-
{% for i in (1..num) %}
|
15
|
-
<div class="col col-{{ example }} align-center">
|
16
|
-
<div class="box-secondary text-light text-sm strong">{{ example }}</div>
|
17
|
-
</div>
|
18
|
-
{% endfor %}
|
19
|
-
</div>
|
20
|
-
{% endfor %}
|
21
|
-
|
22
|
-
<div class="col-container margin-top-xs margin-top-x1-sm margin-top-x2-md">
|
23
|
-
<div class="col col-66 align-center">
|
24
|
-
<div class="box-secondary text-light text-sm strong">66</div>
|
25
|
-
</div>
|
26
|
-
<div class="col col-33 align-center">
|
27
|
-
<div class="box-secondary text-light text-sm strong">33</div>
|
28
|
-
</div>
|
29
|
-
</div>
|
30
|
-
|
31
|
-
<hr />
|
32
|
-
|
33
|
-
{% for i in page.example_two %}
|
34
|
-
<div class="col-container margin-top-xs margin-top-x1-sm margin-top-x2-md">
|
35
|
-
<div class="col col-{{ i }} align-center">
|
36
|
-
<div class="box-secondary text-light text-sm strong">{{ i }}</div>
|
37
|
-
</div>
|
38
|
-
{% if i < 100 %}
|
39
|
-
<div class="col col-{{ 100 | minus: i }} align-center">
|
40
|
-
<div class="box-secondary text-light text-sm strong">{{ 100 | minus: i }}</div>
|
41
|
-
</div>
|
42
|
-
{% endif %}
|
43
|
-
</div>
|
44
|
-
{% endfor %}
|
data/styleguide/index.html
DELETED
@@ -1,41 +0,0 @@
|
|
1
|
-
---
|
2
|
-
title: Shipyard Colors
|
3
|
-
colors: [Gray, Blue, Teal, Green, Yellow, Orange, Red, Coral, Purple]
|
4
|
-
shades: [Lightest, Lighter, Light, Base, Dark, Darker, Darkest]
|
5
|
-
---
|
6
|
-
|
7
|
-
<h1>{{ page.title }}</h1>
|
8
|
-
|
9
|
-
<hr />
|
10
|
-
|
11
|
-
{% for color in page.colors %}
|
12
|
-
<ul class="shade-list margin-bottom-xxl">
|
13
|
-
{% for shade in page.shades %}
|
14
|
-
<li class="shade-item shade-{{ shade | downcase }}">
|
15
|
-
<div class="shade-box box bg-{{ color | append: '-' | append: shade | downcase | replace: '-base', '' }} shade-{{ shade | downcase | replace: 'er', '' | replace: 'est', '' }}">
|
16
|
-
<div class="shade-color text-xxl bold bg-{{ color | append: '-' | append: shade | downcase | replace: '-base', '' }}"></div>
|
17
|
-
<p class="shade-text text-sm medium margin-top-xs medium {{ color | append: '-' | append: shade | downcase | replace: '-base', '' }}">
|
18
|
-
{{ shade | append: ' ' | append: color | replace: 'Base ', '' }}
|
19
|
-
</p>
|
20
|
-
</div>
|
21
|
-
</li>
|
22
|
-
{% endfor %}
|
23
|
-
</ul>
|
24
|
-
{% endfor %}
|
25
|
-
|
26
|
-
<script type="text/javascript">
|
27
|
-
$.fn.backgroundColorHex = function(){
|
28
|
-
let rgb = this.css('background-color');
|
29
|
-
if (rgb.match(/rgba/)) return '#';
|
30
|
-
let hex = rgb.substr(4, rgb.indexOf(')') - 4).split(',').map(
|
31
|
-
(color) => String('0' + parseInt(color).toString(16)).slice(-2)
|
32
|
-
).join('');
|
33
|
-
return `#${hex}`;
|
34
|
-
};
|
35
|
-
|
36
|
-
$(document).ready(function(){
|
37
|
-
$('.shade-color').each(function(index, shade){
|
38
|
-
$(shade).html($(shade).backgroundColorHex());
|
39
|
-
});
|
40
|
-
});
|
41
|
-
</script>
|