jekyll-theme-fibonacci 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,673 @@
1
+ @import url('https://fonts.googleapis.com/css?family=Source+Serif+Pro:400,400i,600|Source+Sans+Pro:400,400i,600|Source+Code+Pro');
2
+
3
+ // Global stuff.
4
+ // Ratio 1.618 Interval 5
5
+
6
+ // 0.382rem 0.421rem 0.463rem 0.510rem 0.561rem 0.618rem 0.680rem 0.749rem 0.825rem 0.908rem 1.000rem 1.101rem 1.212rem 1.335rem 1.470rem 1.618rem 1.781rem 1.961rem 2.160rem 2.378rem 2.618rem 2.882rem 3.174rem 3.494rem 3.847rem 4.236rem 4.664rem 5.135rem 5.654rem 6.225rem
7
+
8
+ :root {
9
+ --base-size: 16px;
10
+ --xs-size: 0.825rem;
11
+ --sm-size: 0.908rem;
12
+ --md-size: 1rem;
13
+ --lg-size: 1.335rem;
14
+ --xl-size: 1.961rem;
15
+ --xxl-size: 2.378rem;
16
+ --xxxl-size: 2.882rem;
17
+ font-size: var(--base-size);
18
+ }
19
+
20
+ @media only screen and (min-width: $breakpoint1) {
21
+ :root {
22
+ --base-size: 19px;
23
+ --xs-size: 0.749rem;
24
+ --sm-size: 0.825rem;
25
+ --md-size: 1rem;
26
+ --lg-size: 1.335rem;
27
+ --xl-size: 2.160rem;
28
+ --xxl-size: 3.494rem;
29
+ --xxxl-size: 4.664rem;
30
+ }
31
+ }
32
+
33
+ html, body {
34
+ margin: 0;
35
+ padding: 0;
36
+ font-family: $body-font-family;
37
+ line-height: $base-line-height;
38
+ color: $body-color;
39
+ box-sizing: border-box;
40
+ }
41
+
42
+ *, *:before, *:after {
43
+ box-sizing: inherit;
44
+ }
45
+
46
+ // Paragraphs & Headings.
47
+ p {
48
+ margin-top: 0;
49
+ margin-bottom: $md-size;
50
+ font-size: $md-size;
51
+ }
52
+
53
+ h1,
54
+ h2,
55
+ h3,
56
+ h4,
57
+ h5,
58
+ h6 {
59
+ font-family: $heading-font-family;
60
+ line-height: $heading-line-height;
61
+ letter-spacing: $heading-spacing;
62
+
63
+ a:link,
64
+ a:visited,
65
+ a:hover,
66
+ a:focus,
67
+ a:active {
68
+ border-bottom: none;
69
+ }
70
+ }
71
+
72
+ h1 {
73
+ font-size: $h1-font-size;
74
+ margin-top: $xl-size;
75
+ margin-bottom: $xl-size;
76
+ color: $body-color;
77
+ }
78
+
79
+ h2 {
80
+ font-size: $h2-font-size;
81
+ margin-top: 1.8rem;
82
+ margin-bottom: $md-size;
83
+
84
+ &::after {
85
+ display: block;
86
+ content: '';
87
+ border-bottom: solid 2px $border-color;
88
+ margin-top: $md-size;
89
+ width: 100%;
90
+ }
91
+ }
92
+
93
+ h3 {
94
+ font-size: $h3-font-size;
95
+ margin-top: $lg-size;
96
+ margin-bottom: $sm-size;
97
+ }
98
+
99
+ h4 {
100
+ font-size: $h4-font-size;
101
+ margin-top: $lg-size;
102
+ margin-bottom: $xs-size;
103
+ }
104
+
105
+ h5 {
106
+ font-size: $h4-font-size;
107
+ font-style: italic;
108
+ margin-bottom: $xs-size;
109
+ }
110
+
111
+ h6 {
112
+ font-size: $small-font-size;
113
+ margin-bottom: $xs-size;
114
+ }
115
+
116
+ // Links.
117
+ a:link,
118
+ a:visited,
119
+ a:hover,
120
+ a:focus,
121
+ a:active {
122
+ color: inherit;
123
+ text-decoration: none;
124
+ border-bottom: dotted 1px $body-color;
125
+ }
126
+
127
+ // Lists.
128
+ ul,
129
+ ol {
130
+ padding-left: 1rem;
131
+ margin-top: 0;
132
+ margin-bottom: $md-size;
133
+ }
134
+
135
+ // Blockquotes.
136
+ blockquote {
137
+ background-color: $highlight-color;
138
+ padding: $inner-padding;
139
+ border-radius: $border-radius;
140
+ color: $medium-gray;
141
+ font-size: $md-size;
142
+ margin-top: $lg-size;
143
+ margin-bottom: $lg-size;
144
+ font-family: $heading-font-family;
145
+
146
+ p {
147
+ font-size: $md-size;
148
+ hanging-punctuation: first;
149
+
150
+ &:last-of-type {
151
+ margin-bottom: 0;
152
+ }
153
+ }
154
+
155
+ cite {
156
+ text-align: right;
157
+ display: block;
158
+ font-size: $small-font-size;
159
+
160
+ &::before {
161
+ content: '—';
162
+ margin-right: 0.25rem;
163
+ }
164
+ }
165
+ }
166
+
167
+ // Figures.
168
+ figure {
169
+ margin-top: $md-size;
170
+ margin-bottom: $lg-size;
171
+ margin-left: 0;
172
+ margin-right: 0;
173
+
174
+ img {
175
+ display: block;
176
+ width: 100%;
177
+ }
178
+
179
+ table {
180
+ margin: 0;
181
+ }
182
+
183
+ figcaption {
184
+ font-size: $xs-size;
185
+ color: $medium-gray;
186
+ margin-top: 0.25rem;
187
+ font-family: $heading-font-family;
188
+
189
+ code {
190
+ font-size: $xs-size;
191
+ }
192
+ }
193
+
194
+ .table-wrapper {
195
+ padding: $inner-padding;
196
+ background-color: $highlight-color;
197
+ border-radius: $border-radius;
198
+ }
199
+
200
+ &.full {
201
+ figcaption {
202
+ text-align: center;
203
+ }
204
+ }
205
+ }
206
+
207
+ // Tables.
208
+ table {
209
+ caption-side: bottom;
210
+ width: 100%;
211
+ font-size: $sm-size;
212
+ font-family: $heading-font-family;
213
+ border-collapse: collapse;
214
+ margin-top: $md-size;
215
+ margin-bottom: $lg-size;
216
+
217
+ caption {
218
+ text-align: left;
219
+ font-size: $xs-size;
220
+ color: $medium-gray;
221
+ font-family: $heading-font-family;
222
+ }
223
+
224
+ td, th {
225
+ line-height: 1.4;
226
+
227
+ &.center {
228
+ text-align: center;
229
+ }
230
+
231
+ &.right {
232
+ text-align: right;
233
+ }
234
+ }
235
+
236
+ thead {
237
+ tr {
238
+ th {
239
+ border-bottom: solid 1px $light-gray;
240
+ text-align: left;
241
+ }
242
+ }
243
+ }
244
+ }
245
+
246
+ hr {
247
+ border: 0;
248
+ height: 0;
249
+ border-top: 1px solid rgba(0, 0, 0, 0.1);
250
+ border-bottom: 1px solid rgba(255, 255, 255, 0.3);
251
+ }
252
+
253
+ // Pre and Code elements
254
+ pre {
255
+ code {
256
+ line-height: $code-line-height;
257
+ font-family: $mono-font-family;
258
+ font-size: $xs-size;
259
+ letter-spacing: normal;
260
+
261
+ // &.hljs {
262
+ // padding: 0;
263
+ // background: transparent;
264
+ // }
265
+ }
266
+ }
267
+
268
+ label {
269
+ font-family: $heading-font-family;
270
+ font-weight: bold;
271
+ font-size: $xs-size;
272
+ text-transform: uppercase;
273
+ letter-spacing: 1px;
274
+ color: $medium-gray;
275
+ }
276
+
277
+ input[type="text"], input[type="search"], textarea {
278
+ font-family: $heading-font-family;
279
+ font-size: $xs-size;
280
+ line-height: $code-line-height;
281
+ padding: $input-padding;
282
+ width: 100%;
283
+ border: solid 1px #ccc;
284
+ }
285
+
286
+ button, [type="button"], [type="submit"] {
287
+ cursor: pointer;
288
+ font-family: $heading-font-family;
289
+ font-size: $xs-size;
290
+ padding: $button-padding;
291
+ background-color: $body-color;
292
+ color: $white;
293
+ text-transform: uppercase;
294
+ letter-spacing: 1px;
295
+ border: none;
296
+ }
297
+
298
+ /* clears the 'X' from Internet Explorer */
299
+ input[type=search]::-ms-clear {
300
+ display: none;
301
+ width: 0;
302
+ height: 0;
303
+ }
304
+
305
+ input[type=search]::-ms-reveal {
306
+ display: none;
307
+ width: 0;
308
+ height: 0;
309
+ }
310
+
311
+ /* clears the 'X' from Chrome */
312
+ input[type="search"]::-webkit-search-decoration,
313
+ input[type="search"]::-webkit-search-cancel-button,
314
+ input[type="search"]::-webkit-search-results-button,
315
+ input[type="search"]::-webkit-search-results-decoration {
316
+ display: none;
317
+ }
318
+
319
+ .icon {
320
+ width: 12px;
321
+ height: 12px;
322
+ display: inline-block;
323
+ background-repeat: no-repeat;
324
+
325
+ &.calendar {
326
+ background-image: url('calendar.svg');
327
+ }
328
+
329
+ &.tag {
330
+ background-image: url('tag.svg');
331
+ }
332
+
333
+ &.comment {
334
+ background-image: url('comment.svg');
335
+ }
336
+
337
+ &.search {
338
+ background-image: url('search.svg');
339
+ }
340
+ }
341
+
342
+ // Layout elements
343
+ .header, .footer {
344
+ display: flex;
345
+ align-items: center;
346
+ height: $xl-size;
347
+ padding: 0 $md-size;
348
+ font-size: $small-font-size;
349
+ text-transform: uppercase;
350
+ letter-spacing: 2px;
351
+ color: $light-gray;
352
+ font-family: $heading-font-family;
353
+ }
354
+
355
+ // Header
356
+ .header {
357
+ margin-top: 0.25rem;
358
+
359
+ a {
360
+ border-bottom: none;
361
+ font-family: $heading-font-family;
362
+ }
363
+
364
+ .logo {
365
+ display: flex;
366
+ align-items: center;
367
+
368
+ span {
369
+ transition: all 0.5s;
370
+ margin-left: 0.25rem
371
+ }
372
+
373
+ &:hover {
374
+ span {
375
+ letter-spacing: 3px;
376
+ color: $body-color;
377
+ }
378
+
379
+ img {
380
+ width: 3rem;
381
+ }
382
+ }
383
+ }
384
+
385
+ nav {
386
+ margin-left: auto;
387
+
388
+ a {
389
+ line-height: 1;
390
+ transition: color 0.5s;
391
+ font-size: 0.75rem;
392
+
393
+ &:hover {
394
+ color: $body-color;
395
+ }
396
+ }
397
+
398
+ @media only screen and (min-width: $breakpoint1) {
399
+ a {
400
+ font-size: $xs-size;
401
+ }
402
+ }
403
+
404
+ ul {
405
+ display: flex;
406
+ margin: 0;
407
+ padding: 0;
408
+ list-style: none;
409
+ align-items: center;
410
+
411
+ li {
412
+ margin-left: 0;
413
+ margin-right: 0.6875rem;
414
+
415
+ &:last-child {
416
+ margin-right: 0;
417
+ }
418
+
419
+ .search-form {
420
+ display: flex;
421
+ align-items: center;
422
+
423
+ input {
424
+ border: none;
425
+ border-bottom: solid 1px $light-gray;
426
+ padding: 0;
427
+ line-height: 1;
428
+ color: $light-gray;
429
+ padding-bottom: 0.25rem;
430
+ display: none;
431
+
432
+ &:focus, &:active {
433
+ outline: none;
434
+ }
435
+ }
436
+
437
+ @media only screen and (min-width: $breakpoint5) {
438
+ input {
439
+ display: block;
440
+ }
441
+ }
442
+ }
443
+ }
444
+
445
+ @media only screen and (min-width: $breakpoint1) {
446
+ li {
447
+ margin-right: $md-size;
448
+ }
449
+ }
450
+ }
451
+
452
+ &.search-active {
453
+ flex-grow: 1;
454
+ margin-left: 1rem;
455
+
456
+ .search-form {
457
+ input {
458
+ display: block;
459
+ }
460
+ }
461
+
462
+ ul li:not(:first-child) {
463
+ display: none;
464
+ }
465
+
466
+ ul li:first-child {
467
+ width: 100%;
468
+ }
469
+ }
470
+ }
471
+ }
472
+
473
+ .main {
474
+ margin-top: 3.84rem;
475
+
476
+ article {
477
+ margin-bottom: $xl-size;
478
+
479
+ article {
480
+ margin-left: auto;
481
+ margin-right: auto;
482
+ }
483
+
484
+ > * {
485
+ margin-left: $lg-size;
486
+ margin-right: $lg-size;
487
+ }
488
+
489
+ @media only screen and (min-width: $breakpoint4) {
490
+ > * {
491
+ max-width: $container-width;
492
+ margin-left: auto;
493
+ margin-right: auto;
494
+ }
495
+ }
496
+
497
+ .full {
498
+ max-width: 100%;
499
+ margin-left: auto;
500
+ margin-right: auto;
501
+ }
502
+
503
+ .right, .left {
504
+ width: calc((100% + 42rem) / 2);
505
+ max-width: 100%;
506
+ }
507
+
508
+ .left {
509
+ margin-left: 0;
510
+ }
511
+
512
+ .right {
513
+ margin-right: 0;
514
+ }
515
+
516
+ header {
517
+ position: relative;
518
+
519
+ .title-and-meta {
520
+ .post-meta {
521
+ font-size: $xs-size;
522
+ color: $light-gray;
523
+ font-family: $heading-font-family;
524
+ margin-bottom: $md-size;
525
+
526
+ > div {
527
+ margin-bottom: 5px;
528
+ margin-right: 0;
529
+ display: flex;
530
+ align-items: center;
531
+
532
+ .icon {
533
+ margin-right: 0.25rem;
534
+ }
535
+ }
536
+
537
+ .author {
538
+ display: flex;
539
+ flex-direction: row;
540
+ align-items: flex-end;
541
+
542
+ img {
543
+ border-radius: 50%;
544
+ opacity: 0.8;
545
+ width: 30px;
546
+ }
547
+
548
+ span {
549
+ font-size: $small-font-size;
550
+ color: $light-gray;
551
+ font-family: $heading-font-family;
552
+ margin-left: 0.25rem;
553
+
554
+ &.role {
555
+ margin-top: 0;
556
+ text-transform: uppercase;
557
+ letter-spacing: 1px;
558
+ background-color: $dim-gray;
559
+ padding: 1px 5px;
560
+ font-size: 0.58rem;
561
+ border-radius: 3px;
562
+ }
563
+ }
564
+ }
565
+
566
+ @media only screen and (min-width: $breakpoint3) {
567
+ .author {
568
+ position: absolute;
569
+ top: $md-size;
570
+ left: -7.5rem;
571
+ flex-direction: column;
572
+
573
+ img {
574
+ width: 80px;
575
+ }
576
+
577
+ span {
578
+ margin-top: 0.25rem;
579
+ margin-left: 0;
580
+ }
581
+ }
582
+ }
583
+
584
+ ul, li {
585
+ margin: 0;
586
+ padding: 0;
587
+ list-style: none;
588
+ display: inline;
589
+ }
590
+
591
+ a {
592
+ border-bottom: none;
593
+ transition: color 0.5s;
594
+
595
+ &:hover {
596
+ color: $body-color;
597
+ }
598
+ }
599
+
600
+ .tagged-in {
601
+ // font-style: italic;
602
+
603
+ li {
604
+ margin-right: 0.125rem;
605
+ }
606
+ }
607
+
608
+ .posted-date {
609
+ span {
610
+ font-variant: small-caps;
611
+ }
612
+ }
613
+ }
614
+
615
+ @media only screen and (min-width: $breakpoint2) {
616
+ .post-meta {
617
+ display: flex;
618
+
619
+ > div {
620
+ margin-bottom: 0;
621
+ }
622
+
623
+ > div:not(:last-child) {
624
+ margin-right: $md-size;
625
+ }
626
+
627
+ .author {
628
+ align-items: center;
629
+ }
630
+
631
+ // .posted-date .date {
632
+ // min-width: 6.58rem;
633
+ // }
634
+
635
+ .total-comments a {
636
+ min-width: 5.25rem;
637
+ }
638
+ }
639
+ }
640
+ }
641
+ }
642
+
643
+ > p:first-of-type {
644
+ font-size: $lead-para-font-size;
645
+ }
646
+
647
+ .continue-reading {
648
+ text-align: right;
649
+ font-size: $xs-size;
650
+ color: $light-gray;
651
+ font-family: $heading-font-family;
652
+ text-transform: uppercase;
653
+ letter-spacing: 1px;
654
+ transition: color 0.5s;
655
+
656
+ &:hover {
657
+ color: $body-color;
658
+ }
659
+ }
660
+
661
+ .poster-image {
662
+ margin-top: 0.25rem;
663
+
664
+ img {
665
+ border-radius: 3px;
666
+ }
667
+ }
668
+ }
669
+ }
670
+
671
+ .footer {
672
+ justify-content: flex-end;
673
+ }
@@ -0,0 +1,56 @@
1
+ // Font families.
2
+ $body-font-family: 'Source Serif Pro', serif !default;
3
+ $heading-font-family: 'Source Sans Pro', sans-serif !default;
4
+ $mono-font-family: 'Source Code Pro', monospace !default;
5
+
6
+ // Sizes.
7
+ $base-size: var(--base-size) !default;
8
+ $xs-size: var(--xs-size) !default;
9
+ $sm-size: var(--sm-size) !default;
10
+ $md-size: var(--md-size) !default;
11
+ $lg-size: var(--lg-size) !default;
12
+ $xl-size: var(--xl-size) !default;
13
+ $xxl-size: var(--xxl-size) !default;
14
+ $xxxl-size: var(--xxxl-size) !default;
15
+ $base-font-size: $md-size !default;
16
+ $h1-font-size: $xxl-size !default;
17
+ $h2-font-size: $xl-size !default;
18
+ $h3-font-size: $lg-size !default;
19
+ $h4-font-size: $base-font-size !default;
20
+ $medium-font-size: $sm-size !default;
21
+ $small-font-size: $xs-size !default;
22
+ $lead-para-font-size: 1.2rem !default;
23
+ $breakpoint1: 480px;
24
+ $breakpoint2: 768px;
25
+ $breakpoint3: 1100px;
26
+ $breakpoint4: 836px;
27
+ $breakpoint5: 560px;
28
+
29
+ // Line Heights.
30
+ $base-line-height: 1.5 !default;
31
+ $heading-line-height: 0.85 !default;
32
+ $table-line-height: 1.4 !default;
33
+ $code-line-height: 1.2 !default;
34
+
35
+ $heading-spacing: -0.5px !default;
36
+
37
+ // Colors.
38
+ $body-color: rgb(51, 51, 51) !default;
39
+ $heading-color: inherit !default;
40
+ $dim-gray: #f7f7f7 !default;
41
+ $light-gray: rgba(51, 51, 51, 0.5) !default;
42
+ $medium-gray: rgba(51, 51, 51, 0.8) !default;
43
+ $heavy-gray: rgba(28, 27, 27, 0.8) !default;
44
+ $highlight-color: rgb(241, 247, 234) !default;
45
+ $border-color: rgb(135, 146, 163) !default;
46
+ $white: rgb(255, 255, 255) !default;
47
+ $black: rgb(0, 0, 0) !default;
48
+
49
+ // Containers.
50
+ $container-width: 42rem !default;
51
+ $inner-padding: $sm-size $lg-size !default;
52
+ $input-padding: 0.35rem 0.5rem !default;
53
+ $button-padding: 0.5rem 0.75rem !default;
54
+
55
+ // Borders.
56
+ $border-radius: 3px !default;
@@ -0,0 +1,6 @@
1
+ @import 'fibonacci/variables';
2
+ @import 'fibonacci/foundation';
3
+ @import 'fibonacci/blog';
4
+ @import 'fibonacci/detail';
5
+ @import 'fibonacci/about';
6
+ @import 'fibonacci/contact';