minimaJake 1.0.4

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.
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
+ ;