popfolio 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.
@@ -0,0 +1,20 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <img class="avatar" src="{{ site.avatar | relative_url }}"/>
6
+ {% if site.intro.main %}
7
+ <h2 class="intro intro-main">
8
+ {{ site.intro.main }}
9
+ <span aria-label="wink" role="img">👋</span>
10
+ </h2>
11
+ {% endif %}
12
+ {% if site.intro.sub %}
13
+ <h2 class="intro intro-sub">{{ site.intro.sub }}</h2>
14
+ {% endif %}
15
+
16
+ <section class="content">{{ content }}</section>
17
+
18
+ {%- include skills.html -%}
19
+
20
+ {%- include projects.html -%}
@@ -0,0 +1,5 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ {{ content }}
@@ -0,0 +1,5 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ {{ content }}
@@ -0,0 +1,289 @@
1
+ html {
2
+ font-size: $base-font-size;
3
+ }
4
+
5
+ /**
6
+ * Reset some basic elements
7
+ */
8
+ body,
9
+ h1,
10
+ h2,
11
+ h3,
12
+ h4,
13
+ h5,
14
+ h6,
15
+ p,
16
+ blockquote,
17
+ pre,
18
+ hr,
19
+ dl,
20
+ dd,
21
+ ol,
22
+ ul,
23
+ figure {
24
+ margin: 0;
25
+ padding: 0;
26
+ }
27
+
28
+ /**
29
+ * Basic styling
30
+ */
31
+ body {
32
+ font: $base-font-weight #{$base-font-size}/#{$base-line-height}
33
+ $base-font-family;
34
+ color: $text-color;
35
+ background-color: $background-color;
36
+ -webkit-text-size-adjust: 100%;
37
+ -webkit-font-feature-settings: "kern" 1;
38
+ -moz-font-feature-settings: "kern" 1;
39
+ -o-font-feature-settings: "kern" 1;
40
+ font-feature-settings: "kern" 1;
41
+ font-kerning: normal;
42
+ display: flex;
43
+ min-height: 100vh;
44
+ flex-direction: column;
45
+ overflow-wrap: break-word;
46
+ }
47
+
48
+ /**
49
+ * Set `margin-bottom` to maintain vertical rhythm
50
+ */
51
+ h1,
52
+ h2,
53
+ h3,
54
+ h4,
55
+ h5,
56
+ h6,
57
+ p,
58
+ blockquote,
59
+ pre,
60
+ ul,
61
+ ol,
62
+ dl,
63
+ figure,
64
+ %vertical-rhythm {
65
+ margin-bottom: $spacing-unit / 2;
66
+ }
67
+
68
+ hr {
69
+ margin-top: $spacing-unit;
70
+ margin-bottom: $spacing-unit;
71
+ }
72
+
73
+ /**
74
+ * `main` element
75
+ */
76
+ main {
77
+ display: block; /* Default value of `display` of `main` element is 'inline' in IE 11. */
78
+ }
79
+
80
+ /**
81
+ * Images
82
+ */
83
+ img {
84
+ max-width: 100%;
85
+ vertical-align: middle;
86
+ }
87
+
88
+ /**
89
+ * Figures
90
+ */
91
+ figure > img {
92
+ display: block;
93
+ }
94
+
95
+ figcaption {
96
+ font-size: $small-font-size;
97
+ }
98
+
99
+ /**
100
+ * Lists
101
+ */
102
+ ul,
103
+ ol {
104
+ margin-left: $spacing-unit;
105
+ }
106
+
107
+ li {
108
+ > ul,
109
+ > ol {
110
+ margin-bottom: 0;
111
+ }
112
+ }
113
+
114
+ /**
115
+ * Headings
116
+ */
117
+ h1,
118
+ h2,
119
+ h3,
120
+ h4,
121
+ h5,
122
+ h6 {
123
+ font-weight: $semibold-font-weight;
124
+ }
125
+
126
+ /**
127
+ * Links
128
+ */
129
+ a {
130
+ color: $link-base-color;
131
+ text-decoration: none;
132
+
133
+ &:visited {
134
+ color: $link-visited-color;
135
+ }
136
+
137
+ &:hover {
138
+ color: $link-hover-color;
139
+ text-decoration: underline;
140
+ }
141
+
142
+ .social-media-list &:hover {
143
+ text-decoration: none;
144
+
145
+ .username {
146
+ text-decoration: underline;
147
+ }
148
+ }
149
+ }
150
+
151
+ /**
152
+ * Blockquotes
153
+ */
154
+ blockquote {
155
+ color: $brand-color;
156
+ border-left: 4px solid $border-color-01;
157
+ padding-left: $spacing-unit / 2;
158
+ @include relative-font-size(1.125);
159
+ font-style: italic;
160
+
161
+ > :last-child {
162
+ margin-bottom: 0;
163
+ }
164
+
165
+ i,
166
+ em {
167
+ font-style: normal;
168
+ }
169
+ }
170
+
171
+ /**
172
+ * Code formatting
173
+ */
174
+ pre,
175
+ code {
176
+ font-family: $code-font-family;
177
+ font-size: 0.9375em;
178
+ border: 1px solid $border-color-01;
179
+ border-radius: 3px;
180
+ background-color: $code-background-color;
181
+ }
182
+
183
+ code {
184
+ padding: 1px 5px;
185
+ }
186
+
187
+ pre {
188
+ padding: 8px 12px;
189
+ overflow-x: auto;
190
+
191
+ > code {
192
+ border: 0;
193
+ padding-right: 0;
194
+ padding-left: 0;
195
+ }
196
+ }
197
+
198
+ .highlight {
199
+ border-radius: 3px;
200
+ background: $code-background-color;
201
+ @extend %vertical-rhythm;
202
+
203
+ .highlighter-rouge & {
204
+ background: $code-background-color;
205
+ }
206
+ }
207
+
208
+ /**
209
+ * Wrapper
210
+ */
211
+ .wrapper {
212
+ max-width: calc(#{$content-width} - (#{$spacing-unit}));
213
+ margin-right: auto;
214
+ margin-left: auto;
215
+ padding-right: $spacing-unit / 2;
216
+ padding-left: $spacing-unit / 2;
217
+ @extend %clearfix;
218
+
219
+ @media screen and (min-width: $on-large) {
220
+ max-width: calc(#{$content-width} - (#{$spacing-unit} * 2));
221
+ padding-right: $spacing-unit;
222
+ padding-left: $spacing-unit;
223
+ }
224
+ }
225
+
226
+ /**
227
+ * Clearfix
228
+ */
229
+ %clearfix:after {
230
+ content: "";
231
+ display: table;
232
+ clear: both;
233
+ }
234
+
235
+ /**
236
+ * Icons
237
+ */
238
+
239
+ .orange {
240
+ color: #f66a0a;
241
+ }
242
+
243
+ .grey {
244
+ color: #828282;
245
+ }
246
+
247
+ .svg-icon {
248
+ width: 28px;
249
+ height: 28px;
250
+ display: inline-block;
251
+ fill: currentColor;
252
+ padding: 5px 3px 2px 5px;
253
+ vertical-align: text-bottom;
254
+ }
255
+
256
+ /**
257
+ * Tables
258
+ */
259
+ table {
260
+ margin-bottom: $spacing-unit;
261
+ width: 100%;
262
+ text-align: $table-text-align;
263
+ color: $table-text-color;
264
+ border-collapse: collapse;
265
+ border: 1px solid $table-border-color;
266
+ tr {
267
+ &:nth-child(even) {
268
+ background-color: $table-zebra-color;
269
+ }
270
+ }
271
+ th,
272
+ td {
273
+ padding: ($spacing-unit / 3) ($spacing-unit / 2);
274
+ }
275
+ th {
276
+ background-color: $table-header-bg-color;
277
+ border: 1px solid $table-header-border;
278
+ }
279
+ td {
280
+ border: 1px solid $table-border-color;
281
+ }
282
+
283
+ @include media-query($on-laptop) {
284
+ display: block;
285
+ overflow-x: auto;
286
+ -webkit-overflow-scrolling: touch;
287
+ -ms-overflow-style: -ms-autohiding-scrollbar;
288
+ }
289
+ }
@@ -0,0 +1,471 @@
1
+ /**
2
+ * Site header
3
+ */
4
+ .site-header {
5
+ border-bottom: 1px solid $border-color-01;
6
+ min-height: $spacing-unit * 1.865;
7
+ line-height: $base-line-height * $base-font-size * 2.25;
8
+
9
+ // Positioning context for the mobile navigation icon
10
+ position: relative;
11
+ }
12
+
13
+ .site-title {
14
+ @include relative-font-size(2.25);
15
+ font-weight: $extrabold-font-weight;
16
+ letter-spacing: -1px;
17
+ margin-bottom: 0;
18
+ float: left;
19
+ text-transform: uppercase;
20
+
21
+ @include media-query($on-palm) {
22
+ padding-right: 45px;
23
+ }
24
+
25
+ &,
26
+ &:visited {
27
+ color: $site-title-color;
28
+ }
29
+ &:hover {
30
+ color: $title-bracket-color;
31
+ text-decoration: none;
32
+ }
33
+ &:hover .title-bracket {
34
+ color: $site-title-color;
35
+ }
36
+ }
37
+
38
+ .title-bracket {
39
+ color: $title-bracket-color;
40
+ font-weight: $thin-font-weight;
41
+ }
42
+
43
+ .site-nav {
44
+ position: absolute;
45
+ top: 9px;
46
+ right: $spacing-unit / 2;
47
+ background-color: $background-color;
48
+ border: 1px solid $border-color-01;
49
+ border-radius: 5px;
50
+ text-align: right;
51
+
52
+ .nav-trigger {
53
+ display: none;
54
+ }
55
+
56
+ .menu-icon {
57
+ float: right;
58
+ width: 36px;
59
+ height: 26px;
60
+ line-height: 0;
61
+ padding-top: 10px;
62
+ text-align: center;
63
+
64
+ > svg path {
65
+ fill: $border-color-03;
66
+ }
67
+ }
68
+
69
+ label[for="nav-trigger"] {
70
+ display: block;
71
+ float: right;
72
+ width: 36px;
73
+ height: 36px;
74
+ z-index: 2;
75
+ cursor: pointer;
76
+ }
77
+
78
+ input ~ .trigger {
79
+ clear: both;
80
+ display: none;
81
+ }
82
+
83
+ input:checked ~ .trigger {
84
+ display: block;
85
+ padding-bottom: 5px;
86
+ }
87
+
88
+ .page-link {
89
+ color: $text-color;
90
+ line-height: $base-line-height;
91
+ display: block;
92
+ padding: 5px 10px;
93
+
94
+ & .link-bracket {
95
+ color: $brand-color-dark;
96
+ margin-left: 0.2rem;
97
+ }
98
+
99
+ &:hover {
100
+ text-decoration: none;
101
+ }
102
+
103
+ &:hover .link-bracket {
104
+ color: $brand-contrast-color;
105
+ }
106
+
107
+ // Gaps between nav items, but not on the last one
108
+ &:not(:last-child) {
109
+ margin-right: 0;
110
+ }
111
+ margin-left: 20px;
112
+ }
113
+
114
+ @media screen and (min-width: $on-medium) {
115
+ position: static;
116
+ float: right;
117
+ border: none;
118
+ background-color: inherit;
119
+
120
+ label[for="nav-trigger"] {
121
+ display: none;
122
+ }
123
+
124
+ .menu-icon {
125
+ display: none;
126
+ }
127
+
128
+ input ~ .trigger {
129
+ display: block;
130
+ }
131
+
132
+ .page-link {
133
+ display: inline;
134
+ padding: 0;
135
+
136
+ &:not(:last-child) {
137
+ margin-right: 20px;
138
+ }
139
+ margin-left: auto;
140
+ }
141
+ }
142
+ }
143
+
144
+ .avatar {
145
+ max-width: 100px;
146
+ border-radius: 50%;
147
+ border: 2px solid $brand-contrast-color;
148
+ display: block;
149
+ margin: 0 auto;
150
+ }
151
+
152
+ .intro {
153
+ text-align: center;
154
+ }
155
+
156
+ .intro.intro-main {
157
+ margin-top: $spacing-unit;
158
+ margin-bottom: 0;
159
+ }
160
+
161
+ .intro.intro-sub {
162
+ margin-top: 5px;
163
+ margin-bottom: 0;
164
+ }
165
+
166
+ .content {
167
+ padding: $spacing-unit 0;
168
+ }
169
+
170
+ /**
171
+ * Site footer
172
+ */
173
+ .site-footer {
174
+ padding: $spacing-unit 0;
175
+ }
176
+
177
+ .feed-subscribe .svg-icon {
178
+ padding: 5px 5px 2px 0;
179
+ }
180
+
181
+ .contact-list,
182
+ .social-media-list {
183
+ list-style: none;
184
+ margin-left: 0;
185
+ }
186
+
187
+ .footer-message {
188
+ display: flex;
189
+ align-items: center;
190
+ justify-content: center;
191
+ }
192
+
193
+ .footer-message span {
194
+ font-weight: $semibold-font-weight;
195
+ }
196
+
197
+ .social-links {
198
+ // @include relative-font-size(0.9375);
199
+ color: $brand-color;
200
+
201
+ & a {
202
+ color: $brand-color;
203
+
204
+ &:hover {
205
+ color: $brand-contrast-color;
206
+ }
207
+ }
208
+ }
209
+
210
+ /**
211
+ * Page content
212
+ */
213
+ .page-content {
214
+ padding: $spacing-unit * 2 0;
215
+ flex: 1 0 auto;
216
+ }
217
+
218
+ .page-heading {
219
+ @include relative-font-size(2);
220
+ }
221
+
222
+ .post-list-heading {
223
+ @include relative-font-size(1.75);
224
+ }
225
+
226
+ .post-list {
227
+ margin-left: 0;
228
+ list-style: none;
229
+
230
+ > li {
231
+ margin-bottom: $spacing-unit;
232
+ }
233
+ }
234
+
235
+ .post-meta {
236
+ font-size: $small-font-size;
237
+ color: $brand-color;
238
+ }
239
+
240
+ .post-link {
241
+ display: block;
242
+ @include relative-font-size(1.5);
243
+ }
244
+
245
+ /**
246
+ * Skills / Projects
247
+ */
248
+ .skills,
249
+ .projects {
250
+ margin-bottom: $spacing-unit;
251
+ }
252
+
253
+ .skills {
254
+ display: flex;
255
+ flex-flow: row wrap;
256
+ justify-content: space-around;
257
+ padding: 0;
258
+ }
259
+
260
+ .skills > h2 {
261
+ flex: 0 0 100%;
262
+ }
263
+
264
+ .skills > .skill-item {
265
+ text-align: center;
266
+ flex-grow: 1;
267
+ }
268
+
269
+ .skills > .skill-item > svg {
270
+ fill: $brand-color;
271
+ max-height: 92px;
272
+ max-width: 92px;
273
+ display: block;
274
+ margin: 0 auto;
275
+ }
276
+
277
+ .projects > .project-item {
278
+ display: flex;
279
+ background-color: $box-background-color;
280
+ margin-bottom: 1rem;
281
+ border-radius: 10px;
282
+ padding: 1.2rem;
283
+ }
284
+
285
+ .project-image {
286
+ flex: 1;
287
+ text-align: center;
288
+ }
289
+
290
+ .project-image img {
291
+ max-height: 250px;
292
+ }
293
+
294
+ .project-details {
295
+ flex: 2;
296
+ margin-left: 1.5rem;
297
+ }
298
+
299
+ .project-item h2 {
300
+ color: $brand-contrast-color;
301
+ font-size: 18px;
302
+ font-weight: $semibold-font-weight;
303
+ }
304
+
305
+ /**
306
+ * Posts
307
+ */
308
+ .post-header {
309
+ margin-bottom: $spacing-unit;
310
+ }
311
+
312
+ .post-title,
313
+ .post-content h1 {
314
+ @include relative-font-size(2.625);
315
+ letter-spacing: -1px;
316
+ line-height: 1.15;
317
+
318
+ @media screen and (min-width: $on-large) {
319
+ @include relative-font-size(2.625);
320
+ }
321
+ }
322
+
323
+ .post-content {
324
+ margin-bottom: $spacing-unit;
325
+
326
+ h1,
327
+ h2,
328
+ h3 {
329
+ margin-top: $spacing-unit * 2;
330
+ }
331
+ h4,
332
+ h5,
333
+ h6 {
334
+ margin-top: $spacing-unit;
335
+ }
336
+
337
+ h2 {
338
+ @include relative-font-size(1.75);
339
+
340
+ @media screen and (min-width: $on-large) {
341
+ @include relative-font-size(2);
342
+ }
343
+ }
344
+
345
+ h3 {
346
+ @include relative-font-size(1.375);
347
+
348
+ @media screen and (min-width: $on-large) {
349
+ @include relative-font-size(1.625);
350
+ }
351
+ }
352
+
353
+ h4 {
354
+ @include relative-font-size(1.25);
355
+ }
356
+
357
+ h5 {
358
+ @include relative-font-size(1.125);
359
+ }
360
+ h6 {
361
+ @include relative-font-size(1.0625);
362
+ }
363
+ }
364
+
365
+ .social-media-list {
366
+ display: table;
367
+ margin: 0 auto;
368
+ li {
369
+ float: left;
370
+ // margin: 5px 10px 5px 0;
371
+ &:last-of-type {
372
+ margin-right: 0;
373
+ }
374
+ a {
375
+ display: block;
376
+ padding: $spacing-unit / 4;
377
+ // border: 1px solid $border-color-01;
378
+ &:hover {
379
+ border-color: $border-color-02;
380
+ }
381
+ }
382
+ }
383
+ }
384
+
385
+ /**
386
+ * Tags
387
+ */
388
+ .tags {
389
+ list-style: none;
390
+ margin: 0;
391
+ overflow: hidden;
392
+ padding: 0;
393
+
394
+ li {
395
+ float: left;
396
+ }
397
+ }
398
+
399
+ .tag {
400
+ background: $tag-bg-color;
401
+ border-radius: 3px;
402
+ color: $tag-text-color;
403
+ font-size: $tag-font-size;
404
+ font-weight: $tag-font-weight;
405
+ display: inline-block;
406
+ height: 26px;
407
+ line-height: 26px;
408
+ padding: 0 15px 0 23px;
409
+ position: relative;
410
+ margin-right: 10px;
411
+ text-decoration: none;
412
+ transition: color 0.1s, background-color 0.1s;
413
+ -webkit-transition: color 0.1s, background-color 0.1s;
414
+
415
+ &:before {
416
+ background: $tag-text-color;
417
+ border-radius: 10px;
418
+ box-shadow: inset 0 1px rgba(0, 0, 0, 0.25);
419
+ content: "";
420
+ height: 6px;
421
+ left: 10px;
422
+ position: absolute;
423
+ width: 6px;
424
+ top: 10px;
425
+ }
426
+
427
+ &:visited {
428
+ color: $tag-text-color;
429
+ }
430
+
431
+ &:hover {
432
+ background-color: $brand-contrast-color;
433
+ color: #fff;
434
+ text-decoration: none;
435
+ }
436
+ }
437
+
438
+ /**
439
+ * Pagination navbar
440
+ */
441
+ .pagination {
442
+ margin-bottom: $spacing-unit;
443
+ @extend .social-media-list;
444
+ li {
445
+ a,
446
+ div {
447
+ min-width: 41px;
448
+ text-align: center;
449
+ box-sizing: border-box;
450
+ }
451
+ div {
452
+ display: block;
453
+ padding: $spacing-unit / 4;
454
+ border: 1px solid transparent;
455
+
456
+ &.pager-edge {
457
+ color: $border-color-01;
458
+ border: 1px dashed;
459
+ }
460
+ }
461
+ }
462
+ }
463
+
464
+ /**
465
+ * Grid helpers
466
+ */
467
+ @media screen and (min-width: $on-large) {
468
+ .one-half {
469
+ width: calc(50% - (#{$spacing-unit} / 2));
470
+ }
471
+ }