jekyll-theme-bean 1.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.
@@ -0,0 +1,376 @@
1
+ .container {
2
+ margin: 0 auto;
3
+ padding-left: calc(var(--spacing-unit) / 2);
4
+ padding-right: calc(var(--spacing-unit) / 2);
5
+ width: 100%;
6
+ max-width: 110rem;
7
+ }
8
+
9
+ .screen-reader-text {
10
+ position: absolute;
11
+ width: 1px;
12
+ height: 1px;
13
+ padding: 0;
14
+ margin: -1px;
15
+ overflow: hidden;
16
+ clip: rect(0, 0, 0, 0);
17
+ white-space: nowrap;
18
+ border-width: 0;
19
+ }
20
+
21
+ .site {
22
+ min-height: 100vh;
23
+ display: flex;
24
+ flex-flow: column nowrap;
25
+ }
26
+
27
+ /*
28
+ Site Header
29
+ */
30
+
31
+ .site-header {
32
+ background: var(--background-header);
33
+ flex-shrink: 0;
34
+ padding-top: var(--spacing-unit);
35
+ padding-bottom: var(--spacing-unit);
36
+ }
37
+
38
+ .site-header .container {
39
+ display: flex;
40
+ gap: var(--spacing-unit);
41
+ flex-flow: column nowrap;
42
+ justify-content: center;
43
+ align-items: center;
44
+ }
45
+
46
+ @media screen and (min-width: 960px) {
47
+ .site-header .container {
48
+ flex-flow: row nowrap;
49
+ align-items: center;
50
+ justify-content: space-between;
51
+ }
52
+ }
53
+
54
+ .site-header .site-title {
55
+ display: inline-block;
56
+ font-weight: 700;
57
+ font-size: 3.2rem;
58
+ line-height: 1.2;
59
+ margin: 0;
60
+ }
61
+
62
+ .site-header .site-title a {
63
+ display: block;
64
+ color: var(--color-text);
65
+ }
66
+
67
+ .site-header .site-logo {
68
+ height: auto;
69
+ max-height: 3.2rem;
70
+ max-width: 30rem;
71
+ background: none;
72
+ box-shadow: none;
73
+ border-radius: 0;
74
+ opacity: 1;
75
+ }
76
+
77
+ @media screen and (prefers-color-scheme: dark) {
78
+ .site-header .site-logo {
79
+ filter: invert(1) hue-rotate(180deg);
80
+ }
81
+ }
82
+
83
+ /* Site Menu */
84
+ .main-menu {
85
+ display: flex;
86
+ flex-flow: row nowrap;
87
+ gap: calc(var(--spacing-unit) / 2);
88
+ }
89
+
90
+ @media screen and (max-width: 959px) {
91
+ .main-menu {
92
+ justify-content: flex-start;
93
+ margin-left: calc(var(--spacing-unit) * -1.5);
94
+ margin-right: calc(var(--spacing-unit) * -1.5);
95
+ padding-bottom: calc(var(--spacing-unit) / 2);
96
+ max-width: 100vw;
97
+ overflow-x: auto;
98
+ scrollbar-width: thin;
99
+ -webkit-overflow-scrolling: touch;
100
+ -ms-overflow-style: -ms-autohiding-scrollbar;
101
+ }
102
+
103
+ .main-menu::before,
104
+ .main-menu::after {
105
+ content: " ";
106
+ display: block;
107
+ padding: calc(var(--spacing-unit) / 2);
108
+ }
109
+
110
+ .main-menu::before {
111
+ margin-left: auto;
112
+ }
113
+
114
+ .main-menu::after {
115
+ margin-right: auto;
116
+ }
117
+ }
118
+
119
+ .main-menu:last-child::after {
120
+ margin-right: auto;
121
+ }
122
+
123
+ .main-menu .menu-item {
124
+ --item-color: var(--color-text);
125
+ background: var(--item-color);
126
+ }
127
+
128
+ .menu-item {
129
+ background: var(--color-accent);
130
+ border-radius: 2.5em;
131
+ color: var(--background-body);
132
+ display: inline-block;
133
+ font-size: var(--small-font-size);
134
+ font-weight: 700;
135
+ line-height: 1;
136
+ padding: calc(var(--spacing-unit) / 4) calc(var(--spacing-unit) / 2);
137
+ text-transform: uppercase;
138
+ text-decoration: none;
139
+ transition: all 160ms ease;
140
+ }
141
+
142
+ .menu-item:hover,
143
+ .menu-item:focus {
144
+ background: var(--color-accent-alt);
145
+ }
146
+
147
+ .menu-item:active {
148
+ background: var(--color-accent-alt);
149
+ box-shadow: 0 0 0 .25rem var(--color-shadows);
150
+ color: var(--background-body);
151
+ }
152
+
153
+ /*
154
+ Site Footer
155
+ */
156
+
157
+ .site-footer {
158
+ background: var(--background-footer);
159
+ flex-shrink: 0;
160
+ font-size: var(--small-font-size);
161
+ padding-top: calc(var(--spacing-unit) * 2);
162
+ padding-bottom: calc(var(--spacing-unit) * 2);
163
+ }
164
+
165
+ .site-footer .container {
166
+ display: flex;
167
+ flex-flow: column nowrap;
168
+ gap: var(--spacing-unit);
169
+ align-items: center;
170
+ text-align: center;
171
+ }
172
+
173
+ @media screen and (min-width: 960px) {
174
+ .site-footer .container {
175
+ align-items: flex-start;
176
+ flex-flow: row nowrap;
177
+ justify-content: space-between;
178
+ text-align: left;
179
+ }
180
+ }
181
+
182
+ .site-footer .footer-menu {
183
+ display: flex;
184
+ flex-flow: row wrap;
185
+ gap: var(--spacing-unit);
186
+ font-size: 1.2rem;
187
+ font-weight: 700;
188
+ line-height: 1;
189
+ text-transform: uppercase;
190
+ }
191
+
192
+ @media screen and (min-width: 960px) {
193
+ .site-footer .footer-menu {
194
+ gap: calc(var(--spacing-unit) / 2);
195
+ align-items: flex-end;
196
+ flex-flow: column nowrap;
197
+ text-align: right;
198
+ }
199
+ }
200
+
201
+ .site-footer .site-title,
202
+ .site-footer p {
203
+ margin-bottom: 0;
204
+ }
205
+
206
+ .site-footer .site-title {
207
+ font-size: var(--small-font-size);
208
+ font-weight: bold;
209
+ letter-spacing: 0.05em;
210
+ text-transform: uppercase;
211
+ }
212
+
213
+ /*
214
+ Site Content
215
+ */
216
+
217
+ .site-content {
218
+ flex-grow: 1;
219
+ position: relative;
220
+ z-index: 2;
221
+ background: var(--background-body);
222
+ box-shadow: 0 0 0 1rem var(--color-shadows);
223
+ min-height: 100px;
224
+ }
225
+
226
+ .site-content .container {
227
+ display: grid;
228
+ flex-flow: column nowrap;
229
+ gap: calc(var(--spacing-unit) * 3);
230
+ grid-template-columns: 100%;
231
+ grid-template-areas:
232
+ "content"
233
+ "sidebar"
234
+ ;
235
+ padding-top: var(--spacing-unit);
236
+ padding-bottom: var(--spacing-unit);
237
+ }
238
+
239
+ @media screen and (min-width: 690px) {
240
+ .site-content .container {
241
+ grid-template-columns: 1fr 1fr 1fr;
242
+ grid-template-areas:
243
+ "content content sidebar";
244
+ }
245
+ }
246
+
247
+ .blog-posts {
248
+ grid-area: content;
249
+ }
250
+
251
+ .sidebar {
252
+ grid-area: sidebar;
253
+ }
254
+
255
+ /*
256
+ Blog
257
+ */
258
+
259
+ .archive-title {
260
+ margin-bottom: calc(var(--spacing-unit) * 2);
261
+ }
262
+
263
+ /* Pagination */
264
+ .blog-pagination {
265
+ margin-top: calc(var(--spacing-unit) * 2);
266
+ margin-bottom: var(--spacing-unit);
267
+ }
268
+
269
+ .blog-pagination .pagination-links {
270
+ display: flex;
271
+ flex-flow: row wrap;
272
+ align-items: center;
273
+ justify-content: center;
274
+ gap: var(--spacing-unit);
275
+ }
276
+
277
+ .pagination-links a {
278
+ display: inline-block;
279
+ flex-shrink: 1;
280
+ flex-grow: 0;
281
+ text-align: center;
282
+ }
283
+
284
+ /* Sidebar */
285
+
286
+ .sidebar {
287
+ display: flex;
288
+ flex-flow: row wrap;
289
+ align-self: flex-start;
290
+ gap: var(--spacing-unit);
291
+ }
292
+
293
+ .sidebar-widget {
294
+ font-size: var(--small-font-size);
295
+ flex-shrink: 0;
296
+ flex-grow: 0;
297
+ flex-basis: 20rem;
298
+ }
299
+
300
+ .sidebar-widget .widget-title {
301
+ font-size: var(--base-font-size);
302
+ text-transform: uppercase;
303
+ letter-spacing: 0.05em;
304
+ }
305
+
306
+ .sidebar-widget .widget-content ul,
307
+ .sidebar-widget .widget-content ol,
308
+ .sidebar-widget .widget-content dl {
309
+ margin-left: 0;
310
+ }
311
+
312
+ /*
313
+ The Post
314
+ */
315
+ .post:not(:last-of-type) {
316
+ margin-bottom: calc(var(--spacing-unit) * 2);
317
+ }
318
+
319
+ /* Post Header */
320
+ .post .post-header {
321
+ margin-bottom: calc(var(--spacing-unit) / 2);
322
+ }
323
+
324
+ .post-header .post-meta {
325
+ display: flex;
326
+ flex-flow: row wrap;
327
+ gap: calc(var(--spacing-unit) / 2);
328
+ margin-bottom: calc(var(--spacing-unit) / 2);
329
+ }
330
+
331
+ .post .post-title {
332
+ font-weight: normal;
333
+ margin-bottom: 0;
334
+ font-size: clamp(2.2rem, 2.75vw, 2.8rem);
335
+ }
336
+
337
+ .post .post-title a {
338
+ color: var(--color-text);
339
+ }
340
+
341
+ /* Post Footer */
342
+ .post-footer {
343
+ margin-top: calc(var(--spacing-unit) / 2);
344
+ }
345
+
346
+ .post-footer .post-tags {
347
+ display: flex;
348
+ flex-flow: row wrap;
349
+ list-style: none;
350
+ gap: calc(var(--spacing-unit) / 2);
351
+ }
352
+
353
+ .post-tags a {
354
+ text-decoration-color: currentcolor;
355
+ }
356
+
357
+ .post-footer p,
358
+ .post-footer ul {
359
+ margin: 0;
360
+ }
361
+
362
+ /* Post Meta */
363
+ .post .post-meta {
364
+ font-size: var(--small-font-size);
365
+ color: var(--color-details);
366
+ }
367
+
368
+ .post .post-meta a {
369
+ color: currentcolor;
370
+ text-decoration: underline;
371
+ }
372
+
373
+ .post .post-meta a:hover,
374
+ .post .post-meta a:focus {
375
+ color: var(--color-accent-alt);
376
+ }
@@ -0,0 +1,67 @@
1
+ /* Theme Defaults */
2
+ :root {
3
+ /* Sizing */
4
+ --base-font-size: clamp(1.6rem, 2vw, 1.9rem);
5
+ --small-font-size: clamp(1.2rem, 1.5vw, 1.4rem);
6
+ --spacing-unit: var(--base-font-size);
7
+
8
+ /* Typography */
9
+ --main-font-family: "IBM Plex Sans", system-ui, sans-serif;
10
+ --head-font-family: var(--main-font-family);
11
+ --code-font-family: "IBM Plex Mono", Monaco, Consolas, "DejaVu Sans Mono", ui-monospace, monospace;
12
+
13
+ /* Backgrounds */
14
+ --background-body: rgb(255, 255, 255);
15
+ --background-header: rgb(1, 157, 224);
16
+ --background-footer: rgb(255, 241, 6);
17
+
18
+ /* Colors */
19
+ --color-text: rgb(1, 0, 0);
20
+ --color-shadows: rgba(1, 0, 0, 0.25);
21
+ --color-details: rgb(149, 149, 153);
22
+ --color-accent: rgb(1, 157, 224);
23
+ --color-accent-alt: rgb(255, 0, 24);
24
+
25
+ /* Defaults */
26
+ --border: 0.1rem solid var(--color-details);
27
+ --radius: 0.5rem;
28
+ --shadow: 0 0 0.5rem var(--color-details);
29
+ }
30
+
31
+ @media screen and (prefers-color-scheme: dark) {
32
+ :root {
33
+ /* Backgrounds */
34
+ --background-body: rgb(0, 0, 13);
35
+ --background-header: rgb(216, 35, 42);
36
+ --background-footer: rgb(199, 214, 51);
37
+
38
+ /* Colors */
39
+ --color-text: rgb(255, 255, 255);
40
+ --color-shadows: rgba(255, 255, 255, 0.25);
41
+ --color-details: rgb(234, 238, 241);
42
+ --color-accent: rgb(255, 241, 6);
43
+ --color-accent-alt: rgb(235, 140, 45);
44
+ }
45
+ }
46
+
47
+ /* Basic resets */
48
+ html {
49
+ box-sizing: border-box;
50
+ font-family: var(--main-font-family);
51
+ font-size: 62.5%;
52
+ }
53
+
54
+ *,
55
+ *::before,
56
+ *::after {
57
+ box-sizing: inherit;
58
+ }
59
+
60
+ html, body,
61
+ p, ul, ol, dl,
62
+ table, pre, blockquote,
63
+ iframe, audio, video, figure,
64
+ h1, h2, h3, h4, h5, h6 {
65
+ margin: 0;
66
+ padding: 0;
67
+ }
@@ -0,0 +1,44 @@
1
+ /*
2
+ Theme
3
+ You can copy these variables and replace its values to your own liking.
4
+ */
5
+
6
+ :root {
7
+ /* Sizing */
8
+ /* --base-font-size: clamp(1.6rem, 2vw, 1.9rem); */
9
+ /* --small-font-size: clamp(1.4rem, 1.7vw + 0.5rem, 1.5rem); */
10
+ /* --spacing-unit: var(--base-font-size); */
11
+
12
+ /* Typography */
13
+ /* --main-font-family: "IBM Plex Sans", system-ui, sans-serif; */
14
+ /* --head-font-family: var(--main-font-family); */
15
+ /* --code-font-family: "IBM Plex Mono", Monaco, Consolas, "DejaVu Sans Mono", ui-monospace, monospace; */
16
+
17
+ /* Backgrounds */
18
+ /* --background-body: rgb(255, 255, 255); */
19
+ /* --background-header: rgb(1, 157, 224); */
20
+ /* --background-footer: rgb(255, 241, 6); */
21
+
22
+ /* Colors */
23
+ /* --color-text: rgb(1, 0, 0); */
24
+ /* --color-shadows: rgba(1, 0, 0, 0.25); */
25
+ /* --color-details: rgb(149, 149, 153); */
26
+ /* --color-accent: rgb(1, 157, 224); */
27
+ /* --color-accent-alt: rgb(255, 0, 24); */
28
+ }
29
+
30
+ @media screen and (prefers-color-scheme: dark) {
31
+ :root {
32
+ /* Backgrounds */
33
+ /* --background-body: rgb(0, 0, 13); */
34
+ /* --background-header: rgb(216, 35, 42); */
35
+ /* --background-footer: rgb(199, 214, 51); */
36
+
37
+ /* Colors */
38
+ /* --color-text: rgb(255, 255, 255); */
39
+ /* --color-shadows: rgba(255, 255, 255, 0.25); */
40
+ /* --color-details: rgb(234, 238, 241); */
41
+ /* --color-accent: rgb(255, 241, 6); */
42
+ /* --color-accent-alt: rgb(235, 140, 45); */
43
+ }
44
+ }
Binary file
@@ -0,0 +1,71 @@
1
+ /*
2
+ IBM Plex Sans
3
+ */
4
+
5
+ @font-face {
6
+ font-family: "IBM Plex Sans";
7
+ font-display: swap;
8
+ font-style: normal;
9
+ font-weight: 400;
10
+ src: url("/assets/fonts/plex-sans-400.woff2") format("woff2");
11
+ }
12
+
13
+ @font-face {
14
+ font-family: "IBM Plex Sans";
15
+ font-display: swap;
16
+ font-style: italic;
17
+ font-weight: 400;
18
+ src: url("/assets/fonts/plex-sans-400i.woff2") format("woff2");
19
+ }
20
+
21
+ @font-face {
22
+ font-family: "IBM Plex Sans";
23
+ font-display: swap;
24
+ font-style: normal;
25
+ font-weight: 700;
26
+ src: url("/assets/fonts/plex-sans-700.woff2") format("woff2");
27
+ }
28
+
29
+ @font-face {
30
+ font-family: "IBM Plex Sans";
31
+ font-display: swap;
32
+ font-style: italic;
33
+ font-weight: 700;
34
+ src: url("/assets/fonts/plex-sans-700i.woff2") format("woff2");
35
+ }
36
+
37
+ /*
38
+ IBM Plex Mono
39
+ */
40
+
41
+ @font-face {
42
+ font-family: "IBM Plex Mono";
43
+ font-display: swap;
44
+ font-style: normal;
45
+ font-weight: 400;
46
+ src: url("/assets/fonts/plex-mono-400.woff2") format("woff2");
47
+ }
48
+
49
+ @font-face {
50
+ font-family: "IBM Plex Mono";
51
+ font-display: swap;
52
+ font-style: italic;
53
+ font-weight: 400;
54
+ src: url("/assets/fonts/plex-mono-400i.woff2") format("woff2");
55
+ }
56
+
57
+ @font-face {
58
+ font-family: "IBM Plex Mono";
59
+ font-display: swap;
60
+ font-style: normal;
61
+ font-weight: 700;
62
+ src: url("/assets/fonts/plex-mono-700.woff2") format("woff2");
63
+ }
64
+
65
+ @font-face {
66
+ font-family: "IBM Plex Mono";
67
+ font-display: swap;
68
+ font-style: italic;
69
+ font-weight: 700;
70
+ src: url("/assets/fonts/plex-mono-700i.woff2") format("woff2");
71
+ }
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file