steve-for-jekyll 0.1.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/steve.scss ADDED
@@ -0,0 +1,51 @@
1
+ /*
2
+ Color Scheme
3
+ */
4
+
5
+ $color__background-content: #fff !default; // posts, pages and sidebar background color.
6
+ $color__background-body: #e4f0f6 !default; // body background color
7
+ $color__text: #000112 !default; // body text color
8
+
9
+ $color__link: #4e9dd8 !default; // color for links and accents
10
+ $color__link-hover: #2361a7 !default; // alternate color for active or focused links and accents
11
+
12
+ $color__details: #939496 !default; // color for details such as borders and shadows
13
+ $color__details-lighter: #f0f1f4 !default; // lighter alternative for details
14
+ $color__details-darker: #6d6e70 !default; // darker alternative for details
15
+
16
+ /*
17
+ Typography
18
+ */
19
+
20
+ $font__body: "Avenir Next", Corbel, "Fira Sans", "Trebuchet MS", Ubuntu, sans-serif !default; // used for the main, body typography
21
+ $font__headings: $font__body !default; // used for headings and feature elements
22
+ $font__code: "Cascadia Code", SFMono-Regular, Menlo, Consolas, "Fira Mono", "DejaVu Sans Mono", monospace !default; // used for pre-formatted text and code.
23
+
24
+
25
+ /*
26
+ Layout
27
+ */
28
+ $layout__container-width: 1180px !default; // the width of the main content (content + sidebar)
29
+ $layout__gutter: 2rem !default; // the spacing unit between elements.
30
+
31
+ :root {
32
+ --color-bg: #{$color__background-content};
33
+ --color-body: #{$color__background-body};
34
+ --color-text: #{$color__text};
35
+
36
+ --color-link: #{$color__link};
37
+ --color-link-hover: #{$color__link-hover};
38
+
39
+ --color-details: #{$color__details};
40
+ --color-details-lighter: #{$color__details-lighter};
41
+ --color-details-darker: #{$color__details-darker};
42
+
43
+ --font: #{$font__body};
44
+ --font-headings: #{$font__headings};
45
+ --font-code: #{$font__code};
46
+
47
+ --container: #{$layout__container-width};
48
+ --gap: #{$layout__gutter};
49
+ }
50
+
51
+ @import "steve/base", "steve/layout", "steve/syntax";
@@ -0,0 +1,248 @@
1
+ /*
2
+ Resets
3
+ */
4
+
5
+ body,
6
+ h1,
7
+ h2,
8
+ h3,
9
+ h4,
10
+ h5,
11
+ h6,
12
+ p,
13
+ blockquote,
14
+ pre,
15
+ hr,
16
+ dl,
17
+ dd,
18
+ ol,
19
+ ul,
20
+ figure {
21
+ margin: 0;
22
+ padding: 0;
23
+ }
24
+
25
+ /*
26
+ Basic styling
27
+ */
28
+
29
+ html {
30
+ font-size: 16px;
31
+
32
+ @media screen and (max-width: 800px) {
33
+ font-size: 14px;
34
+ }
35
+ }
36
+
37
+ body {
38
+ background-color: var(--color-body);
39
+ font-family: var(--font);
40
+ line-height: 1.5;
41
+ }
42
+
43
+ /*
44
+ Text Elements
45
+ */
46
+
47
+ .content-body {
48
+ p,
49
+ pre,
50
+ blockquote,
51
+ dl,
52
+ ul,
53
+ ol,
54
+ figure,
55
+ iframe,
56
+ table {
57
+ margin-bottom: var(--gap);
58
+ }
59
+ }
60
+
61
+ // Links
62
+ a {
63
+ color: var(--color-link);
64
+ text-decoration: none;
65
+ transition: color 250ms ease;
66
+
67
+ &:hover,
68
+ &:focus {
69
+ color: var(--color-link-hover);
70
+ text-decoration: underline;
71
+ }
72
+ }
73
+
74
+ // Lists
75
+ ul, ol {
76
+ margin-left: var(--gap);
77
+ }
78
+
79
+ dl {
80
+ dt + dd {
81
+ margin-bottom: calc(var(--gap) / 2);
82
+ }
83
+
84
+ dt + dd + dt {
85
+ margin-top: calc(var(--gap) / 2);
86
+ }
87
+ }
88
+
89
+ // Headings
90
+ h1,
91
+ h2,
92
+ h3,
93
+ h4,
94
+ h5,
95
+ h6 {
96
+ line-height: 1.2;
97
+ font-family: var(--font-headings);
98
+ }
99
+
100
+ h1 {
101
+ font-size: 2rem;
102
+ }
103
+
104
+ h2 {
105
+ font-size: 1.5rem;
106
+ }
107
+
108
+ h3 {
109
+ font-size: 1.25rem;
110
+ }
111
+
112
+ h4 {
113
+ font-size: 1rem;
114
+ }
115
+
116
+ h5 {
117
+ font-size: 0.875rem;
118
+ }
119
+
120
+ h6 {
121
+ font-size: 0.75rem;
122
+ }
123
+
124
+ // Code
125
+ pre {
126
+ max-width: 100%;
127
+ overflow-x: auto;
128
+ }
129
+
130
+ // Media
131
+ img, iframe,
132
+ video, audio {
133
+ max-width: 100%;
134
+ border-radius: 3px;
135
+ box-shadow: 0 2px 5px var(--color-details);
136
+ }
137
+
138
+ // Tables
139
+ table {
140
+ border: 1px solid var(--color-details-lighter);
141
+ border-radius: 3px;
142
+ border-collapse: collapse;
143
+ color: var(--color-details-darker);
144
+ width: 100%;
145
+
146
+ th, td {
147
+ border-bottom: 1px solid var(--color-details-lighter);
148
+ padding: calc(var(--gap) / 4);
149
+ text-align: left;
150
+ }
151
+
152
+ th {
153
+ background: var(--color-details-lighter);
154
+ }
155
+ }
156
+
157
+ // Quotes
158
+
159
+ blockquote {
160
+ border-left: 4px solid var(--color-details-lighter);
161
+ padding-left: calc(var(--gap) / 2);
162
+ padding-top: calc(var(--gap) / 4);
163
+ padding-bottom: calc(var(--gap) / 4);
164
+ font-style: italic;
165
+ color: var(--color-details-darker);
166
+
167
+ > :last-child {
168
+ margin-bottom: 0;
169
+ }
170
+ }
171
+
172
+ // Horizontal rule
173
+ hr {
174
+ width: 250px;
175
+ height: 3px;
176
+ margin: calc(var(--gap) * 2) auto;
177
+ background-color: var(--color-details-lighter);
178
+ border: none;
179
+ border-radius: 3px;
180
+ }
181
+
182
+ // Forms
183
+ input[type="text"],
184
+ input[type="email"],
185
+ input[type="password"],
186
+ input[type="search"],
187
+ input[type="tel"],
188
+ input[type="number"],
189
+ input[type="color"],
190
+ input[type="button"],
191
+ input[type="reset"],
192
+ input[type="submit"],
193
+ textarea,
194
+ button {
195
+ -webkit-appearance: none;
196
+ -moz-appearance: none;
197
+ border: none;
198
+ border-radius: 0;
199
+ box-shadow: none;
200
+ background: var(--color-bg);
201
+ padding: 5px;
202
+ margin: 0;
203
+ font: inherit;
204
+ }
205
+
206
+ input[type="text"],
207
+ input[type="email"],
208
+ input[type="password"],
209
+ input[type="search"],
210
+ input[type="tel"],
211
+ input[type="number"],
212
+ input[type="color"],
213
+ textarea {
214
+ border-bottom: 3px dashed var(--color-details-lighter);
215
+ transition: border-bottom-color 250ms ease;
216
+
217
+ &:hover,
218
+ &:focus {
219
+ outline: none;
220
+ border-bottom-color: var(--color-link);
221
+ }
222
+ }
223
+
224
+ input[type="button"],
225
+ input[type="reset"],
226
+ input[type="submit"],
227
+ button {
228
+ box-shadow: inset 0 0 0 var(--color-details-lighter);
229
+ border-bottom: 3px solid var(--color-details-lighter);
230
+ color: var(--color-link);
231
+ transition-property: color, box-shadow, border-bottom-color;
232
+ transition-duration: 250ms;
233
+ transition-timing-function: ease;
234
+ padding-left: 10px;
235
+ padding-right: 10px;
236
+
237
+ &:hover,
238
+ &:focus {
239
+ cursor: pointer;
240
+ box-shadow: inset 0 -2.5em 0 var(--color-link);
241
+ border-bottom-color: var(--color-link-hover);
242
+ color: var(--color-details-lighter);
243
+ }
244
+
245
+ &:active {
246
+ box-shadow: inset 0 -2.5em 0 var(--color-link-hover);
247
+ }
248
+ }
@@ -0,0 +1,380 @@
1
+ body {
2
+ display: flex;
3
+ flex-flow: column nowrap;
4
+ min-height: 100vh;
5
+ max-width: var(--container);
6
+ margin: var(--gap) auto;
7
+ padding-left: calc(var(--gap) / 2);
8
+ padding-right: calc(var(--gap) / 2);
9
+ }
10
+
11
+ /*
12
+ Site Header
13
+ */
14
+
15
+ .masthead {
16
+ margin-bottom: calc(var(--gap) * 2);
17
+
18
+ .site-title {
19
+ font-size: 2rem;
20
+ font-weight: bold;
21
+ line-height: 1.2;
22
+ margin-bottom: var(--gap);
23
+ text-align: center;
24
+ color: var(--color-link);
25
+
26
+ .logo {
27
+ max-width: 250px;
28
+ }
29
+
30
+ &:hover,
31
+ &:focus {
32
+ text-decoration: none;
33
+ }
34
+ }
35
+ }
36
+
37
+ .site-menu {
38
+ display: flex;
39
+ flex-flow: row wrap;
40
+ justify-content: center;
41
+
42
+ @media screen and (max-width: 600px) {
43
+ flex-flow: row nowrap;
44
+ justify-content: flex-start;
45
+ overflow-x: auto;
46
+ margin-left: calc(var(--gap) / -2);
47
+ margin-right: calc(var(--gap) / -2);
48
+ -webkit-overflow-scrolling: touch;
49
+ -ms-overflow-style: -ms-autohiding-scrollbar;
50
+
51
+ &::-webkit-scrollbar {
52
+ display: none;
53
+ }
54
+ }
55
+
56
+ &::before,
57
+ &::after {
58
+ content: " ";
59
+ display: block;
60
+ }
61
+
62
+ &::before {
63
+ margin-left: auto;
64
+ padding-left: calc(var(--gap) / 2);
65
+ }
66
+
67
+ &::after {
68
+ margin-right: auto;
69
+ padding-right: calc(var(--gap) / 2);
70
+ }
71
+ }
72
+
73
+ .menu-item {
74
+ color: rgba(255, 255, 255, 0.7);
75
+ background-color: var(--color-link);
76
+ border-radius: 1.5rem;
77
+ font-weight: bolder;
78
+ padding: 0.5rem 1rem;
79
+
80
+ &:not(:last-child) {
81
+ margin-right: var(--gap);
82
+
83
+ @media screen and (max-width: 600px) {
84
+ margin-right: calc(var(--gap) / 2);
85
+ }
86
+ }
87
+
88
+ &:hover,
89
+ &:focus {
90
+ color: rgba(255, 255, 255, 1);
91
+ text-decoration: none;
92
+ }
93
+ }
94
+
95
+ /*
96
+ Content
97
+ */
98
+
99
+ .content {
100
+ background-color: var(--color-bg);
101
+ padding: calc(var(--gap) * 2);
102
+ margin-bottom: var(--gap);
103
+
104
+ & > *:last-child {
105
+ margin-bottom: 0;
106
+ }
107
+ }
108
+
109
+ .content-header {
110
+ margin-bottom: var(--gap);
111
+ text-align: center;
112
+
113
+ .content-title {
114
+ font-size: 2rem;
115
+
116
+ a {
117
+ color: var(--color-text);
118
+ }
119
+ }
120
+
121
+ .content-meta {
122
+ font-size: 0.75rem;
123
+
124
+ a {
125
+ color: var(--color-details);
126
+ display: inline-block;
127
+
128
+ &:not(:last-child) {
129
+ margin-right: calc(var(--gap) / 2);
130
+ }
131
+ }
132
+ }
133
+ }
134
+
135
+ .content-footer {
136
+ margin-top: var(--gap);
137
+ font-size: 0.75rem;
138
+ color: var(--color-details);
139
+
140
+ .content-tags {
141
+ display: block;
142
+ list-style: none;
143
+ margin-left: 0;
144
+
145
+ li {
146
+ display: inline-block;
147
+ font-size: 0.875rem;
148
+
149
+ &:not(:last-child) {
150
+ &::after {
151
+ padding-left: calc(var(--gap) / 4);
152
+ padding-right: calc(var(--gap) / 4);
153
+ content: "/";
154
+ color: var(--color-details-lighter);
155
+ }
156
+ }
157
+
158
+ a {
159
+ color: var(--color-details-darker);
160
+ }
161
+ }
162
+ }
163
+ }
164
+
165
+ .content-navigation {
166
+ display: flex;
167
+ align-items: center;
168
+
169
+ @media screen and (max-width: 600) {
170
+ flex-flow: column nowrap;
171
+ }
172
+
173
+ .nav-link {
174
+ background: var(--color-bg);
175
+ padding: calc(var(--gap) / 2) var(--gap);
176
+
177
+ @media screen and (max-width: 600px) {
178
+ width: 100%;
179
+ margin-bottom: var(--gap);
180
+ }
181
+
182
+ &.prev-link {
183
+ justify-self: flex-start;
184
+ margin-right: auto;
185
+ }
186
+
187
+ &.next-link {
188
+ justify-self: flex-end;
189
+ margin-left: auto;
190
+ text-align: right;
191
+ }
192
+ }
193
+ }
194
+
195
+ // The Blog Layout
196
+ .layout-blog,
197
+ .layout-post,
198
+ .layout-archive {
199
+ .container {
200
+ display: grid;
201
+ gap: var(--gap);
202
+ grid-template-columns: 2fr 1fr;
203
+ grid-template-areas:
204
+ "content sidebar"
205
+ "content sidebar"
206
+ "content .";
207
+
208
+ @media screen and (max-width: 600px) {
209
+ grid-template-columns: 100%;
210
+ grid-template-areas:
211
+ "search"
212
+ "content"
213
+ "sidebar";
214
+ }
215
+ }
216
+ }
217
+
218
+ .blog-page {
219
+ grid-area: content;
220
+ min-width: 0;
221
+ }
222
+
223
+ // The Archive Layout
224
+ .archive-header {
225
+ padding: var(--gap);
226
+ background: var(--color-bg);
227
+ margin-bottom: var(--gap);
228
+
229
+ h1 {
230
+ font-size: 0.75rem;
231
+ font-weight: normal;
232
+ color: var(--color-details);
233
+
234
+ strong {
235
+ font-size: 1.75rem;
236
+ color: var(--color-text);
237
+ text-transform: uppercase;
238
+ }
239
+ }
240
+ }
241
+
242
+ // Sidebar
243
+ .widget {
244
+ background-color: var(--color-bg);
245
+ padding: var(--gap);
246
+ }
247
+
248
+ .-search {
249
+ grid-area: sidebar;
250
+ grid-row: 1;
251
+
252
+ @media screen and (max-width: 600px) {
253
+ grid-area: search;
254
+ }
255
+ }
256
+
257
+ .-sidebar {
258
+ grid-area: sidebar;
259
+ grid-row: 2;
260
+
261
+ @media screen and (max-width: 600px) {
262
+ grid-row: auto;
263
+ }
264
+
265
+ & > *:not(:last-child) {
266
+ margin-bottom: calc(var(--gap) * 2);
267
+ }
268
+ }
269
+
270
+ .social-links {
271
+ margin-left: 0;
272
+ list-style: none;
273
+ display: flex;
274
+ flex-flow: row wrap;
275
+ justify-content: center;
276
+ align-items: center;
277
+
278
+ .link {
279
+ display: inline-block;
280
+ margin: calc(var(--gap) / 2);
281
+ margin-top: 0;
282
+
283
+ svg {
284
+ width: 1.5rem;
285
+ height: 1.5rem;
286
+ }
287
+ }
288
+ }
289
+
290
+ .blogroll {
291
+ .blogroll-title {
292
+ font-weight: normal;
293
+ margin-bottom: calc(var(--gap) / 2);
294
+ }
295
+
296
+ .blogroll-list {
297
+ list-style: none;
298
+ margin-left: 0;
299
+
300
+ .link {
301
+ padding-top: calc(var(--gap) / 2);
302
+ padding-bottom: calc(var(--gap) / 2);
303
+ border-bottom: 1px solid var(--color-details-lighter);
304
+
305
+ &:first-child {
306
+ border-top: 1px solid var(--color-details-lighter);
307
+ }
308
+
309
+ a {
310
+ color: var(--color-details);
311
+
312
+ &:hover,
313
+ &:focus {
314
+ color: var(--color-details-darker);
315
+ }
316
+ }
317
+ }
318
+ }
319
+ }
320
+
321
+ // Search Form
322
+
323
+ label[for="search_terms"] {
324
+ display: inline-block;
325
+ margin-bottom: calc(var(--gap) / 2);
326
+ }
327
+
328
+ .search-controls {
329
+ display: flex;
330
+ flex-flow: row nowrap;
331
+
332
+ input[name="q"] {
333
+ max-width: 400px;
334
+ width: 100%;
335
+ }
336
+ }
337
+
338
+ /*
339
+ Site Footer
340
+ */
341
+
342
+ .colophon {
343
+ margin-top: calc(var(--gap) * 2);
344
+ font-size: 0.875rem;
345
+
346
+ h5 {
347
+ a {
348
+ color: currentColor;
349
+ }
350
+ }
351
+
352
+ .site-info {
353
+ text-align: center;
354
+ }
355
+
356
+ .external-links {
357
+ text-align: center;
358
+ list-style: none;
359
+ margin: calc(var(--gap) / 2) 0;
360
+
361
+ .link {
362
+ display: inline-block;
363
+
364
+ a {
365
+ color: var(--color-details-darker);
366
+ display: inline-block;
367
+ }
368
+
369
+ &:not(:last-child) {
370
+ &::after {
371
+ content: "/";
372
+ color: var(--color-details-lighter);
373
+ display: inline-block;
374
+ margin-left: calc(var(--gap) / 4);
375
+ margin-right: calc(var(--gap) / 4);
376
+ }
377
+ }
378
+ }
379
+ }
380
+ }