minimaJake 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +41 -0
  4. data/_includes/custom/anchor_headings.html +164 -0
  5. data/_includes/custom/contents.html +180 -0
  6. data/_includes/custom/donatebutton.html +1 -0
  7. data/_includes/custom/donatefloating.html +9 -0
  8. data/_includes/custom/paginator.html +145 -0
  9. data/_includes/custom/read_time.html +5 -0
  10. data/_includes/custom/search.html +57 -0
  11. data/_includes/custom/tags.html +6 -0
  12. data/_includes/footer.html +26 -0
  13. data/_includes/google-analytics.html +9 -0
  14. data/_includes/head.html +14 -0
  15. data/_includes/header.html +39 -0
  16. data/_includes/social/icons/code.svg +1 -0
  17. data/_includes/social/icons/devto.svg +1 -0
  18. data/_includes/social/icons/dribbble.svg +1 -0
  19. data/_includes/social/icons/email.svg +1 -0
  20. data/_includes/social/icons/facebook.svg +1 -0
  21. data/_includes/social/icons/flickr.svg +1 -0
  22. data/_includes/social/icons/github.svg +1 -0
  23. data/_includes/social/icons/gitlab.svg +1 -0
  24. data/_includes/social/icons/google_scholar.svg +1 -0
  25. data/_includes/social/icons/instagram.svg +1 -0
  26. data/_includes/social/icons/keybase.svg +4 -0
  27. data/_includes/social/icons/linkedin.svg +1 -0
  28. data/_includes/social/icons/mastodon.svg +1 -0
  29. data/_includes/social/icons/microdotblog.svg +1 -0
  30. data/_includes/social/icons/pinterest.svg +1 -0
  31. data/_includes/social/icons/rss.svg +1 -0
  32. data/_includes/social/icons/stackoverflow.svg +1 -0
  33. data/_includes/social/icons/substack.svg +1 -0
  34. data/_includes/social/icons/telegram.svg +1 -0
  35. data/_includes/social/icons/twitter.svg +1 -0
  36. data/_includes/social/icons/youtube.svg +1 -0
  37. data/_includes/social/meta-item.html +8 -0
  38. data/_includes/social/meta.html +7 -0
  39. data/_includes/social/social-item.html +7 -0
  40. data/_includes/social/social.html +7 -0
  41. data/_includes/social/svg_symbol.html +3 -0
  42. data/_layouts/default.html +20 -0
  43. data/_layouts/home.html +59 -0
  44. data/_layouts/page.html +16 -0
  45. data/_layouts/post.html +63 -0
  46. data/_sass/minima/_base.scss +281 -0
  47. data/_sass/minima/_layout.scss +341 -0
  48. data/_sass/minima/custom-styles.scss +2 -0
  49. data/_sass/minima/custom-variables.scss +1 -0
  50. data/_sass/minima/initialize.scss +50 -0
  51. data/_sass/minima/skins/auto.scss +361 -0
  52. data/_sass/minima/skins/classic.scss +5 -0
  53. data/_sass/minima/skins/dark.scss +5 -0
  54. data/_sass/minima/skins/solarized-dark.scss +5 -0
  55. data/_sass/minima/skins/solarized-light.scss +4 -0
  56. data/_sass/minima/skins/solarized.scss +201 -0
  57. data/assets/css/style.scss +194 -0
  58. data/assets/js/posts.json +15 -0
  59. data/assets/js/search.js +438 -0
  60. data/assets/minima-social-icons.liquid +15 -0
  61. metadata +165 -0
@@ -0,0 +1,281 @@
1
+ html {
2
+ font-size: $base-font-size;
3
+ }
4
+
5
+ /**
6
+ * Reset some basic elements
7
+ */
8
+ body, h1, h2, h3, h4, h5, h6,
9
+ p, blockquote, pre, hr,
10
+ dl, dd, ol, ul, figure {
11
+ margin: 0;
12
+ padding: 0;
13
+
14
+ }
15
+
16
+
17
+
18
+ /**
19
+ * Basic styling
20
+ */
21
+ body {
22
+ font: $base-font-weight #{$base-font-size}/#{$base-line-height} $base-font-family;
23
+ color: $text-color;
24
+ background-color: $background-color;
25
+ -webkit-text-size-adjust: 100%;
26
+ -webkit-font-feature-settings: "kern" 1;
27
+ -moz-font-feature-settings: "kern" 1;
28
+ -o-font-feature-settings: "kern" 1;
29
+ font-feature-settings: "kern" 1;
30
+ font-kerning: normal;
31
+ display: flex;
32
+ min-height: 100vh;
33
+ flex-direction: column;
34
+ overflow-wrap: break-word;
35
+ }
36
+
37
+
38
+
39
+ /**
40
+ * Set `margin-bottom` to maintain vertical rhythm
41
+ */
42
+ h1, h2, h3, h4, h5, h6,
43
+ p, blockquote, pre,
44
+ ul, ol, dl, figure,
45
+ %vertical-rhythm {
46
+ margin-bottom: $spacing-unit * .5;
47
+ }
48
+
49
+ hr {
50
+ margin-top: $spacing-unit;
51
+ margin-bottom: $spacing-unit;
52
+ }
53
+
54
+ /**
55
+ * `main` element
56
+ */
57
+ main {
58
+ display: block; /* Default value of `display` of `main` element is 'inline' in IE 11. */
59
+ }
60
+
61
+
62
+
63
+ /**
64
+ * Images
65
+ */
66
+ img {
67
+ max-width: 100%;
68
+ vertical-align: middle;
69
+ }
70
+
71
+
72
+
73
+ /**
74
+ * Figures
75
+ */
76
+ figure > img {
77
+ display: block;
78
+ }
79
+
80
+ figcaption {
81
+ font-size: $small-font-size;
82
+ }
83
+
84
+
85
+
86
+ /**
87
+ * Lists
88
+ */
89
+ ul, ol {
90
+ margin-left: $spacing-unit;
91
+ }
92
+
93
+ li {
94
+ > ul,
95
+ > ol {
96
+ margin-bottom: 0;
97
+ }
98
+ }
99
+
100
+
101
+
102
+ /**
103
+ * Headings
104
+ */
105
+ h1, h2, h3, h4, h5, h6 {
106
+ font-weight: $base-font-weight;
107
+ }
108
+
109
+
110
+
111
+ /**
112
+ * Links
113
+ */
114
+ a {
115
+ color: $link-base-color;
116
+ text-decoration: none;
117
+
118
+ &:visited {
119
+ color: $link-visited-color;
120
+ }
121
+
122
+ &:hover {
123
+ color: $link-hover-color;
124
+ text-decoration: underline;
125
+ }
126
+
127
+ .social-media-list &:hover {
128
+ text-decoration: none;
129
+
130
+ .username {
131
+ text-decoration: underline;
132
+ }
133
+ }
134
+ }
135
+
136
+
137
+ /**
138
+ * Blockquotes
139
+ */
140
+ blockquote {
141
+ color: $brand-color;
142
+ border-left: 4px solid $border-color-01;
143
+ padding-left: $spacing-unit * .5;
144
+ @include relative-font-size(1.125);
145
+ font-style: italic;
146
+
147
+ > :last-child {
148
+ margin-bottom: 0;
149
+ }
150
+
151
+ i, em {
152
+ font-style: normal;
153
+ }
154
+ }
155
+
156
+
157
+
158
+ /**
159
+ * Code formatting
160
+ */
161
+ pre,
162
+ code {
163
+ font-family: $code-font-family;
164
+ font-size: 0.9375em;
165
+ border: 1px solid $border-color-01;
166
+ border-radius: 3px;
167
+ background-color: $code-background-color;
168
+ }
169
+
170
+ code {
171
+ padding: 1px 5px;
172
+ }
173
+
174
+ pre {
175
+ padding: 8px 12px;
176
+ overflow-x: auto;
177
+
178
+ > code {
179
+ border: 0;
180
+ padding-right: 0;
181
+ padding-left: 0;
182
+ }
183
+ }
184
+
185
+ .highlight {
186
+ border-radius: 3px;
187
+ background: $code-background-color;
188
+ @extend %vertical-rhythm;
189
+
190
+ .highlighter-rouge & {
191
+ background: $code-background-color;
192
+ }
193
+ }
194
+
195
+
196
+
197
+ /**
198
+ * Wrapper
199
+ */
200
+ .wrapper {
201
+ max-width: calc(#{$content-width} - (#{$spacing-unit}));
202
+ margin-right: auto;
203
+ margin-left: auto;
204
+ padding-right: $spacing-unit * .5;
205
+ padding-left: $spacing-unit * .5;
206
+ @extend %clearfix;
207
+
208
+ @media screen and (min-width: $on-large) {
209
+ max-width: calc(#{$content-width} - (#{$spacing-unit} * 2));
210
+ padding-right: $spacing-unit;
211
+ padding-left: $spacing-unit;
212
+ }
213
+ }
214
+
215
+
216
+
217
+ /**
218
+ * Clearfix
219
+ */
220
+ %clearfix:after {
221
+ content: "";
222
+ display: table;
223
+ clear: both;
224
+ }
225
+
226
+
227
+
228
+ /**
229
+ * Icons
230
+ */
231
+
232
+ .orange {
233
+ color: #f66a0a;
234
+ }
235
+
236
+ .grey {
237
+ color: #828282;
238
+ }
239
+
240
+ .svg-icon {
241
+ width: 1.25em;
242
+ height: 1.25em;
243
+ display: inline-block;
244
+ fill: currentColor;
245
+ vertical-align: text-bottom;
246
+ }
247
+
248
+
249
+ /**
250
+ * Tables
251
+ */
252
+ table {
253
+ margin-bottom: $spacing-unit;
254
+ width: 100%;
255
+ text-align: $table-text-align;
256
+ color: $table-text-color;
257
+ border-collapse: collapse;
258
+ border: 1px solid $table-border-color;
259
+ tr {
260
+ &:nth-child(even) {
261
+ background-color: $table-zebra-color;
262
+ }
263
+ }
264
+ th, td {
265
+ padding: ($spacing-unit * 33.3333333333 * .01) ($spacing-unit * .5);
266
+ }
267
+ th {
268
+ background-color: $table-header-bg-color;
269
+ border: 1px solid $table-header-border;
270
+ }
271
+ td {
272
+ border: 1px solid $table-border-color;
273
+ }
274
+
275
+ @include media-query($on-laptop) {
276
+ display: block;
277
+ overflow-x: auto;
278
+ -webkit-overflow-scrolling: touch;
279
+ -ms-overflow-style: -ms-autohiding-scrollbar;
280
+ }
281
+ }
@@ -0,0 +1,341 @@
1
+ /**
2
+ * Site header
3
+ */
4
+ .site-header {
5
+ border-top: 5px solid $border-color-03;
6
+ border-bottom: 1px solid $border-color-01;
7
+ min-height: $spacing-unit * 1.865;
8
+ line-height: $base-line-height * $base-font-size * 2.25;
9
+
10
+ // Positioning context for the mobile navigation icon
11
+ position: relative;
12
+ }
13
+
14
+ .site-title {
15
+ @include relative-font-size(1.625);
16
+ font-weight: 300;
17
+ letter-spacing: -1px;
18
+ margin-bottom: 0;
19
+ float: left;
20
+
21
+ @include media-query($on-palm) {
22
+ padding-right: 45px;
23
+ }
24
+
25
+ &,
26
+ &:visited {
27
+ color: $site-title-color;
28
+ }
29
+ }
30
+
31
+ .site-nav {
32
+ position: absolute;
33
+ top: 9px;
34
+ right: $spacing-unit * .5;
35
+ background-color: $background-color;
36
+ border: 1px solid $border-color-01;
37
+ border-radius: 5px;
38
+ text-align: right;
39
+
40
+ .nav-trigger {
41
+ display: none;
42
+ }
43
+
44
+ .menu-icon {
45
+ float: right;
46
+ width: 36px;
47
+ height: 26px;
48
+ line-height: 0;
49
+ padding-top: 10px;
50
+ text-align: center;
51
+
52
+ > svg path {
53
+ fill: $border-color-03;
54
+ }
55
+ }
56
+
57
+ label[for="nav-trigger"] {
58
+ display: block;
59
+ float: right;
60
+ width: 36px;
61
+ height: 36px;
62
+ z-index: 2;
63
+ cursor: pointer;
64
+ }
65
+
66
+ input ~ .trigger {
67
+ clear: both;
68
+ display: none;
69
+ }
70
+
71
+ input:checked ~ .trigger {
72
+ display: block;
73
+ padding-bottom: 5px;
74
+ }
75
+
76
+ .page-link {
77
+ color: $text-color;
78
+ line-height: $base-line-height;
79
+ display: block;
80
+ padding: 5px 10px;
81
+
82
+ // Gaps between nav items, but not on the last one
83
+ &:not(:last-child) {
84
+ margin-right: 0;
85
+ }
86
+ margin-left: 20px;
87
+ }
88
+
89
+ @media screen and (min-width: $on-medium) {
90
+ position: static;
91
+ float: right;
92
+ border: none;
93
+ background-color: inherit;
94
+
95
+ label[for="nav-trigger"] {
96
+ display: none;
97
+ }
98
+
99
+ .menu-icon {
100
+ display: none;
101
+ }
102
+
103
+ input ~ .trigger {
104
+ display: block;
105
+ }
106
+
107
+ .page-link {
108
+ display: inline;
109
+ padding: 0;
110
+
111
+ &:not(:last-child) {
112
+ margin-right: 20px;
113
+ }
114
+ margin-left: auto;
115
+ }
116
+ }
117
+ }
118
+
119
+
120
+
121
+ /**
122
+ * Site footer
123
+ */
124
+ .site-footer {
125
+ border-top: 1px solid $border-color-01;
126
+ padding: $spacing-unit 0;
127
+ }
128
+
129
+ .footer-heading {
130
+ @include relative-font-size(1.125);
131
+ margin-bottom: $spacing-unit * .5;
132
+ }
133
+
134
+ .feed-subscribe .svg-icon {
135
+ padding: 5px 5px 2px 0
136
+ }
137
+
138
+ .contact-list,
139
+ .social-media-list {
140
+ list-style: none;
141
+ margin-left: 0;
142
+ }
143
+
144
+ .footer-col-wrapper,
145
+ .social-links {
146
+ @include relative-font-size(0.9375);
147
+ color: $brand-color;
148
+ }
149
+
150
+ .footer-col {
151
+ margin-bottom: $spacing-unit * .5;
152
+ }
153
+
154
+ .footer-col-1,
155
+ .footer-col-2 {
156
+ width: calc(50% - (#{$spacing-unit} / 2));
157
+ }
158
+
159
+ .footer-col-3 {
160
+ width: calc(100% - (#{$spacing-unit} / 2));
161
+ }
162
+
163
+ @media screen and (min-width: $on-large) {
164
+ .footer-col-1 {
165
+ width: calc(35% - (#{$spacing-unit} / 2));
166
+ }
167
+
168
+ .footer-col-2 {
169
+ width: calc(20% - (#{$spacing-unit} / 2));
170
+ }
171
+
172
+ .footer-col-3 {
173
+ width: calc(45% - (#{$spacing-unit} / 2));
174
+ }
175
+ }
176
+
177
+ @media screen and (min-width: $on-medium) {
178
+ .footer-col-wrapper {
179
+ display: flex
180
+ }
181
+
182
+ .footer-col {
183
+ width: calc(100% - (#{$spacing-unit} / 2));
184
+ padding: 0 ($spacing-unit * .5);
185
+
186
+ &:first-child {
187
+ padding-right: $spacing-unit * .5;
188
+ padding-left: 0;
189
+ }
190
+
191
+ &:last-child {
192
+ padding-right: 0;
193
+ padding-left: $spacing-unit * .5;
194
+ }
195
+ }
196
+ }
197
+
198
+
199
+
200
+ /**
201
+ * Page content
202
+ */
203
+ .page-content {
204
+ padding: $spacing-unit 0;
205
+ flex: 1 0 auto;
206
+ }
207
+
208
+ .page-heading {
209
+ @include relative-font-size(2);
210
+ }
211
+
212
+ .post-list-heading {
213
+ @include relative-font-size(1.75);
214
+ }
215
+
216
+ .post-list {
217
+ margin-left: 0;
218
+ list-style: none;
219
+
220
+ > li {
221
+ margin-bottom: $spacing-unit;
222
+ }
223
+ }
224
+
225
+ .post-meta {
226
+ font-size: $small-font-size;
227
+ color: $brand-color;
228
+ }
229
+
230
+ .post-link {
231
+ display: block;
232
+ @include relative-font-size(1.5);
233
+ }
234
+
235
+
236
+
237
+ /**
238
+ * Posts
239
+ */
240
+ .post-header {
241
+ margin-bottom: $spacing-unit;
242
+ }
243
+
244
+ .post-title,
245
+ .post-content h1 {
246
+ @include relative-font-size(2.625);
247
+ letter-spacing: -1px;
248
+ line-height: 1.15;
249
+
250
+ @media screen and (min-width: $on-large) {
251
+ @include relative-font-size(2.625);
252
+ }
253
+ }
254
+
255
+ .post-content {
256
+ margin-bottom: $spacing-unit;
257
+
258
+ h1, h2, h3, h4, h5, h6 { margin-top: $spacing-unit }
259
+
260
+ h2 {
261
+ @include relative-font-size(1.75);
262
+
263
+ @media screen and (min-width: $on-large) {
264
+ @include relative-font-size(2);
265
+ }
266
+ }
267
+
268
+ h3 {
269
+ @include relative-font-size(1.375);
270
+
271
+ @media screen and (min-width: $on-large) {
272
+ @include relative-font-size(1.625);
273
+ }
274
+ }
275
+
276
+ h4 {
277
+ @include relative-font-size(1.25);
278
+ }
279
+
280
+ h5 {
281
+ @include relative-font-size(1.125);
282
+ }
283
+ h6 {
284
+ @include relative-font-size(1.0625);
285
+ }
286
+ }
287
+
288
+
289
+ .social-media-list {
290
+ display: table;
291
+ margin: 0 auto;
292
+ li {
293
+ float: left;
294
+ margin: 5px 10px 5px 0;
295
+ &:last-of-type { margin-right: 0 }
296
+ a {
297
+ display: block;
298
+ padding: 10px 12px;
299
+ border: 1px solid $border-color-01;
300
+ &:hover { border-color: $border-color-02 }
301
+ }
302
+ }
303
+ }
304
+
305
+
306
+
307
+ /**
308
+ * Pagination navbar
309
+ */
310
+ .pagination {
311
+ margin-bottom: $spacing-unit;
312
+ @extend .social-media-list;
313
+ li {
314
+ a, div {
315
+ min-width: 41px;
316
+ text-align: center;
317
+ box-sizing: border-box;
318
+ }
319
+ div {
320
+ display: block;
321
+ padding: $spacing-unit * .25;
322
+ border: 1px solid transparent;
323
+
324
+ &.pager-edge {
325
+ color: $border-color-01;
326
+ border: 1px dashed;
327
+ }
328
+ }
329
+ }
330
+ }
331
+
332
+
333
+
334
+ /**
335
+ * Grid helpers
336
+ */
337
+ @media screen and (min-width: $on-large) {
338
+ .one-half {
339
+ width: calc(50% - (#{$spacing-unit} / 2));
340
+ }
341
+ }
@@ -0,0 +1,2 @@
1
+ // Placeholder to allow defining custom styles that override everything else.
2
+ // (Use `_sass/minima/custom-variables.scss` to override variable defaults)
@@ -0,0 +1 @@
1
+ // Placeholder to allow overriding predefined variables smoothly.
@@ -0,0 +1,50 @@
1
+ @charset "utf-8";
2
+
3
+ // Define defaults for each variable.
4
+
5
+ $base-font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", "Segoe UI Emoji", "Segoe UI Symbol", "Apple Color Emoji", Roboto, Helvetica, Arial, sans-serif !default;
6
+ $code-font-family: "Menlo", "Inconsolata", "Consolas", "Roboto Mono", "Ubuntu Mono", "Liberation Mono", "Courier New", monospace;
7
+ $base-font-size: 16px !default;
8
+ $base-font-weight: 400 !default;
9
+ $small-font-size: $base-font-size * 0.875 !default;
10
+ $base-line-height: 1.5 !default;
11
+
12
+ $spacing-unit: 30px !default;
13
+
14
+ $table-text-align: left !default;
15
+
16
+ // Width of the content area
17
+ $content-width: 800px !default;
18
+
19
+ $on-palm: 600px !default;
20
+ $on-laptop: 800px !default;
21
+
22
+ $on-medium: $on-palm !default;
23
+ $on-large: $on-laptop !default;
24
+
25
+ // Use media queries like this:
26
+ // @include media-query($on-palm) {
27
+ // .wrapper {
28
+ // padding-right: $spacing-unit / 2;
29
+ // padding-left: $spacing-unit / 2;
30
+ // }
31
+ // }
32
+ // Notice the following mixin uses max-width, in a deprecated, desktop-first
33
+ // approach, whereas media queries used elsewhere now use min-width.
34
+ @mixin media-query($device) {
35
+ @media screen and (max-width: $device) {
36
+ @content;
37
+ }
38
+ }
39
+
40
+ @mixin relative-font-size($ratio) {
41
+ font-size: #{$ratio}rem;
42
+ }
43
+
44
+ // Import pre-styling-overrides hook and style-partials.
45
+ @import
46
+ "minima/custom-variables", // Hook to override predefined variables.
47
+ "minima/base", // Defines element resets.
48
+ "minima/layout", // Defines structure and style based on CSS selectors.
49
+ "minima/custom-styles" // Hook to override existing styles.
50
+ ;