jekyll-theme-gruv-poole 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.
- checksums.yaml +7 -0
- data/LICENSE.md +11 -0
- data/README.md +155 -0
- data/_includes/google-analytics.html +9 -0
- data/_includes/head.html +29 -0
- data/_includes/nav.html +12 -0
- data/_includes/posts-by-year.html +11 -0
- data/_includes/social_icons.html +35 -0
- data/_layouts/base.html +36 -0
- data/_layouts/home.html +62 -0
- data/_layouts/page.html +8 -0
- data/_layouts/post.html +24 -0
- data/_layouts/privacy-policy.html +27 -0
- data/_sass/_base.scss +109 -0
- data/_sass/_components.scss +30 -0
- data/_sass/_home.scss +72 -0
- data/_sass/_masthead.scss +45 -0
- data/_sass/_mixins.scss +25 -0
- data/_sass/_posts.scss +113 -0
- data/_sass/_variables.scss +100 -0
- data/_sass/code/_gruvbox.scss +200 -0
- data/_sass/code/_wrappers.scss +60 -0
- data/_sass/typography/_fonts.scss +28 -0
- data/_sass/typography/_typography.scss +115 -0
- data/assets/apple-touch-icon-precomposed.png +0 -0
- data/assets/favicon.ico +0 -0
- data/assets/fonts/body/Jost.woff2 +0 -0
- data/assets/fonts/body/LICENSE.md +110 -0
- data/assets/fonts/code/LICENSE.md +111 -0
- data/assets/fonts/code/OfficeCodePro-Bold.woff2 +0 -0
- data/assets/fonts/code/OfficeCodePro-Regular.woff2 +0 -0
- data/assets/fonts/code/OfficeCodePro-RegularItalic.woff2 +0 -0
- data/assets/main.scss +30 -0
- metadata +104 -0
@@ -0,0 +1,45 @@
|
|
1
|
+
@use "variables";
|
2
|
+
// Masthead
|
3
|
+
//
|
4
|
+
// Super small header above the content for site name and nav items
|
5
|
+
|
6
|
+
.masthead {
|
7
|
+
display: flex;
|
8
|
+
justify-content: space-between;
|
9
|
+
align-items: baseline;
|
10
|
+
flex-wrap: wrap;
|
11
|
+
padding-bottom: .5rem;
|
12
|
+
margin-bottom: var(--spacer-3);
|
13
|
+
border-bottom: 0.125rem solid var(--muted);
|
14
|
+
|
15
|
+
@media (min-width: variables.$breakpoint-md) {
|
16
|
+
padding-top: var(--spacer);
|
17
|
+
}
|
18
|
+
}
|
19
|
+
|
20
|
+
.masthead-title {
|
21
|
+
margin-top: 0;
|
22
|
+
margin-bottom: var(--spacer);
|
23
|
+
font-size: 1.5rem;
|
24
|
+
|
25
|
+
a {
|
26
|
+
color: inherit;
|
27
|
+
text-decoration: none;
|
28
|
+
}
|
29
|
+
}
|
30
|
+
|
31
|
+
.nav {
|
32
|
+
padding-left: 0;
|
33
|
+
margin-right: -.25rem;
|
34
|
+
margin-bottom: 0;
|
35
|
+
list-style: none;
|
36
|
+
|
37
|
+
li {
|
38
|
+
display: inline-block;
|
39
|
+
}
|
40
|
+
|
41
|
+
a {
|
42
|
+
padding: .25rem;
|
43
|
+
font-weight: 600;
|
44
|
+
}
|
45
|
+
}
|
data/_sass/_mixins.scss
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
@use 'variables';
|
2
|
+
|
3
|
+
// Mixins
|
4
|
+
//
|
5
|
+
// Use these in other classes by calling @include
|
6
|
+
|
7
|
+
@mixin show-flex-on-medium {
|
8
|
+
@media (min-width: variables.$breakpoint-md) {
|
9
|
+
display: flex !important
|
10
|
+
}
|
11
|
+
}
|
12
|
+
|
13
|
+
@mixin show-block-on-medium {
|
14
|
+
@media (min-width: variables.$breakpoint-md) {
|
15
|
+
display: block !important
|
16
|
+
}
|
17
|
+
}
|
18
|
+
|
19
|
+
@mixin inline-flex {
|
20
|
+
display: inline-flex;
|
21
|
+
gap: 2rem;
|
22
|
+
max-width: 100%;
|
23
|
+
overflow: auto;
|
24
|
+
scrollbar-color: var(--scrollbar-color);
|
25
|
+
}
|
data/_sass/_posts.scss
ADDED
@@ -0,0 +1,113 @@
|
|
1
|
+
@use "variables";
|
2
|
+
@use "mixins" as *;
|
3
|
+
|
4
|
+
// Posts and pages
|
5
|
+
//
|
6
|
+
// Each post is wrapped in `.post` and is used on base and post layouts. Each
|
7
|
+
// page is wrapped in `.page` and is only used on the page layout.
|
8
|
+
|
9
|
+
.page,
|
10
|
+
.post {
|
11
|
+
margin-bottom: var(--spacer-3);
|
12
|
+
|
13
|
+
li + li {
|
14
|
+
margin-top: .25rem;
|
15
|
+
}
|
16
|
+
}
|
17
|
+
|
18
|
+
// Blog post or page title
|
19
|
+
.page-title,
|
20
|
+
.post-title {
|
21
|
+
margin-top: 0;
|
22
|
+
}
|
23
|
+
.post-title a {
|
24
|
+
color: inherit;
|
25
|
+
text-decoration: none;
|
26
|
+
|
27
|
+
&:hover,
|
28
|
+
&:focus {
|
29
|
+
text-decoration: underline;
|
30
|
+
}
|
31
|
+
}
|
32
|
+
|
33
|
+
// Meta data line below post title
|
34
|
+
.post-date {
|
35
|
+
display: block;
|
36
|
+
font-size: 1.2rem;
|
37
|
+
margin-top: -.5rem;
|
38
|
+
margin-bottom: var(--spacer);
|
39
|
+
color: var(--contrast-wcag);
|
40
|
+
}
|
41
|
+
|
42
|
+
// A stylized reference link to a post
|
43
|
+
// Think of related posts and archive links
|
44
|
+
.post-ref {
|
45
|
+
margin-bottom: var(--spacer);
|
46
|
+
overflow: auto;
|
47
|
+
|
48
|
+
a {
|
49
|
+
flex: none;
|
50
|
+
}
|
51
|
+
|
52
|
+
// Not shown on mobile
|
53
|
+
// Apply with a responsive display class
|
54
|
+
// to display at certain breakpoints
|
55
|
+
span {
|
56
|
+
display: none;
|
57
|
+
width: 100%;
|
58
|
+
height: 1.5rem;
|
59
|
+
margin-inline:.75rem;
|
60
|
+
border-bottom: 1px dotted var(--contrast-low);
|
61
|
+
@include show-block-on-medium;
|
62
|
+
}
|
63
|
+
|
64
|
+
time {
|
65
|
+
display: block;
|
66
|
+
flex: none;
|
67
|
+
margin-top: 0;
|
68
|
+
margin-bottom: 0;
|
69
|
+
color: var(--contrast-wcag);
|
70
|
+
}
|
71
|
+
|
72
|
+
@media (min-width: variables.$breakpoint-md) {
|
73
|
+
margin-bottom: .5rem;
|
74
|
+
}
|
75
|
+
|
76
|
+
@include show-flex-on-medium;
|
77
|
+
}
|
78
|
+
|
79
|
+
// Category above multiple post refs e.g. year
|
80
|
+
.post-ref-category {
|
81
|
+
margin-top: 0;
|
82
|
+
margin-bottom: var(--spacer);
|
83
|
+
font-size: 2rem;
|
84
|
+
}
|
85
|
+
|
86
|
+
.post-ref+.post-ref-category {
|
87
|
+
margin-top: 2rem;
|
88
|
+
}
|
89
|
+
|
90
|
+
.related-post-wrapper {
|
91
|
+
padding-top: var(--spacer-2);
|
92
|
+
margin-bottom: var(--spacer-2);
|
93
|
+
border-top: 1px solid var(--muted);
|
94
|
+
|
95
|
+
h2 {
|
96
|
+
margin-top: 0;
|
97
|
+
margin-bottom: var(--spacer);
|
98
|
+
}
|
99
|
+
}
|
100
|
+
|
101
|
+
// Enforce content width
|
102
|
+
// on elements of a post
|
103
|
+
@media (min-width: variables.$breakpoint-md) {
|
104
|
+
.post {
|
105
|
+
p, ul, ol, blockquote,.highlighter-rouge {
|
106
|
+
max-width: variables.$max-content-width;
|
107
|
+
}
|
108
|
+
}
|
109
|
+
|
110
|
+
.related-posts {
|
111
|
+
max-width: variables.$max-content-width;
|
112
|
+
}
|
113
|
+
}
|
@@ -0,0 +1,100 @@
|
|
1
|
+
@use 'sass:color';
|
2
|
+
|
3
|
+
// Responsive breakpoints
|
4
|
+
$breakpoint-sm: 576px;
|
5
|
+
$breakpoint-md: 768px;
|
6
|
+
$breakpoint-lg: 992px;
|
7
|
+
$max-width: 62rem;
|
8
|
+
$max-content-width: 42rem;
|
9
|
+
|
10
|
+
// One-off WCAG contrast fix for --red-light on dark mode
|
11
|
+
$wcag-code-on-dark: color.scale(#fb4934, $lightness: 8%);
|
12
|
+
|
13
|
+
:root {
|
14
|
+
/* Base shades from light to dark */
|
15
|
+
--light-0: #f9f5d7;
|
16
|
+
--light-1: #fbf1c7;
|
17
|
+
--light-2: #ebdbb2;
|
18
|
+
--light-3: #d5c4a1;
|
19
|
+
--light-4: #bdae93;
|
20
|
+
--light-5: #a89984;
|
21
|
+
--gray: #928374;
|
22
|
+
--dark-0: #7c6f64;
|
23
|
+
--dark-1: #665c54;
|
24
|
+
--dark-2: #504945;
|
25
|
+
--dark-3: #3c3836;
|
26
|
+
--dark-4: #282828;
|
27
|
+
--dark-5: #1d2021;
|
28
|
+
|
29
|
+
/* Colors */
|
30
|
+
--red: #cc241d;
|
31
|
+
--red-light: #fb4934;
|
32
|
+
--red-dark: #9d0006;
|
33
|
+
--green: #98971a;
|
34
|
+
--green-light: #b8bb26;
|
35
|
+
--green-dark: #797403;
|
36
|
+
--yellow: #d79921;
|
37
|
+
--yellow-light: #fabd2f;
|
38
|
+
--yellow-dark: #b57614;
|
39
|
+
--blue: #458588;
|
40
|
+
--blue-light: #83a598;
|
41
|
+
--blue-dark: #076678;
|
42
|
+
--purple: #b16286;
|
43
|
+
--purple-light: #d3869b;
|
44
|
+
--purple-dark: #8f3f71;
|
45
|
+
--aqua: #689d6a;
|
46
|
+
--aqua-light: #8ec07c;
|
47
|
+
--aqua-dark: #427b58;
|
48
|
+
--orange: #d65d0e;
|
49
|
+
--orange-light: #fe8019;
|
50
|
+
--orange-dark: #af3a03;
|
51
|
+
|
52
|
+
/* Misc global variables */
|
53
|
+
--body-font: "Jost", "Arial", sans-serif;
|
54
|
+
--body-font-size: 17px;
|
55
|
+
--body-line-height: 1.6;
|
56
|
+
--code-font: "OfficeCodePro", "Courier New", "Courier", monospace;
|
57
|
+
--border-radius: .25rem;
|
58
|
+
--spacer: 1rem;
|
59
|
+
--spacer-2: calc(var(--spacer) * 1.5);
|
60
|
+
--spacer-3: calc(var(--spacer) * 3);
|
61
|
+
--scrollbar-color: var(--contrast-low) var(--muted);
|
62
|
+
|
63
|
+
/* Light theme specific contrast and colors */
|
64
|
+
--contrast-high: var(--dark-5);
|
65
|
+
--contrast-med: var(--dark-4);
|
66
|
+
--contrast-med-low: var(--dark-2);
|
67
|
+
--contrast-wcag: var(--dark-1);
|
68
|
+
--contrast-low: var(--light-3);
|
69
|
+
--muted: var(--light-2);
|
70
|
+
--background: var(--light-1);
|
71
|
+
--none-more-background: var(--light-0);
|
72
|
+
|
73
|
+
--text-highlight-bg: var(--purple-light);
|
74
|
+
--alert: var(--purple-light);
|
75
|
+
--quote-color: var(--blue-dark);
|
76
|
+
--quote-accent: var(--blue);
|
77
|
+
--code-color: var(--red-dark);
|
78
|
+
--code-color-wcag: var(--red-dark);
|
79
|
+
}
|
80
|
+
|
81
|
+
/* Dark theme specific contrast and colors */
|
82
|
+
@media (prefers-color-scheme: dark) {
|
83
|
+
:root {
|
84
|
+
--contrast-high: var(--light-1);
|
85
|
+
--contrast-med: var(--light-2);
|
86
|
+
--contrast-med-low: var(--light-3);
|
87
|
+
--contrast-wcag: var(--light-5);
|
88
|
+
--contrast-low: var(--dark-2);
|
89
|
+
--muted: var(--dark-3);
|
90
|
+
--background: var(--dark-4);
|
91
|
+
--none-more-background: var(--dark-5);
|
92
|
+
|
93
|
+
--text-highlight-bg: var(--yellow);
|
94
|
+
--alert: var(--yellow);
|
95
|
+
--quote-color: var(--blue-light);
|
96
|
+
--quote-accent: var(--blue);
|
97
|
+
--code-color: var(--red-light);
|
98
|
+
--code-color-wcag: #{$wcag-code-on-dark};
|
99
|
+
}
|
100
|
+
}
|
@@ -0,0 +1,200 @@
|
|
1
|
+
@use "sass:color";
|
2
|
+
|
3
|
+
// Comment colors may not be WCAG compliant,
|
4
|
+
// so adjustments made here
|
5
|
+
$comment-lighter: color.scale(#928374, $lightness: 8%);
|
6
|
+
$comment-darker: color.scale(#928374, $lightness: -17%);
|
7
|
+
|
8
|
+
.highlight, .highlight .w {
|
9
|
+
color: #282828;
|
10
|
+
background-color: #fbf1c7;
|
11
|
+
}
|
12
|
+
.highlight .err {
|
13
|
+
color: #9d0006;
|
14
|
+
background-color: #fbf1c7;
|
15
|
+
font-weight: bold;
|
16
|
+
}
|
17
|
+
.highlight .c, .highlight .ch, .highlight .cd, .highlight .cm, .highlight .cpf, .highlight .c1, .highlight .cs {
|
18
|
+
color: $comment-darker;
|
19
|
+
font-style: italic;
|
20
|
+
}
|
21
|
+
.highlight .cp {
|
22
|
+
color: #427b58;
|
23
|
+
}
|
24
|
+
.highlight .nt {
|
25
|
+
color: #9d0006;
|
26
|
+
}
|
27
|
+
.highlight .o, .highlight .ow {
|
28
|
+
color: #282828;
|
29
|
+
}
|
30
|
+
.highlight .p, .highlight .pi {
|
31
|
+
color: #282828;
|
32
|
+
}
|
33
|
+
.highlight .gi {
|
34
|
+
color: #79740e;
|
35
|
+
background-color: #fbf1c7;
|
36
|
+
}
|
37
|
+
.highlight .gd {
|
38
|
+
color: #9d0006;
|
39
|
+
background-color: #fbf1c7;
|
40
|
+
}
|
41
|
+
.highlight .gh {
|
42
|
+
color: #79740e;
|
43
|
+
font-weight: bold;
|
44
|
+
}
|
45
|
+
.highlight .ge {
|
46
|
+
font-style: italic;
|
47
|
+
}
|
48
|
+
.highlight .ges {
|
49
|
+
font-weight: bold;
|
50
|
+
font-style: italic;
|
51
|
+
}
|
52
|
+
.highlight .gs {
|
53
|
+
font-weight: bold;
|
54
|
+
}
|
55
|
+
.highlight .k, .highlight .kn, .highlight .kp, .highlight .kr, .highlight .kv {
|
56
|
+
color: #9d0006;
|
57
|
+
}
|
58
|
+
.highlight .kc {
|
59
|
+
color: #8f3f71;
|
60
|
+
}
|
61
|
+
.highlight .kt {
|
62
|
+
color: #b57614;
|
63
|
+
}
|
64
|
+
.highlight .kd {
|
65
|
+
color: #af3a03;
|
66
|
+
}
|
67
|
+
.highlight .s, .highlight .sb, .highlight .sc, .highlight .dl, .highlight .sd, .highlight .s2, .highlight .sh, .highlight .sx, .highlight .s1 {
|
68
|
+
color: #79740e;
|
69
|
+
font-style: italic;
|
70
|
+
}
|
71
|
+
.highlight .si {
|
72
|
+
color: #79740e;
|
73
|
+
font-style: italic;
|
74
|
+
}
|
75
|
+
.highlight .sr {
|
76
|
+
color: #79740e;
|
77
|
+
font-style: italic;
|
78
|
+
}
|
79
|
+
.highlight .sa {
|
80
|
+
color: #9d0006;
|
81
|
+
}
|
82
|
+
.highlight .se {
|
83
|
+
color: #af3a03;
|
84
|
+
}
|
85
|
+
.highlight .nn {
|
86
|
+
color: #427b58;
|
87
|
+
}
|
88
|
+
.highlight .nc {
|
89
|
+
color: #427b58;
|
90
|
+
}
|
91
|
+
.highlight .no {
|
92
|
+
color: #8f3f71;
|
93
|
+
}
|
94
|
+
.highlight .na {
|
95
|
+
color: #79740e;
|
96
|
+
}
|
97
|
+
.highlight .m, .highlight .mb, .highlight .mf, .highlight .mh, .highlight .mi, .highlight .il, .highlight .mo, .highlight .mx {
|
98
|
+
color: #8f3f71;
|
99
|
+
}
|
100
|
+
.highlight .ss {
|
101
|
+
color: #076678;
|
102
|
+
}
|
103
|
+
|
104
|
+
@media (prefers-color-scheme: dark) {
|
105
|
+
.highlight, .highlight .w {
|
106
|
+
color: #fbf1c7;
|
107
|
+
background-color: #282828;
|
108
|
+
}
|
109
|
+
.highlight .err {
|
110
|
+
color: #fb4934;
|
111
|
+
background-color: #282828;
|
112
|
+
font-weight: bold;
|
113
|
+
}
|
114
|
+
.highlight .c, .highlight .ch, .highlight .cd, .highlight .cm, .highlight .cpf, .highlight .c1, .highlight .cs {
|
115
|
+
color: $comment-lighter;
|
116
|
+
font-style: italic;
|
117
|
+
}
|
118
|
+
.highlight .cp {
|
119
|
+
color: #8ec07c;
|
120
|
+
}
|
121
|
+
.highlight .nt {
|
122
|
+
color: #fb4934;
|
123
|
+
}
|
124
|
+
.highlight .o, .highlight .ow {
|
125
|
+
color: #fbf1c7;
|
126
|
+
}
|
127
|
+
.highlight .p, .highlight .pi {
|
128
|
+
color: #fbf1c7;
|
129
|
+
}
|
130
|
+
.highlight .gi {
|
131
|
+
color: #b8bb26;
|
132
|
+
background-color: #282828;
|
133
|
+
}
|
134
|
+
.highlight .gd {
|
135
|
+
color: #fb4934;
|
136
|
+
background-color: #282828;
|
137
|
+
}
|
138
|
+
.highlight .gh {
|
139
|
+
color: #b8bb26;
|
140
|
+
font-weight: bold;
|
141
|
+
}
|
142
|
+
.highlight .ge {
|
143
|
+
font-style: italic;
|
144
|
+
}
|
145
|
+
.highlight .ges {
|
146
|
+
font-weight: bold;
|
147
|
+
font-style: italic;
|
148
|
+
}
|
149
|
+
.highlight .gs {
|
150
|
+
font-weight: bold;
|
151
|
+
}
|
152
|
+
.highlight .k, .highlight .kn, .highlight .kp, .highlight .kr, .highlight .kv {
|
153
|
+
color: #fb4934;
|
154
|
+
}
|
155
|
+
.highlight .kc {
|
156
|
+
color: #d3869b;
|
157
|
+
}
|
158
|
+
.highlight .kt {
|
159
|
+
color: #fabd2f;
|
160
|
+
}
|
161
|
+
.highlight .kd {
|
162
|
+
color: #fe8019;
|
163
|
+
}
|
164
|
+
.highlight .s, .highlight .sb, .highlight .sc, .highlight .dl, .highlight .sd, .highlight .s2, .highlight .sh, .highlight .sx, .highlight .s1 {
|
165
|
+
color: #b8bb26;
|
166
|
+
font-style: italic;
|
167
|
+
}
|
168
|
+
.highlight .si {
|
169
|
+
color: #b8bb26;
|
170
|
+
font-style: italic;
|
171
|
+
}
|
172
|
+
.highlight .sr {
|
173
|
+
color: #b8bb26;
|
174
|
+
font-style: italic;
|
175
|
+
}
|
176
|
+
.highlight .sa {
|
177
|
+
color: #fb4934;
|
178
|
+
}
|
179
|
+
.highlight .se {
|
180
|
+
color: #fe8019;
|
181
|
+
}
|
182
|
+
.highlight .nn {
|
183
|
+
color: #8ec07c;
|
184
|
+
}
|
185
|
+
.highlight .nc {
|
186
|
+
color: #8ec07c;
|
187
|
+
}
|
188
|
+
.highlight .no {
|
189
|
+
color: #d3869b;
|
190
|
+
}
|
191
|
+
.highlight .na {
|
192
|
+
color: #b8bb26;
|
193
|
+
}
|
194
|
+
.highlight .m, .highlight .mb, .highlight .mf, .highlight .mh, .highlight .mi, .highlight .il, .highlight .mo, .highlight .mx {
|
195
|
+
color: #d3869b;
|
196
|
+
}
|
197
|
+
.highlight .ss {
|
198
|
+
color: #83a598;
|
199
|
+
}
|
200
|
+
}
|
@@ -0,0 +1,60 @@
|
|
1
|
+
// Wrapping elements around code snippets
|
2
|
+
//
|
3
|
+
// Code syntax styling itself is handled by gruvbox.css
|
4
|
+
// which was ported from the output of Rouge's Gruvbox class:
|
5
|
+
// https://www.rubydoc.info/gems/rouge/Rouge/Themes/Gruvbox
|
6
|
+
|
7
|
+
code,
|
8
|
+
pre {
|
9
|
+
font-family: var(--code-font);
|
10
|
+
}
|
11
|
+
|
12
|
+
code {
|
13
|
+
font-size: 85%;
|
14
|
+
color: var(--code-color-wcag);
|
15
|
+
}
|
16
|
+
|
17
|
+
pre {
|
18
|
+
display: block;
|
19
|
+
margin-top: 0;
|
20
|
+
margin-bottom: var(--spacer-3);
|
21
|
+
overflow: auto;
|
22
|
+
}
|
23
|
+
|
24
|
+
.highlight {
|
25
|
+
padding: var(--spacer);
|
26
|
+
margin-bottom: var(--spacer);
|
27
|
+
background-color: var(--none-more-background);
|
28
|
+
border-radius: var(--border-radius);
|
29
|
+
scrollbar-color: var(--scrollbar-color);
|
30
|
+
|
31
|
+
pre {
|
32
|
+
margin-bottom: 0;
|
33
|
+
}
|
34
|
+
|
35
|
+
code {
|
36
|
+
color: var(--code-color);
|
37
|
+
}
|
38
|
+
|
39
|
+
// Triple backticks (code fencing) doubles the .highlight elements
|
40
|
+
.highlight {
|
41
|
+
padding: 0;
|
42
|
+
}
|
43
|
+
}
|
44
|
+
|
45
|
+
.rouge-table {
|
46
|
+
margin-bottom: 0;
|
47
|
+
font-size: 100%;
|
48
|
+
|
49
|
+
&,
|
50
|
+
td,
|
51
|
+
th {
|
52
|
+
border: 0;
|
53
|
+
}
|
54
|
+
|
55
|
+
.gutter {
|
56
|
+
vertical-align: top;
|
57
|
+
user-select: none;
|
58
|
+
opacity: .25;
|
59
|
+
}
|
60
|
+
}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
// Body typeface
|
2
|
+
@font-face {
|
3
|
+
font-family: "Jost";
|
4
|
+
src: url("fonts/body/Jost.woff2") format("woff2");
|
5
|
+
}
|
6
|
+
|
7
|
+
// Code typeface
|
8
|
+
// There's no bold and italic font. Just don't do it.
|
9
|
+
@font-face {
|
10
|
+
font-family: "OfficeCodePro";
|
11
|
+
src: url("fonts/code/OfficeCodePro-Regular.woff2") format("woff2");
|
12
|
+
font-weight: normal;
|
13
|
+
font-style: normal;
|
14
|
+
}
|
15
|
+
|
16
|
+
@font-face {
|
17
|
+
font-family: "OfficeCodePro";
|
18
|
+
src: url("fonts/code/OfficeCodePro-RegularItalic.woff2") format("woff2");
|
19
|
+
font-weight: normal;
|
20
|
+
font-style: italic;
|
21
|
+
}
|
22
|
+
|
23
|
+
@font-face {
|
24
|
+
font-family: "OfficeCodePro";
|
25
|
+
src: url("fonts/code/OfficeCodePro-Bold.woff2") format("woff2");
|
26
|
+
font-weight: bold;
|
27
|
+
font-style: normal;
|
28
|
+
}
|
@@ -0,0 +1,115 @@
|
|
1
|
+
@use "variables";
|
2
|
+
// Typography
|
3
|
+
//
|
4
|
+
// Headings, body text, lists, and other misc typographic elements.
|
5
|
+
|
6
|
+
h1, h2, h3, h4, h5, h6 {
|
7
|
+
margin-bottom: .5rem;
|
8
|
+
font-weight: 600;
|
9
|
+
line-height: 1.1;
|
10
|
+
color: var(--contrast-high);
|
11
|
+
letter-spacing: -.025rem;
|
12
|
+
}
|
13
|
+
|
14
|
+
h1 {
|
15
|
+
font-size: 2.2rem;
|
16
|
+
}
|
17
|
+
|
18
|
+
h2 {
|
19
|
+
margin-top: 2rem;
|
20
|
+
font-size: 1.5rem;
|
21
|
+
}
|
22
|
+
|
23
|
+
h3 {
|
24
|
+
margin-top: var(--spacer-2);
|
25
|
+
font-size: 1.25rem;
|
26
|
+
}
|
27
|
+
|
28
|
+
h4, h5, h6 {
|
29
|
+
margin-top: var(--spacer-1);
|
30
|
+
font-size: 1rem;
|
31
|
+
}
|
32
|
+
|
33
|
+
p {
|
34
|
+
margin-top: 0;
|
35
|
+
margin-bottom: 1rem;
|
36
|
+
}
|
37
|
+
|
38
|
+
ul, ol, dl {
|
39
|
+
margin-top: 0;
|
40
|
+
margin-bottom: 1rem;
|
41
|
+
}
|
42
|
+
|
43
|
+
dt {
|
44
|
+
font-weight: bold;
|
45
|
+
}
|
46
|
+
|
47
|
+
dd {
|
48
|
+
margin-bottom: .5rem;
|
49
|
+
}
|
50
|
+
|
51
|
+
hr {
|
52
|
+
position: relative;
|
53
|
+
margin: var(--spacer-2) 0;
|
54
|
+
border: 0;
|
55
|
+
border-top: 1px solid var(--contrast-low);
|
56
|
+
}
|
57
|
+
|
58
|
+
abbr {
|
59
|
+
font-size: 85%;
|
60
|
+
font-weight: bold;
|
61
|
+
color: var(--quote-color);
|
62
|
+
text-transform: uppercase;
|
63
|
+
|
64
|
+
&[title] {
|
65
|
+
cursor: help;
|
66
|
+
border-bottom: 1px dotted var(--contrast-low);
|
67
|
+
}
|
68
|
+
}
|
69
|
+
|
70
|
+
blockquote {
|
71
|
+
padding: .5rem var(--spacer);
|
72
|
+
margin: .8rem 0;
|
73
|
+
color: var(--quote-color);
|
74
|
+
border-left: .25rem solid var(--quote-accent);
|
75
|
+
|
76
|
+
p:last-child {
|
77
|
+
margin-bottom: 0;
|
78
|
+
}
|
79
|
+
|
80
|
+
@media (min-width: variables.$breakpoint-md) {
|
81
|
+
padding-left: var(--spacer-2);
|
82
|
+
}
|
83
|
+
}
|
84
|
+
|
85
|
+
figure {
|
86
|
+
margin: 0;
|
87
|
+
}
|
88
|
+
|
89
|
+
|
90
|
+
// Markdown footnotes
|
91
|
+
//
|
92
|
+
// See the example content post for an example.
|
93
|
+
|
94
|
+
// Footnote number within body text
|
95
|
+
a[href^="#fn:"],
|
96
|
+
// Back to footnote link
|
97
|
+
a[href^="#fnref:"] {
|
98
|
+
display: inline-block;
|
99
|
+
margin-left: .1rem;
|
100
|
+
font-weight: bold;
|
101
|
+
}
|
102
|
+
|
103
|
+
// List of footnotes
|
104
|
+
.footnotes {
|
105
|
+
margin-top: 2rem;
|
106
|
+
font-size: 85%;
|
107
|
+
}
|
108
|
+
|
109
|
+
// Custom type
|
110
|
+
//
|
111
|
+
// Extend paragraphs with `.lead` for larger introductory text.
|
112
|
+
.lead {
|
113
|
+
font-size: 1.25rem;
|
114
|
+
font-weight: 300;
|
115
|
+
}
|
Binary file
|
data/assets/favicon.ico
ADDED
Binary file
|
Binary file
|