bay_jekyll_theme 1.2.4 → 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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +16 -0
- data/README.md +102 -4
- data/_includes/foot.html +2 -2
- data/_includes/footer.html +20 -18
- data/_includes/head.html +2 -2
- data/_includes/header.html +6 -6
- data/_includes/helpers/resolve-url.html +8 -0
- data/_includes/wechat-widget.html +6 -2
- data/_includes/work/editorial.html +46 -0
- data/_includes/work/timeline.html +41 -0
- data/_layouts/blog.html +3 -3
- data/_layouts/collection.html +36 -0
- data/_layouts/home.html +3 -2
- data/_layouts/post.html +17 -6
- data/_layouts/work.html +17 -17
- data/_sass/_base.scss +1 -1
- data/_sass/_blog.scss +3 -3
- data/_sass/_collection.scss +12 -0
- data/_sass/_layout.scss +15 -26
- data/_sass/_mixins.scss +6 -0
- data/_sass/_not_found.scss +7 -7
- data/_sass/_post.scss +11 -12
- data/_sass/_site.scss +13 -13
- data/_sass/_variables.scss +2 -1
- data/_sass/_work.scss +233 -9
- data/assets/css/main.scss +1 -0
- data/assets/img/work/experiment-1/banner.jpg +0 -0
- data/assets/img/work/side-project-1/banner.jpg +0 -0
- data/assets/img/work/work-item-1/banner.jpg +0 -0
- data/assets/img/work/work-item-2/banner.jpg +0 -0
- data/assets/js/site.js +11 -10
- metadata +14 -5
- /data/assets/img/{work → collection}/sand.png +0 -0
- /data/assets/img/{work → collection}/water.png +0 -0
- /data/assets/img/content/post-example/{Banner.jpg → banner.jpg} +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f4d65a72a7c5ce9e666c26e89b23758fa46d63d1232a2dc615b4a8aacba1e909
|
|
4
|
+
data.tar.gz: e543b4f48413385cbfbfd371403f064db901435af46bbd091513c52e9d99e5c8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9e2a3b566b50d8161da2dba346aa8624591eb042a2e96b9bc747d5e1dfa8243bb04ceb0df8bb3f16c7652febed693d76dd56914f0c76bd84da45f588767ae6af
|
|
7
|
+
data.tar.gz: ecb7d808467a92cc29ddce4e0c565a43fa40a4014cc9f0856c3f78cd7bc64d6dbc283d1b7d71220b37a56e03d31ac21e7284533c344d9d13a675d9701586fcd3
|
data/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
+
### [2.0.0](https://github.com/eliottvincent/bay/compare/v1.2.5...v2.0.0) (2026-11-13)
|
|
6
|
+
|
|
7
|
+
### Breaking Changes
|
|
8
|
+
|
|
9
|
+
- Replace the former `work` layout with `collection`
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
- Add new `work` layout with `timeline` and `editorial` variants
|
|
14
|
+
|
|
15
|
+
### [1.2.5](https://github.com/eliottvincent/bay/compare/v1.2.4...v1.2.5) (2026-05-08)
|
|
16
|
+
|
|
17
|
+
### Improvements
|
|
18
|
+
|
|
19
|
+
- Open links in new tab
|
|
20
|
+
|
|
5
21
|
### [1.2.4](https://github.com/eliottvincent/bay/compare/v1.2.3...v1.2.4) (2026-04-19)
|
|
6
22
|
|
|
7
23
|
### Improvements
|
data/README.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
Bay is a simple theme for Jekyll. [[view live]](https://eliottvincent.github.io/bay)
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Current theme used at [elio.tt](http://elio.tt/).
|
|
9
9
|
|
|
10
10
|

|
|
11
11
|
|
|
@@ -17,9 +17,12 @@ Inspired by [dangrover.com](http://dangrover.com/). Current theme used at [eliot
|
|
|
17
17
|
1. [Header](#header)
|
|
18
18
|
2. [Footer](#footer)
|
|
19
19
|
3. [Home page](#home-page)
|
|
20
|
-
4. [
|
|
21
|
-
5. [
|
|
22
|
-
6. [
|
|
20
|
+
4. [Collection page](#collection-page)
|
|
21
|
+
5. [Work page](#work-page)
|
|
22
|
+
6. [Blog page](#blog-page)
|
|
23
|
+
3. [Migrating from Bay 1.x](#migrating-from-bay-1x)
|
|
24
|
+
4. [GitHub Pages](#github-pages)
|
|
25
|
+
5. [Development instructions](#development)
|
|
23
26
|
|
|
24
27
|
|
|
25
28
|
### Installation
|
|
@@ -132,6 +135,80 @@ profile_picture:
|
|
|
132
135
|
</p>
|
|
133
136
|
```
|
|
134
137
|
|
|
138
|
+
#### Collection page
|
|
139
|
+
|
|
140
|
+
Create `collection.md` to display a simple image-and-text collection:
|
|
141
|
+
|
|
142
|
+
```yml
|
|
143
|
+
---
|
|
144
|
+
layout: collection
|
|
145
|
+
title: Collection
|
|
146
|
+
slug: /collection
|
|
147
|
+
permalink: /collection/
|
|
148
|
+
items:
|
|
149
|
+
- title: Collection item
|
|
150
|
+
image:
|
|
151
|
+
src: /assets/img/collection/example.jpg
|
|
152
|
+
alt: A camera
|
|
153
|
+
description: A short description of the item.
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
This is an optional introduction.
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
#### Work page
|
|
160
|
+
|
|
161
|
+
Create `work.md` with the `work` layout. The `variant` can be `timeline`
|
|
162
|
+
(the default) or `editorial`:
|
|
163
|
+
|
|
164
|
+
```yml
|
|
165
|
+
---
|
|
166
|
+
layout: work
|
|
167
|
+
title: Work
|
|
168
|
+
slug: /work
|
|
169
|
+
permalink: /work/
|
|
170
|
+
variant: timeline
|
|
171
|
+
sections:
|
|
172
|
+
- title: Work
|
|
173
|
+
items:
|
|
174
|
+
- date_from: "2023"
|
|
175
|
+
date_to: Now
|
|
176
|
+
title: Example project
|
|
177
|
+
description: A short description of the project.
|
|
178
|
+
image:
|
|
179
|
+
src: /assets/img/work/example-project/image.jpg
|
|
180
|
+
alt: Example project
|
|
181
|
+
link:
|
|
182
|
+
label: Read more
|
|
183
|
+
url: /work/example-project/
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
A selection of things I have built.
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
Dates render as a range when both `date_from` and `date_to` are present, or
|
|
190
|
+
as a single date when only one is set. Links and images are optional. An image
|
|
191
|
+
is rendered only when `image.src` is supplied, using a 16:9 timeline or 4:3
|
|
192
|
+
editorial frame. Group each project's images under `assets/img/work/<project-slug>/`.
|
|
193
|
+
|
|
194
|
+
When `link` is supplied, its anchor covers the entire item. Items without `link` remain
|
|
195
|
+
noninteractive. Store linked detail pages as regular Markdown pages under
|
|
196
|
+
`work/`:
|
|
197
|
+
|
|
198
|
+
```md
|
|
199
|
+
---
|
|
200
|
+
layout: post
|
|
201
|
+
title: Example project
|
|
202
|
+
permalink: /work/example-project/
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
Detailed project content.
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
This generates `/work/example-project/` without additional `_config.yml`
|
|
209
|
+
setup. Work details use the `post` layout without appearing in the Blog
|
|
210
|
+
listing or feed.
|
|
211
|
+
|
|
135
212
|
#### Blog page
|
|
136
213
|
|
|
137
214
|
```yml
|
|
@@ -149,6 +226,27 @@ This is an example of a "Blog" page, displaying a list of posts.
|
|
|
149
226
|
|
|
150
227
|
Your website is ready!
|
|
151
228
|
|
|
229
|
+
### Migrating from Bay 1.x
|
|
230
|
+
|
|
231
|
+
Bay 2.0 replaces the former `work` layout with `collection` and moves the example
|
|
232
|
+
page from `/work/` to `/collection/`. Update existing pages from
|
|
233
|
+
`layout: work` to `layout: collection`, change their route if needed, and move
|
|
234
|
+
their images from `assets/img/work/` to `assets/img/collection/`.
|
|
235
|
+
|
|
236
|
+
The `work` layout now owns `/work/` and uses the section-based schema shown
|
|
237
|
+
above. The example site exposes both variants alongside the collection:
|
|
238
|
+
|
|
239
|
+
```yml
|
|
240
|
+
header:
|
|
241
|
+
pages:
|
|
242
|
+
- name: Collection
|
|
243
|
+
slug: /collection/
|
|
244
|
+
- name: Work (Timeline)
|
|
245
|
+
slug: /work/
|
|
246
|
+
- name: Work (Editorial)
|
|
247
|
+
slug: /work-editorial/
|
|
248
|
+
```
|
|
249
|
+
|
|
152
250
|
|
|
153
251
|
### GitHub Pages
|
|
154
252
|
|
data/_includes/foot.html
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
<script type="text/javascript" src="{{ "/assets/js/vendor/cash-4.1.5.min.js" |
|
|
2
|
-
<script type="text/javascript" src="{{ "/assets/js/site.js" |
|
|
1
|
+
<script type="text/javascript" src="{{ "/assets/js/vendor/cash-4.1.5.min.js" | relative_url }}"></script>
|
|
2
|
+
<script type="text/javascript" src="{{ "/assets/js/site.js" | relative_url }}"></script>
|
data/_includes/footer.html
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
<footer class="site-footer">
|
|
2
2
|
<div class="wrapper">
|
|
3
|
-
<div class="
|
|
4
|
-
<div class="
|
|
5
|
-
<h4>CONTACT</h4>
|
|
3
|
+
<div class="site-footer__wrapper">
|
|
4
|
+
<div class="site-footer__column site-footer__column--contact">
|
|
5
|
+
<h4 class="site-footer__heading">CONTACT</h4>
|
|
6
6
|
|
|
7
|
-
<div class="
|
|
7
|
+
<div class="site-footer__links site-footer__links--contact">
|
|
8
8
|
{% for contact in site.footer.contact %}
|
|
9
|
-
<div class="
|
|
9
|
+
<div class="site-footer__item">
|
|
10
10
|
|
|
11
|
-
{% assign contact_icon_path = "/assets/img/icons/" | append: contact.type | downcase | append: ".png" |
|
|
11
|
+
{% assign contact_icon_path = "/assets/img/icons/" | append: contact.type | downcase | append: ".png" | relative_url %}
|
|
12
12
|
<img
|
|
13
|
+
class="site-footer__icon"
|
|
13
14
|
src="{{ contact_icon_path }}"
|
|
14
15
|
alt="{{ contact.type }}"
|
|
15
16
|
/>
|
|
@@ -29,18 +30,18 @@
|
|
|
29
30
|
data-resu="{{ reversed_user }}"
|
|
30
31
|
data-eman-niamod="{{ reversed_domain_name }}"
|
|
31
32
|
data-dlt-niamod="{{ reversed_domain_tld }}"
|
|
32
|
-
|
|
33
|
-
class="link
|
|
33
|
+
data-js="email-link-cloaked"
|
|
34
|
+
class="link site-footer__link"
|
|
34
35
|
>
|
|
35
36
|
{{- contact.name -}}
|
|
36
37
|
</span>
|
|
37
38
|
{% else %}
|
|
38
|
-
<a href="mailto:{{ contact.value }}"
|
|
39
|
+
<a class="site-footer__link" href="mailto:{{ contact.value }}">
|
|
39
40
|
{{- contact.value -}}
|
|
40
41
|
</a>
|
|
41
42
|
{% endif %}
|
|
42
43
|
{% else %}
|
|
43
|
-
<a href="{{ contact.link }}"
|
|
44
|
+
<a class="site-footer__link" href="{{ contact.link }}"{% if contact.type == "wechat" %} data-js="wechat-link"{% endif %}>
|
|
44
45
|
{%- if contact.value and contact.value != "" and contact.value != nil -%}
|
|
45
46
|
{{ contact.value }}
|
|
46
47
|
{%- else -%}
|
|
@@ -54,20 +55,21 @@
|
|
|
54
55
|
</div>
|
|
55
56
|
</div>
|
|
56
57
|
|
|
57
|
-
<div class="
|
|
58
|
+
<div class="site-footer__column site-footer__column--follow">
|
|
58
59
|
{% if site.footer.follow and site.footer.follow.size > 0 %}
|
|
59
|
-
<h4>FOLLOW</h4>
|
|
60
|
+
<h4 class="site-footer__heading">FOLLOW</h4>
|
|
60
61
|
|
|
61
|
-
<div class="
|
|
62
|
+
<div class="site-footer__links site-footer__links--follow">
|
|
62
63
|
{% for follow in site.footer.follow %}
|
|
63
|
-
<div class="
|
|
64
|
+
<div class="site-footer__item">
|
|
64
65
|
|
|
65
|
-
{% assign follow_icon_path = "/assets/img/icons/" | append: follow.name | downcase | append: ".png" |
|
|
66
|
+
{% assign follow_icon_path = "/assets/img/icons/" | append: follow.name | downcase | append: ".png" | relative_url %}
|
|
66
67
|
<img
|
|
68
|
+
class="site-footer__icon"
|
|
67
69
|
src="{{ follow_icon_path }}"
|
|
68
70
|
alt="{{ follow.name | downcase }}"
|
|
69
71
|
/>
|
|
70
|
-
<a href="{{ follow.link }}">
|
|
72
|
+
<a class="site-footer__link" href="{{ follow.link }}" target="_blank" rel="noopener noreferrer">
|
|
71
73
|
{%- if follow.value and follow.value != "" and follow.value != nil -%}
|
|
72
74
|
{{ follow.value }}
|
|
73
75
|
{%- else -%}
|
|
@@ -82,9 +84,9 @@
|
|
|
82
84
|
</div>
|
|
83
85
|
|
|
84
86
|
{% if site.footer.show_powered_by == true %}
|
|
85
|
-
<div class="
|
|
87
|
+
<div class="site-footer__column site-footer__column--meta site-footer__powered-by">
|
|
86
88
|
<p>
|
|
87
|
-
powered by <a href="https://github.com/eliottvincent/bay">Bay</a> | <span
|
|
89
|
+
powered by <a href="https://github.com/eliottvincent/bay" target="_blank" rel="noopener noreferrer">Bay</a> | <span data-js="footer-year"></span>
|
|
88
90
|
</p>
|
|
89
91
|
</div>
|
|
90
92
|
{% endif %}
|
data/_includes/head.html
CHANGED
|
@@ -60,9 +60,9 @@
|
|
|
60
60
|
<meta property="twitter:site" content="{{ twitter_username }}"/>
|
|
61
61
|
{% endif %}
|
|
62
62
|
|
|
63
|
-
<link rel="stylesheet" href="{{ "/assets/css/main.css" |
|
|
63
|
+
<link rel="stylesheet" href="{{ "/assets/css/main.css" | relative_url }}"/>
|
|
64
64
|
<link rel="canonical" href="{{ page_url }}"/>
|
|
65
|
-
<link rel="shortcut icon" href="{{ "/favicon.ico" |
|
|
65
|
+
<link rel="shortcut icon" href="{{ "/favicon.ico" | relative_url }}" type="image/x-icon"/>
|
|
66
66
|
|
|
67
67
|
<!-- Google Analytics -->
|
|
68
68
|
<script>
|
data/_includes/header.html
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
<header class="site-header">
|
|
2
2
|
<div class="wrapper">
|
|
3
|
-
<a class="site-
|
|
4
|
-
<img src="{{ "/assets/img/title.png" |
|
|
3
|
+
<a class="site-header__title" href="{{ "/" | relative_url }}">
|
|
4
|
+
<img src="{{ "/assets/img/title.png" | relative_url }}" alt="{{ site.title }}" />
|
|
5
5
|
</a>
|
|
6
6
|
|
|
7
7
|
<nav class="site-nav">
|
|
8
|
-
<a href="#" class="menu-
|
|
8
|
+
<a href="#" class="site-nav__toggle" data-js="menu-toggle" aria-label="Toggle navigation"></a>
|
|
9
9
|
|
|
10
|
-
<div class="menu">
|
|
10
|
+
<div class="site-nav__menu" data-js="menu">
|
|
11
11
|
{% for page in site.header.pages %}
|
|
12
12
|
{% if page.slug and page.slug != "" and page.slug != nil %}
|
|
13
13
|
{% assign page_link = page.slug %}
|
|
14
14
|
{% else %}
|
|
15
15
|
{% assign page_link = "/" | append: page.name | downcase %}
|
|
16
16
|
{% endif %}
|
|
17
|
-
{% assign page_link = page_link |
|
|
18
|
-
<a class="
|
|
17
|
+
{% assign page_link = page_link | relative_url %}
|
|
18
|
+
<a class="site-nav__link" href="{{ page_link }}">
|
|
19
19
|
{{- page.name -}}
|
|
20
20
|
</a>
|
|
21
21
|
{% endfor %}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{%- assign resolved_url = include.url -%}
|
|
2
|
+
{%- assign resolved_url_prefix = resolved_url | slice: 0, 2 -%}
|
|
3
|
+
{%- assign resolved_url_anchor = resolved_url | slice: 0, 1 -%}
|
|
4
|
+
{%- if resolved_url contains "://" or resolved_url_prefix == "//" or resolved_url_anchor == "#" or resolved_url contains "mailto:" or resolved_url contains "tel:" or resolved_url contains "data:" -%}
|
|
5
|
+
{{- resolved_url -}}
|
|
6
|
+
{%- else -%}
|
|
7
|
+
{{- resolved_url | relative_url -}}
|
|
8
|
+
{%- endif -%}
|
|
@@ -6,11 +6,15 @@
|
|
|
6
6
|
{% endfor %}
|
|
7
7
|
|
|
8
8
|
{% if wechat_username %}
|
|
9
|
-
<div
|
|
9
|
+
<div class="wechat-widget" data-js="wechat-widget">
|
|
10
10
|
<p>
|
|
11
11
|
Find me on WeChat with the ID <strong>{{ wechat_username }}</strong>, or scan my QR code:
|
|
12
12
|
</p>
|
|
13
13
|
|
|
14
|
-
<img
|
|
14
|
+
<img
|
|
15
|
+
class="wechat-widget__qr-code"
|
|
16
|
+
src="{{ "/assets/img/wechat-qr-code.png" | relative_url }}"
|
|
17
|
+
alt="QR code"
|
|
18
|
+
/>
|
|
15
19
|
</div>
|
|
16
20
|
{% endif %}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{% for section in include.sections %}
|
|
2
|
+
<section class="work__section">
|
|
3
|
+
<h2 class="work__section-heading">{{ section.title | escape }}</h2>
|
|
4
|
+
|
|
5
|
+
{% for item in section.items %}
|
|
6
|
+
<article class="work__item{% if item.image.src %} work__item--has-image{% endif %}{% if item.link %} work__item--linked{% endif %}">
|
|
7
|
+
<div class="work__meta">
|
|
8
|
+
<h3 class="work__title">{{ item.title | escape }}</h3>
|
|
9
|
+
<p class="work__description">{{ item.description | escape }}</p>
|
|
10
|
+
|
|
11
|
+
{% if item.date_from or item.date_to or item.link %}
|
|
12
|
+
<div class="work__footer">
|
|
13
|
+
{% if item.date_from and item.date_to %}
|
|
14
|
+
<span class="work__date">{{ item.date_from | escape }} – {{ item.date_to | escape }}</span>
|
|
15
|
+
{% elsif item.date_from %}
|
|
16
|
+
<span class="work__date">{{ item.date_from | escape }}</span>
|
|
17
|
+
{% elsif item.date_to %}
|
|
18
|
+
<span class="work__date">{{ item.date_to | escape }}</span>
|
|
19
|
+
{% endif %}
|
|
20
|
+
|
|
21
|
+
{% if item.link %}
|
|
22
|
+
{% if item.date_from or item.date_to %}
|
|
23
|
+
<span class="work__footer-dot" aria-hidden="true"></span>
|
|
24
|
+
{% endif %}
|
|
25
|
+
{% capture work_link_url %}{% include helpers/resolve-url.html url=item.link.url %}{% endcapture %}
|
|
26
|
+
<a class="work__link" href="{{ work_link_url | strip | escape }}">
|
|
27
|
+
{{ item.link.label | escape }} <span class="work__link-arrow" aria-hidden="true">→</span>
|
|
28
|
+
</a>
|
|
29
|
+
{% endif %}
|
|
30
|
+
</div>
|
|
31
|
+
{% endif %}
|
|
32
|
+
</div>
|
|
33
|
+
|
|
34
|
+
{% if item.image.src %}
|
|
35
|
+
{% capture work_image_url %}{% include helpers/resolve-url.html url=item.image.src %}{% endcapture %}
|
|
36
|
+
<div class="work__image">
|
|
37
|
+
<img
|
|
38
|
+
src="{{ work_image_url | strip | escape }}"
|
|
39
|
+
alt="{{ item.image.alt | default: item.title | escape }}"
|
|
40
|
+
/>
|
|
41
|
+
</div>
|
|
42
|
+
{% endif %}
|
|
43
|
+
</article>
|
|
44
|
+
{% endfor %}
|
|
45
|
+
</section>
|
|
46
|
+
{% endfor %}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{% for section in include.sections %}
|
|
2
|
+
<section class="work__section">
|
|
3
|
+
<h2 class="work__section-heading">{{ section.title | escape }}</h2>
|
|
4
|
+
|
|
5
|
+
{% for item in section.items %}
|
|
6
|
+
<article class="work__item{% if item.link %} work__item--linked{% endif %}">
|
|
7
|
+
<div class="work__date">
|
|
8
|
+
{% if item.date_from and item.date_to %}
|
|
9
|
+
{{ item.date_from | escape }} – {{ item.date_to | escape }}
|
|
10
|
+
{% elsif item.date_from %}
|
|
11
|
+
{{ item.date_from | escape }}
|
|
12
|
+
{% elsif item.date_to %}
|
|
13
|
+
{{ item.date_to | escape }}
|
|
14
|
+
{% endif %}
|
|
15
|
+
</div>
|
|
16
|
+
|
|
17
|
+
<div class="work__body">
|
|
18
|
+
<h3 class="work__title">{{ item.title | escape }}</h3>
|
|
19
|
+
<p class="work__description">{{ item.description | escape }}</p>
|
|
20
|
+
|
|
21
|
+
{% if item.link %}
|
|
22
|
+
{% capture work_link_url %}{% include helpers/resolve-url.html url=item.link.url %}{% endcapture %}
|
|
23
|
+
<a class="work__link" href="{{ work_link_url | strip | escape }}">
|
|
24
|
+
{{ item.link.label | escape }} <span class="work__link-arrow" aria-hidden="true">→</span>
|
|
25
|
+
</a>
|
|
26
|
+
{% endif %}
|
|
27
|
+
|
|
28
|
+
{% if item.image.src %}
|
|
29
|
+
{% capture work_image_url %}{% include helpers/resolve-url.html url=item.image.src %}{% endcapture %}
|
|
30
|
+
<div class="work__image">
|
|
31
|
+
<img
|
|
32
|
+
src="{{ work_image_url | strip | escape }}"
|
|
33
|
+
alt="{{ item.image.alt | default: item.title | escape }}"
|
|
34
|
+
/>
|
|
35
|
+
</div>
|
|
36
|
+
{% endif %}
|
|
37
|
+
</div>
|
|
38
|
+
</article>
|
|
39
|
+
{% endfor %}
|
|
40
|
+
</section>
|
|
41
|
+
{% endfor %}
|
data/_layouts/blog.html
CHANGED
|
@@ -11,11 +11,11 @@
|
|
|
11
11
|
<h1 class="page-heading">{{ page.title }}</h1>
|
|
12
12
|
{{ content }}
|
|
13
13
|
|
|
14
|
-
<p class="
|
|
14
|
+
<p class="blog__post-list">
|
|
15
15
|
{% for post in site.posts %}
|
|
16
16
|
{% if post.draft != true %}
|
|
17
|
-
<span class="
|
|
18
|
-
<a href="{{ post.url | replace:".html","" | prepend: site.baseurl }}" class="
|
|
17
|
+
<span class="blog__post-date">{{ post.date | date: "%-m/%-d/%y" }}</span>
|
|
18
|
+
<a href="{{ post.url | replace:".html","" | prepend: site.baseurl }}" class="blog__post-title">
|
|
19
19
|
{{- post.title -}}
|
|
20
20
|
</a>
|
|
21
21
|
<br />
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
{% include head.html %}
|
|
4
|
+
|
|
5
|
+
<body>
|
|
6
|
+
{% include header.html %}
|
|
7
|
+
|
|
8
|
+
<div class="page-content">
|
|
9
|
+
<div class="wrapper">
|
|
10
|
+
<div class="collection">
|
|
11
|
+
<h1 class="page-heading">{{ page.title }}</h1>
|
|
12
|
+
{{ content }}
|
|
13
|
+
|
|
14
|
+
{% for item in page.items %}
|
|
15
|
+
<div class="collection__item">
|
|
16
|
+
{% capture collection_image_url %}{% include helpers/resolve-url.html url=item.image.src %}{% endcapture %}
|
|
17
|
+
<img
|
|
18
|
+
src="{{ collection_image_url | strip | escape }}"
|
|
19
|
+
alt="{{ item.image.alt }}"
|
|
20
|
+
class="collection__image"
|
|
21
|
+
/>
|
|
22
|
+
<span class="collection__text">
|
|
23
|
+
<strong>{{ item.title }}</strong>
|
|
24
|
+
—
|
|
25
|
+
{{ item.description }}
|
|
26
|
+
</span>
|
|
27
|
+
</div>
|
|
28
|
+
{% endfor %}
|
|
29
|
+
</div>
|
|
30
|
+
</div>
|
|
31
|
+
</div>
|
|
32
|
+
|
|
33
|
+
{% include footer.html %}
|
|
34
|
+
{% include foot.html %}
|
|
35
|
+
</body>
|
|
36
|
+
</html>
|
data/_layouts/home.html
CHANGED
|
@@ -8,10 +8,11 @@
|
|
|
8
8
|
<div class="page-content">
|
|
9
9
|
<div class="wrapper">
|
|
10
10
|
<div class="home">
|
|
11
|
+
{% capture profile_image_url %}{% include helpers/resolve-url.html url=page.profile_picture.src %}{% endcapture %}
|
|
11
12
|
<img
|
|
12
|
-
src="{{
|
|
13
|
+
src="{{ profile_image_url | strip | escape }}"
|
|
13
14
|
alt="{{ page.profile_picture.alt }}"
|
|
14
|
-
class="
|
|
15
|
+
class="home__profile-image"
|
|
15
16
|
/>
|
|
16
17
|
|
|
17
18
|
{{ content }}
|
data/_layouts/post.html
CHANGED
|
@@ -9,13 +9,13 @@
|
|
|
9
9
|
<div class="wrapper">
|
|
10
10
|
<div class="post">
|
|
11
11
|
|
|
12
|
-
<header class="
|
|
12
|
+
<header class="post__header">
|
|
13
13
|
|
|
14
14
|
{% if page.draft %}
|
|
15
15
|
{% include draft-banner.html %}
|
|
16
16
|
{% endif %}
|
|
17
17
|
|
|
18
|
-
<h1 class="
|
|
18
|
+
<h1 class="post__title">
|
|
19
19
|
{% if page.headline_formatted_title %}
|
|
20
20
|
{{ page.headline_formatted_title | newline_to_br }}
|
|
21
21
|
{% else %}
|
|
@@ -23,12 +23,23 @@
|
|
|
23
23
|
{% endif %}
|
|
24
24
|
</h1>
|
|
25
25
|
|
|
26
|
-
{% if page.subtitle %}<h1 class="
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
{% if page.subtitle %}<h1 class="post__subtitle">{{ page.subtitle }}</h1>{% endif %}
|
|
27
|
+
{% if page.date or page.author or page.meta %}
|
|
28
|
+
<p class="post__meta">
|
|
29
|
+
{% if page.date %}
|
|
30
|
+
<span class="post__date">{{ page.date | date: "%B %-d, %Y" }}</span>
|
|
31
|
+
{% endif %}
|
|
32
|
+
{% if page.author %}
|
|
33
|
+
{% if page.date %} • {% endif %}{{ page.author }}
|
|
34
|
+
{% endif %}
|
|
35
|
+
{% if page.meta %}
|
|
36
|
+
{% if page.date or page.author %} • {% endif %}{{ page.meta }}
|
|
37
|
+
{% endif %}
|
|
38
|
+
</p>
|
|
39
|
+
{% endif %}
|
|
29
40
|
</header>
|
|
30
41
|
|
|
31
|
-
<article class="
|
|
42
|
+
<article class="post__content">
|
|
32
43
|
{{ content }}
|
|
33
44
|
</article>
|
|
34
45
|
|
data/_layouts/work.html
CHANGED
|
@@ -7,25 +7,25 @@
|
|
|
7
7
|
|
|
8
8
|
<div class="page-content">
|
|
9
9
|
<div class="wrapper">
|
|
10
|
-
|
|
10
|
+
{% assign work_variant = page.variant | default: "timeline" %}
|
|
11
|
+
{% unless work_variant == "editorial" %}
|
|
12
|
+
{% assign work_variant = "timeline" %}
|
|
13
|
+
{% endunless %}
|
|
14
|
+
|
|
15
|
+
<main class="work work--{{ work_variant }}">
|
|
11
16
|
<h1 class="page-heading">{{ page.title }}</h1>
|
|
12
|
-
{{ content }}
|
|
13
17
|
|
|
14
|
-
{%
|
|
15
|
-
|
|
16
|
-
<
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
</span>
|
|
26
|
-
</div>
|
|
27
|
-
{% endfor %}
|
|
28
|
-
</div>
|
|
18
|
+
{% assign intro = content | strip %}
|
|
19
|
+
{% unless intro == empty %}
|
|
20
|
+
<div class="work__intro">{{ content }}</div>
|
|
21
|
+
{% endunless %}
|
|
22
|
+
|
|
23
|
+
{% if work_variant == "editorial" %}
|
|
24
|
+
{% include work/editorial.html sections=page.sections %}
|
|
25
|
+
{% else %}
|
|
26
|
+
{% include work/timeline.html sections=page.sections %}
|
|
27
|
+
{% endif %}
|
|
28
|
+
</main>
|
|
29
29
|
</div>
|
|
30
30
|
</div>
|
|
31
31
|
|
data/_sass/_base.scss
CHANGED
data/_sass/_blog.scss
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
@use "variables" as variables;
|
|
2
2
|
@use "mixins" as mixins;
|
|
3
3
|
|
|
4
|
-
.
|
|
5
|
-
.
|
|
4
|
+
.blog__post-list {
|
|
5
|
+
.blog__post-date {
|
|
6
6
|
width: 6em;
|
|
7
7
|
color: #777;
|
|
8
8
|
display: block;
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
.
|
|
20
|
+
.blog__post-title {
|
|
21
21
|
font-size: 100%;
|
|
22
22
|
letter-spacing: normal;
|
|
23
23
|
}
|