bay_jekyll_theme 1.2.5 → 2.0.0

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.
data/_sass/_layout.scss CHANGED
@@ -18,7 +18,7 @@
18
18
  }
19
19
  }
20
20
 
21
- .site-title {
21
+ .site-header__title {
22
22
  font-size: 26px;
23
23
  line-height: 56px;
24
24
  letter-spacing: -1px;
@@ -43,11 +43,11 @@
43
43
  line-height: 56px;
44
44
  background-color: variables.$color-background;
45
45
 
46
- .menu-icon {
46
+ &__toggle {
47
47
  display: none;
48
48
  }
49
49
 
50
- .page-link {
50
+ &__link {
51
51
  color: variables.$color-text;
52
52
  line-height: variables.$base-line-height;
53
53
 
@@ -66,7 +66,7 @@
66
66
  border-radius: 5px;
67
67
  text-align: right;
68
68
 
69
- .menu-icon {
69
+ .site-nav__toggle {
70
70
  display: block;
71
71
  float: right;
72
72
  border-radius: 5px;
@@ -80,7 +80,7 @@
80
80
  background-size: 26px 26px;
81
81
  }
82
82
 
83
- .menu {
83
+ .site-nav__menu {
84
84
  clear: both;
85
85
  display: none;
86
86
  background-color: variables.$color-background;
@@ -88,7 +88,7 @@
88
88
  padding-bottom: 5px;
89
89
  }
90
90
 
91
- .page-link {
91
+ .site-nav__link {
92
92
  font-size: 16px;
93
93
  display: block;
94
94
  padding: 6px 16px;
@@ -108,18 +108,7 @@
108
108
  }
109
109
  }
110
110
 
111
- .footer-heading {
112
- font-size: 18px;
113
- margin-bottom: calc(variables.$spacing-unit / 2);
114
- }
115
-
116
- .contact-list,
117
- .social-media-list {
118
- list-style: none;
119
- margin-left: 0;
120
- }
121
-
122
- .footer-col-wrapper {
111
+ .site-footer__wrapper {
123
112
  font-size: 15px;
124
113
  color: variables.$color-grey;
125
114
  margin-left: calc(-1 * variables.$spacing-unit / 2);
@@ -127,36 +116,36 @@
127
116
  @extend %clearfix;
128
117
  }
129
118
 
130
- .footer-col {
119
+ .site-footer__column {
131
120
  float: left;
132
121
  margin-bottom: calc(variables.$spacing-unit / 2);
133
122
  padding-left: calc(variables.$spacing-unit / 2);
134
123
  }
135
124
 
136
- .footer-col-1,
137
- .footer-col-2,
138
- .footer-col-3 {
125
+ .site-footer__column--contact,
126
+ .site-footer__column--follow,
127
+ .site-footer__column--meta {
139
128
  width: -webkit-calc(33% - (#{variables.$spacing-unit} / 2));
140
129
  width: calc(33% - (variables.$spacing-unit / 2));
141
130
  }
142
131
 
143
- .follow-links > .social-link {
132
+ .site-footer__links--follow > .site-footer__item {
144
133
  flex: 0 50%;
145
134
  }
146
135
 
147
- .powered-by {
136
+ .site-footer__powered-by {
148
137
  text-align: end;
149
138
  font-size: 13px !important;
150
139
  color: variables.$color-grey;
151
140
  }
152
141
 
153
142
  @include mixins.media-query(variables.$on-mobile) {
154
- .footer-col {
143
+ .site-footer__column {
155
144
  float: none;
156
145
  width: 100%;
157
146
  }
158
147
 
159
- .powered-by {
148
+ .site-footer__powered-by {
160
149
  text-align: start;
161
150
  }
162
151
  }
data/_sass/_mixins.scss CHANGED
@@ -2,4 +2,10 @@
2
2
  @media screen and (max-width: $device) {
3
3
  @content;
4
4
  }
5
+ }
6
+
7
+ @mixin image-frame {
8
+ border: 1px solid #ccc;
9
+ border-radius: 4px;
10
+ overflow: hidden;
5
11
  }
@@ -1,12 +1,12 @@
1
- .not-found-container {
1
+ .not-found {
2
2
  margin: 10px auto;
3
3
  max-width: 600px;
4
4
  text-align: center;
5
- }
6
5
 
7
- h1.not-found-title {
8
- margin: 30px 0;
9
- font-size: 4em;
10
- line-height: 1;
11
- letter-spacing: -1px;
6
+ &__title {
7
+ margin: 30px 0;
8
+ font-size: 4em;
9
+ line-height: 1;
10
+ letter-spacing: -1px;
11
+ }
12
12
  }
data/_sass/_post.scss CHANGED
@@ -1,23 +1,23 @@
1
1
  @use "variables" as variables;
2
2
  @use "mixins" as mixins;
3
3
 
4
- .post-header {
4
+ .post__header {
5
5
  margin-bottom: variables.$spacing-unit;
6
6
  }
7
7
 
8
- .post-title {
8
+ .post__title {
9
9
  font-size: 40px;
10
10
  letter-spacing: -1px;
11
11
  line-height: 1.2;
12
12
 
13
- font-family: variables.$base-font-family;
13
+ font-family: variables.$heading-font-family;
14
14
 
15
15
  @include mixins.media-query(variables.$on-mobile) {
16
16
  font-size: 34px;
17
17
  }
18
18
  }
19
19
 
20
- .post-subtitle {
20
+ .post__subtitle {
21
21
  font-size: 26px;
22
22
  letter-spacing: -1px;
23
23
  line-height: 1;
@@ -32,12 +32,12 @@
32
32
  }
33
33
  }
34
34
 
35
- .post-meta .post-date {
35
+ .post__meta .post__date {
36
36
  text-transform: uppercase;
37
37
  font-size: 120%;
38
38
  }
39
39
 
40
- .post-content {
40
+ .post__content {
41
41
  margin-bottom: variables.$spacing-unit;
42
42
  width: 100%;
43
43
  h2 {
@@ -65,18 +65,17 @@
65
65
  }
66
66
  }
67
67
 
68
- .post-pic {
69
- border: #999 1px solid;
70
- border-radius: 4px;
68
+ .post__image {
69
+ @include mixins.image-frame;
71
70
  }
72
71
 
73
72
  .magnify {
74
73
  cursor: zoom-in;
75
74
  }
76
75
 
77
- .post-languages {
76
+ .post__languages {
78
77
  font-size: 13px;
79
- font-family: Helvetica, sans-serif;
78
+ font-family: variables.$base-font-family;
80
79
  margin-top: 30px;
81
80
  margin-bottom: 20px;
82
81
 
@@ -97,7 +96,7 @@ div.footnotes {
97
96
  text-align: center;
98
97
  padding: 1em;
99
98
  margin-bottom: 2em;
100
- font-family: Helvetica, sans-serif;
99
+ font-family: variables.$base-font-family;
101
100
 
102
101
  border-radius: 5px;
103
102
 
data/_sass/_site.scss CHANGED
@@ -1,11 +1,11 @@
1
1
  @use "variables" as variables;
2
2
  @use "mixins" as mixins;
3
3
 
4
- .profile-pic {
4
+ .home__profile-image {
5
+ @include mixins.image-frame;
6
+
5
7
  float: right;
6
8
  width: 202px;
7
- border: #ccc 1px solid;
8
- border-radius: 3px;
9
9
  margin-left: 20px;
10
10
 
11
11
  @include mixins.media-query(variables.$on-mobile) {
@@ -15,20 +15,20 @@
15
15
  }
16
16
  }
17
17
 
18
- .footer-col {
18
+ .site-footer__column {
19
19
  font-size: 12px;
20
20
 
21
- h4 {
21
+ .site-footer__heading {
22
22
  margin-bottom: 0;
23
23
  margin-top: 0;
24
24
  line-height: 30px;
25
25
  }
26
26
 
27
- .social-links {
27
+ .site-footer__links {
28
28
  display: flex;
29
29
  flex-wrap: wrap;
30
30
 
31
- .social-link {
31
+ .site-footer__item {
32
32
  display: flex;
33
33
  width: 100%;
34
34
  align-items: flex-start;
@@ -36,13 +36,12 @@
36
36
  margin-top: 6.5px;
37
37
  margin-bottom: 10px;
38
38
 
39
- img {
39
+ .site-footer__icon {
40
40
  width: 16px;
41
41
  height: 16px;
42
42
  }
43
43
 
44
- span,
45
- a {
44
+ .site-footer__link {
46
45
  margin-left: 6px;
47
46
  word-break: break-all;
48
47
  }
@@ -55,11 +54,12 @@
55
54
  }
56
55
  }
57
56
 
58
- #wechat-widget {
57
+ .wechat-widget {
59
58
  display: none;
60
59
  position: absolute;
61
60
  background: #fff;
62
61
  border: #ddd 1px solid;
62
+ border-radius: 4px;
63
63
  box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.25);
64
64
 
65
65
  padding: 24px;
@@ -68,13 +68,13 @@
68
68
  p {
69
69
  font-size: 11px;
70
70
  line-height: 16px;
71
- font-family: Helvetica, sans-serif;
71
+ font-family: variables.$base-font-family;
72
72
  width: 170px;
73
73
  margin: 0 auto;
74
74
  margin-bottom: 14px;
75
75
  }
76
76
 
77
- #qr-code {
77
+ &__qr-code {
78
78
  width: 160px;
79
79
  height: 160px;
80
80
  border: none;
@@ -2,7 +2,8 @@
2
2
 
3
3
  $base-url: "" !default;
4
4
 
5
- $base-font-family: Charter, Georgia, Helvetica, Arial, sans-serif;
5
+ $base-font-family: "Liberata", Georgia, "Liberation Serif", Helvetica, Arial, sans-serif;
6
+ $heading-font-family: "Josefin Sans", "Futura", sans-serif;
6
7
  $base-font-size: 14px;
7
8
  $small-font-size: $base-font-size * 0.875;
8
9
  $base-line-height: 1.7;
data/_sass/_work.scss CHANGED
@@ -1,12 +1,236 @@
1
- .work-item {
2
- clear: both;
3
- overflow: hidden;
4
- padding-bottom: 3em;
1
+ @use "variables" as variables;
2
+ @use "mixins" as mixins;
3
+
4
+ .work {
5
+ &__intro {
6
+ color: variables.$color-text;
7
+ margin-bottom: calc(variables.$spacing-unit * 1.5);
8
+
9
+ p {
10
+ margin-bottom: 10px;
11
+ }
12
+
13
+ > :last-child {
14
+ margin-bottom: 0;
15
+ }
16
+ }
17
+
18
+ &__section {
19
+ margin-bottom: calc(variables.$spacing-unit * 2);
20
+
21
+ &:last-child {
22
+ margin-bottom: 0;
23
+ }
24
+ }
25
+
26
+ &__section-heading {
27
+ border-bottom: 1px solid variables.$color-grey-light;
28
+ color: variables.$color-grey-dark;
29
+ font-family: variables.$heading-font-family;
30
+ font-size: 11px;
31
+ letter-spacing: 0.18em;
32
+ margin-bottom: variables.$spacing-unit;
33
+ padding-bottom: 8px;
34
+ text-transform: uppercase;
35
+ }
36
+
37
+ &__date {
38
+ color: variables.$color-grey;
39
+ font-family: variables.$heading-font-family;
40
+ font-size: variables.$small-font-size;
41
+ letter-spacing: normal;
42
+ line-height: 1.9;
43
+ text-transform: none;
44
+ }
45
+
46
+ &__title {
47
+ color: variables.$color-text;
48
+ display: block;
49
+ font-family: variables.$heading-font-family;
50
+ font-size: 15.5px;
51
+ font-weight: 600;
52
+ letter-spacing: 0.01em;
53
+ }
54
+
55
+ &__description {
56
+ color: variables.$color-grey-dark;
57
+ margin-bottom: 14px;
58
+ }
59
+
60
+ &__image {
61
+ @include mixins.image-frame;
62
+
63
+ background-color: variables.$color-background;
64
+
65
+ img {
66
+ display: block;
67
+ height: 100%;
68
+ object-fit: cover;
69
+ width: 100%;
70
+ }
71
+ }
72
+
73
+ &__item--linked {
74
+ cursor: pointer;
75
+ position: relative;
76
+ }
77
+
78
+ &__link {
79
+ color: variables.$color-brand;
80
+ font-family: variables.$base-font-family;
81
+ font-size: 12.5px;
82
+ letter-spacing: 0.03em;
83
+ text-transform: none;
84
+
85
+ &:hover {
86
+ color: variables.$color-brand;
87
+ }
88
+ }
89
+
90
+ &__link-arrow {
91
+ display: inline-block;
92
+ transition: transform 0.2s ease;
93
+ }
94
+
95
+ &__link::after {
96
+ content: "";
97
+ inset: 0;
98
+ position: absolute;
99
+ }
100
+
101
+ &__link:focus-visible {
102
+ outline: none;
103
+
104
+ &::after {
105
+ border-radius: 4px;
106
+ outline: 2px solid variables.$color-brand;
107
+ outline-offset: 3px;
108
+ }
109
+ }
5
110
  }
6
111
 
7
- .work-bubble {
8
- float: left;
9
- padding-right: 20px;
10
- width: 100px;
11
- height: 100px;
112
+ .work--timeline {
113
+ .work__item {
114
+ border-bottom: 1px solid variables.$color-grey-light;
115
+ display: grid;
116
+ gap: calc(variables.$spacing-unit * 0.8);
117
+ grid-template-columns: 90px 1fr;
118
+ margin-bottom: calc(variables.$spacing-unit * 1.5);
119
+ padding-bottom: calc(variables.$spacing-unit * 1.5);
120
+
121
+ &:last-child {
122
+ border-bottom: 0;
123
+ margin-bottom: 0;
124
+ padding-bottom: 0;
125
+ }
126
+ }
127
+
128
+ .work__date {
129
+ padding-top: 2px;
130
+ }
131
+
132
+ .work__title {
133
+ margin-bottom: 4px;
134
+ }
135
+
136
+ .work__image {
137
+ aspect-ratio: 16 / 9;
138
+ margin-top: 18px;
139
+ }
140
+ }
141
+
142
+ .work--editorial {
143
+ .work__section-heading {
144
+ border-bottom: 0;
145
+ margin-bottom: calc(variables.$spacing-unit * 1.2);
146
+ padding-bottom: 0;
147
+ }
148
+
149
+ .work__item {
150
+ display: grid;
151
+ gap: calc(variables.$spacing-unit * 0.8);
152
+ grid-template-columns: 1fr;
153
+ margin-bottom: calc(variables.$spacing-unit * 1.8);
154
+ padding-top: variables.$spacing-unit;
155
+ position: relative;
156
+
157
+ &--has-image {
158
+ grid-template-columns: 1fr 1.6fr;
159
+ }
160
+
161
+ &::before {
162
+ background: variables.$color-text;
163
+ content: "";
164
+ height: 1px;
165
+ left: 0;
166
+ position: absolute;
167
+ top: variables.$spacing-unit;
168
+ width: 24px;
169
+ }
170
+
171
+ &:last-child {
172
+ margin-bottom: 0;
173
+ }
174
+ }
175
+
176
+ .work__meta {
177
+ padding-top: 16px;
178
+ }
179
+
180
+ .work__title {
181
+ margin-bottom: 8px;
182
+ }
183
+
184
+ .work__footer {
185
+ align-items: center;
186
+ color: variables.$color-grey;
187
+ display: flex;
188
+ font-family: variables.$heading-font-family;
189
+ font-size: 10.5px;
190
+ gap: 10px;
191
+ letter-spacing: 0.12em;
192
+ text-transform: uppercase;
193
+
194
+ .work__footer-dot {
195
+ background: variables.$color-grey;
196
+ border-radius: 50%;
197
+ display: inline-block;
198
+ height: 3px;
199
+ width: 3px;
200
+ }
201
+
202
+ }
203
+
204
+ .work__image {
205
+ aspect-ratio: 4 / 3;
206
+ }
207
+ }
208
+
209
+ .work__item--linked:hover .work__link,
210
+ .work__item--linked:focus-within .work__link {
211
+ text-decoration: underline;
212
+ text-underline-offset: 2px;
213
+ }
214
+
215
+ .work__item--linked:hover .work__link-arrow,
216
+ .work__item--linked:focus-within .work__link-arrow {
217
+ transform: translateX(3px);
218
+ }
219
+
220
+ @media screen and (max-width: 620px) {
221
+ .work--timeline,
222
+ .work--editorial {
223
+ .work__item,
224
+ .work__item--has-image {
225
+ grid-template-columns: 1fr;
226
+ }
227
+ }
228
+
229
+ .work--timeline .work__date {
230
+ margin-bottom: 4px;
231
+ }
232
+
233
+ .work--editorial .work__item::before {
234
+ width: 18px;
235
+ }
12
236
  }
data/assets/css/main.scss CHANGED
@@ -13,6 +13,7 @@
13
13
  @use "base";
14
14
  @use "layout";
15
15
  @use "site";
16
+ @use "collection";
16
17
  @use "work";
17
18
  @use "blog";
18
19
  @use "post";
data/assets/js/site.js CHANGED
@@ -1,8 +1,9 @@
1
1
  /**
2
2
  * Menu
3
3
  */
4
- $("a.menu-icon").on("click", function(event) {
5
- var w = $(".menu");
4
+ $('[data-js="menu-toggle"]').on("click", function(event) {
5
+ event.preventDefault();
6
+ var w = $('[data-js="menu"]');
6
7
 
7
8
  w.css({
8
9
  display: (w.css("display") === "none")
@@ -15,14 +16,14 @@ $("a.menu-icon").on("click", function(event) {
15
16
  * Footer year
16
17
  */
17
18
  $(document).ready(function() {
18
- $("#year").text(new Date().getFullYear());
19
+ $('[data-js="footer-year"]').text(new Date().getFullYear());
19
20
  });
20
21
 
21
22
  /**
22
23
  * Footer email
23
24
  */
24
25
  $(document).ready(function() {
25
- $(".email-link-cloaked").on("click", function(event) {
26
+ $('[data-js="email-link-cloaked"]').on("click", function(event) {
26
27
  const _link = event.target;
27
28
 
28
29
  const _user = reverseString(_link.getAttribute("data-resu"));
@@ -44,7 +45,7 @@ function reverseString(str) {
44
45
  * Moves WeChat widget
45
46
  */
46
47
  function moveWidget(event) {
47
- var w = $("#wechat-widget");
48
+ var w = $('[data-js="wechat-widget"]');
48
49
 
49
50
  w.css({
50
51
  left: event.pageX - 25,
@@ -52,16 +53,16 @@ function moveWidget(event) {
52
53
  });
53
54
  }
54
55
 
55
- $("a#wechat-link").on("mouseenter", function(event) {
56
- $("#wechat-widget").css({ display: "block" });
56
+ $('[data-js="wechat-link"]').on("mouseenter", function(event) {
57
+ $('[data-js="wechat-widget"]').css({ display: "block" });
57
58
 
58
59
  moveWidget(event);
59
60
  });
60
61
 
61
- $("a#wechat-link").on("mousemove", function(event) {
62
+ $('[data-js="wechat-link"]').on("mousemove", function(event) {
62
63
  moveWidget(event);
63
64
  });
64
65
 
65
- $("a#wechat-link").on("mouseleave", function(event) {
66
- $("#wechat-widget").css({ display: "none" });
66
+ $('[data-js="wechat-link"]').on("mouseleave", function(event) {
67
+ $('[data-js="wechat-widget"]').css({ display: "none" });
67
68
  });
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bay_jekyll_theme
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.5
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eliott Vincent
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-05-08 00:00:00.000000000 Z
11
+ date: 2026-11-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -53,14 +53,19 @@ files:
53
53
  - _includes/footer.html
54
54
  - _includes/head.html
55
55
  - _includes/header.html
56
+ - _includes/helpers/resolve-url.html
56
57
  - _includes/wechat-widget.html
58
+ - _includes/work/editorial.html
59
+ - _includes/work/timeline.html
57
60
  - _layouts/blog.html
61
+ - _layouts/collection.html
58
62
  - _layouts/default.html
59
63
  - _layouts/home.html
60
64
  - _layouts/post.html
61
65
  - _layouts/work.html
62
66
  - _sass/_base.scss
63
67
  - _sass/_blog.scss
68
+ - _sass/_collection.scss
64
69
  - _sass/_extends.scss
65
70
  - _sass/_layout.scss
66
71
  - _sass/_mixins.scss
@@ -70,7 +75,9 @@ files:
70
75
  - _sass/_variables.scss
71
76
  - _sass/_work.scss
72
77
  - assets/css/main.scss
73
- - assets/img/content/post-example/Banner.jpg
78
+ - assets/img/collection/sand.png
79
+ - assets/img/collection/water.png
80
+ - assets/img/content/post-example/banner.jpg
74
81
  - assets/img/icons/dribbble.png
75
82
  - assets/img/icons/email.png
76
83
  - assets/img/icons/facebook.png
@@ -86,8 +93,10 @@ files:
86
93
  - assets/img/profile-pic.jpg
87
94
  - assets/img/title.png
88
95
  - assets/img/wechat-qr-code.png
89
- - assets/img/work/sand.png
90
- - assets/img/work/water.png
96
+ - assets/img/work/experiment-1/banner.jpg
97
+ - assets/img/work/side-project-1/banner.jpg
98
+ - assets/img/work/work-item-1/banner.jpg
99
+ - assets/img/work/work-item-2/banner.jpg
91
100
  - assets/js/site.js
92
101
  - assets/js/vendor/cash-4.1.5.min.js
93
102
  homepage: https://github.com/eliottvincent/bay
File without changes
File without changes