henry-jekyll 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b8d088b2603874b55bc7a573b66b58c4e66c9e50e8d8f91578b7acba4951b3a8
4
- data.tar.gz: 1b6b055a8fbc38fa485e3b77a01d4b651016912053f11a46f40761eccee10bbf
3
+ metadata.gz: 8f64e0c2a20aec336f3463acba80141cae7a7eb71b6a9620c1d29ba89aba1fa1
4
+ data.tar.gz: a7bbdb584ea7983c494676c6e612c9aa9d79b34854fa054582977eb9ecdb1809
5
5
  SHA512:
6
- metadata.gz: 396711f81fdfca6d9bb89aa1d60a01366c5fb97fefa2e2905a9343784173228d93220c7138d0d31c67efec102874e77d79af07db3b18efd83d41ffca740ab946
7
- data.tar.gz: f32121c2dfef3849025367a0444b80082ad4ec901cb6bc1ab3d8fec92ae9377e750bba5960ee68a82d2354aa04f820f91667384937ff1a6e2e53bb8692fe7797
6
+ metadata.gz: 443b9e84b92740d62c05b40caa877404ae32d83c998ccb4e946d38144468447622d2cbe40436ae121eba41fd0a73d8510345c25f00d493a43e05501348656bcc
7
+ data.tar.gz: fa1a63094c94b4b7d6de589d1e7781ce482b846409c96655255a0149edabd9d05f4efc1360d60764f266a93124932a609140341b1d51e0899c04aa08e6233456
data/README.md CHANGED
@@ -1,11 +1,14 @@
1
- # henry-jekyll
1
+ # Henry
2
2
 
3
- Welcome to your new Jekyll theme! In this directory, you'll find the files you need to be able to package up your theme into a gem. Put your layouts in `_layouts`, your includes in `_includes`, your sass files in `_sass` and any other assets in `assets`.
3
+ Henry is a [Jekyll](https://jekyllrb.com/) theme with a gorgeous reading experience and packed with features.
4
4
 
5
- To experiment with this code, add some sample content and run `bundle exec jekyll serve` – this directory is setup just like a Jekyll site!
5
+ To find out more about all the features, check this intro [blog post](https://blog.jkl.gg/henry-jekyll-theme/).
6
+
7
+ By simply adding henry to your jekyll blog setup, you can now use all the same features there!
6
8
 
7
- TODO: Delete this and the text above, and describe your gem
9
+ In this directory, you'll find the files you need to be able to package up your theme into a gem. Put your layouts in `_layouts`, your includes in `_includes`, your sass files in `_sass` and any other assets in `assets`.
8
10
 
11
+ To experiment with this code, add some sample content and run `bundle exec jekyll serve` – this directory is setup just like a Jekyll site!
9
12
 
10
13
  ## Installation
11
14
 
@@ -31,20 +34,52 @@ Or install it yourself as:
31
34
 
32
35
  ## Usage
33
36
 
34
- TODO: Write usage instructions here. Describe your available layouts, includes, sass and/or assets.
37
+ ## How to override styles
35
38
 
36
- ## Contributing
39
+ The theme should all just work but if you want to add a little flair and differentiate yourself from other sites/blogs you can do so by adding a few overrides `.scss` files to your `_sass/` directory:
40
+
41
+ 1. `./assets/css/style.scss`
42
+ 2. `./assets/theme_override.scss`
43
+ 3. `./assets/main_override.scss`
44
+
45
+ Henry by default loads `_initialize.scss`, so we'll need to override that file like so:
46
+
47
+ ```scss
48
+ // inside ./assets/css/style.scss
49
+ @import "theme", "theme_override";
50
+ @import "mixins", "code", "base";
51
+ @import "main", "main_override";
52
+ ```
37
53
 
38
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/hello. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
54
+ You can now override Henry's style by updating two of those override files.
39
55
 
40
- ## Development
56
+ ```scss
57
+ // inside ./_sass/theme_override.scss
58
+ // change font sizes, styles, colors in here
41
59
 
42
- To set up your environment to develop this theme, run `bundle install`.
60
+ $font-size-regular: 30px;
61
+ $background-color: black;
62
+ $color-text: red;
43
63
 
44
- Your theme is setup just like a normal Jekyll site! To test your theme, run `bundle exec jekyll serve` and open your browser at `http://localhost:4000`. This starts a Jekyll server using your theme. Add pages, documents, data, etc. like normal to test your theme's contents. As you make modifications to your theme and to your content, your site will regenerate and you should see the changes in the browser after a refresh, just like normal.
64
+ // take a look at the main `theme.scss` file to see the full list of variables you can customize
65
+ ```
66
+
67
+ To actually change specific styles, make sure to put them in the main override. The order of imports matter.
68
+
69
+ ```scss
70
+ // inside ./_sass/main.scss
71
+ // change layout or site styles here
72
+
73
+ ul.post-list-content .post-link a.post-link-url {
74
+ color: red
75
+ }
76
+
77
+ // take a look at the main `main.scss` file to see the current layout styles
78
+ ```
79
+
80
+ ## Contributing
45
81
 
46
- When your theme is released, only the files in `_layouts`, `_includes`, `_sass` and `assets` tracked with Git will be bundled.
47
- To add a custom directory to your theme-gem, please edit the regexp in `henry-jekyll.gemspec` accordingly.
82
+ Bug reports and pull requests are welcome on [GitHub](https://github.com/kaushikgopal/henry-jekyll). This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
48
83
 
49
84
  ## License
50
85
 
data/_config.yml CHANGED
@@ -14,6 +14,23 @@ author:
14
14
 
15
15
  external-url-indicator: " ⬏"
16
16
 
17
+ # Link settings
18
+ root: /
19
+ permalink: /:title/
20
+
21
+ # Build settings
22
+ markdown: kramdown
23
+ highlighter: rouge
24
+ encoding: utf-8
25
+
26
+ # front matter defaults https://jekyllrb.com/docs/configuration/front-matter-defaults/
27
+ defaults:
28
+ - scope:
29
+ path: "" # an empty string here means all files in the project
30
+ type: "posts" # pages, posts, drafts are valid
31
+ values:
32
+ layout: "post"
33
+
17
34
  # Exclude from processing.
18
35
  # The following items will not be processed, by default. Create a custom list
19
36
  # to override the default setting.
@@ -29,9 +46,3 @@ exclude:
29
46
  # - vendor/cache/
30
47
  # - vendor/gems/
31
48
  # - vendor/ruby/
32
-
33
- plugins:
34
- - jekyll-feed
35
- - jekyll-redirect-from
36
- - jekyll-seo-tag
37
- - jekyll-sitemap
data/_includes/head.html CHANGED
@@ -3,10 +3,6 @@
3
3
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
4
4
  <meta name="viewport" content="width=device-width, initial-scale=1">
5
5
 
6
- <!--[if lt IE 9]>
7
- <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
8
- <![endif]-->
9
-
10
6
  <link rel="stylesheet" href="/assets/css/style.css">
11
7
  {% include _head.html %}
12
8
 
@@ -0,0 +1,3 @@
1
+ @import "theme", "theme_override";
2
+ @import "mixins", "code", "base";
3
+ @import "main", "main_override";
@@ -6,7 +6,6 @@ p, blockquote, pre, hr,
6
6
  dl, dd, ol, ul, figure {
7
7
  margin: 0;
8
8
  padding: 0;
9
- // -webkit-font-smoothing: antialiased;
10
9
  }
11
10
 
12
11
 
@@ -21,11 +20,6 @@ body {
21
20
  color: $color-text;
22
21
  background-color: $background-color;
23
22
  -webkit-text-size-adjust: 100%;
24
-
25
- strong {
26
- // letter-spacing: -1px;
27
- // Varela Round looks ghastly when bold
28
- }
29
23
  }
30
24
 
31
25
  /**
@@ -79,7 +73,7 @@ ul, ol {
79
73
  li {
80
74
  > ul,
81
75
  > ol {
82
- margin-bottom: 0;
76
+ margin-bottom: 0;
83
77
  }
84
78
  }
85
79
 
File without changes
data/_sass/main.scss CHANGED
@@ -1,52 +1,520 @@
1
- @charset "utf-8";
1
+ .post-index, .post, .site-footer {
2
+ display: grid;
3
+ grid-template-columns:
4
+ 0.2fr
5
+ #{"min(65ch, 100%)"}
6
+ 1fr;
2
7
 
3
- //region Variables
4
- $font-size-regular: 20px;
8
+ @include media-query-small-screen() {min-width: $mobile-width;}
5
9
 
6
- $font-size-xlarge: $font-size-regular * 2;
7
- $font-size-large: $font-size-regular * 1.5;
8
- //regular
9
- $font-size-medium: $font-size-regular * 0.875;
10
- $font-size-small: $font-size-regular * 0.75;
10
+ > * {
11
+ grid-column: 2;
11
12
 
12
- $base-line-height: 1.4;
13
+ margin-right: $spacing-unit;
14
+ margin-left: $spacing-unit;
15
+ }
16
+ }
17
+
18
+ .post .full-bleed {
19
+ width: 100vw;
20
+
21
+ margin-left: calc(
22
+ (100vw - #{"min(65ch, 100vw)"})
23
+ * (.2 / 1.2)
24
+ * (-1)
25
+ - #{$spacing-unit}
26
+ );
27
+ }
28
+
29
+ /* Header
30
+ ================================================== */
31
+ .site-header {
32
+
33
+ // Positioning context for the mobile navigation icon
34
+ position: relative;
35
+
36
+ #banner {
37
+ font-size: 1.6em;
38
+ text-align: center;
39
+ margin-top : $spacing-unit;
40
+ margin-bottom : $spacing-unit/3;
41
+
42
+ h1 {
43
+ margin-bottom: 0;
44
+ font-size: 0.8em;
45
+ text-align: left;
46
+ }
47
+
48
+ .site-title {
49
+ font-family: $header-font-family;
50
+ font-weight: normal;
51
+ color: $color-text2;
52
+
53
+ &:hover {
54
+ color: $color-link;
55
+ }
56
+
57
+ }
58
+ }
59
+ }
60
+
61
+ /* Content
62
+ ================================================== */
63
+
64
+
65
+ /* Post metadata section
66
+ ========================= */
67
+
68
+
69
+ .post-meta {
70
+ margin-top: $spacing-micro-unit;
71
+ padding: 2px 4px 0 0;
72
+
73
+ margin-top: 0;
74
+ padding: 0;
75
+ text-transform: none;
76
+
77
+ div {
78
+ margin: $spacing-micro-unit 0 $spacing-micro-unit 0;
79
+ }
80
+
81
+ .post-permalink {
82
+ border-top: 1px solid $color-text;
83
+ width: 20%;
84
+ padding-top: 1em;
85
+
86
+ a {
87
+ color: $color-text2;
88
+
89
+ &:hover {
90
+ color: $color-link;
91
+ }
92
+ }
93
+ }
94
+
95
+ .post-date { color: $color-text; }
96
+
97
+ .post-categories {
98
+ margin: auto;
99
+ margin: 1em 0 1.5em 0;
100
+ display: flex;
101
+ justify-content: flex-start;
102
+ }
103
+
104
+ .post-related {
105
+
106
+ border: 3px solid $color-textunderline;
107
+ padding: 1em;
108
+ margin-top: $spacing-unit * 3;
109
+
110
+ h4 { font-family: $header-2-font-family; }
111
+
112
+ &:hover {
113
+ color: $color-text2;
114
+ border-color: $color-text2;
115
+ }
116
+
117
+ a {
118
+ color: inherit;
119
+ text-decoration: none;
120
+ &:hover { color: $color-link; }
121
+ }
122
+ }
123
+
124
+
125
+ .post-category {
126
+ border: 2px solid;
127
+ margin-right: 1em;
128
+ padding: $spacing-micro-unit $spacing-micro-unit*2;
129
+ text-align: center;
130
+ font-family: $fixed-width-font-family;
131
+ font-size: 0.8em;
132
+
133
+ &:hover {
134
+ color: $color-link;
135
+ border-color: $color-link;
136
+ }
137
+
138
+ a {
139
+ text-decoration: none;
140
+ color: inherit;
141
+ &:hover { color: inherit; }
142
+ }
143
+ }
144
+
145
+
146
+ }
147
+
148
+ .post-link {
149
+ display: block;
150
+ float: left;
151
+ font-size: $font-size-regular + 2px;
152
+
153
+ @include media-query-small-screen() {
154
+ font-size: $font-size-small;
155
+ }
156
+
157
+ .linklog {
158
+ text-decoration: none;
159
+ color: $color-link;
160
+
161
+ &:hover {
162
+ color: $color-text;
163
+ }
164
+ }
165
+ }
166
+
167
+
168
+ .draft {
169
+ background-color: $color-link;
170
+ border-radius: $spacing-unit / 2;
171
+ border: 2px solid #000;
172
+ color: black;
173
+ font-size: $font-size-small * .89;
174
+ font-weight: bold;
175
+ padding: $spacing-micro-unit;
176
+ text-transform: uppercase;
177
+ vertical-align: middle;
178
+ font-family: $fixed-width-font-family;
179
+
180
+ margin-left: $spacing-unit / 4;
181
+ }
182
+
183
+ /* Landing posts - grouped by year
184
+ =============================== */
185
+
186
+ h2.post-list-header {
187
+ color: $color-header-index;
188
+ font-family: $fixed-width-font-family;
189
+ font-size: $font-size-regular * 1.25;
190
+ font-weight: normal;
191
+ }
192
+ h2.post-list-header:first-child {
193
+ margin-top: $spacing-unit;
194
+ }
195
+
196
+ h2.post-list-header.post-list-category {
197
+
198
+ &:hover {
199
+ color: $color-text;
200
+ border-color: $color-text;
201
+ }
202
+ }
203
+
204
+ ul.post-list-content {
205
+
206
+ float: left;
207
+ list-style: none;
208
+
209
+ .post-link {
210
+ font-family: $header-font-family;
211
+
212
+ clear: left;
213
+ margin: $spacing-micro-unit 0;
214
+
215
+ @include media-query-small-screen() {
216
+ margin: ($spacing-micro-unit - 2) 0;
217
+ }
218
+
219
+ .post-link-date {
220
+ display: inline;
221
+ color: darken($color-textunderline, 8%);
222
+ margin: 0;
223
+ clear: left;
224
+ white-space: nowrap;
225
+
226
+ font-size: $font-size-medium;
227
+ @include media-query-small-screen() {
228
+ font-size: $font-size-small;
229
+ }
230
+ }
231
+
232
+ a.post-link-url {
233
+ color: $color-text2;
234
+ text-decoration: none;
235
+ padding-right: $spacing-micro-unit;
236
+
237
+ &:hover { text-decoration: $color-textunderline underline; }
238
+ }
239
+ }
240
+ }
241
+
242
+
243
+ /* Post content section
244
+ ========================= */
245
+
246
+ .post {
247
+ padding-top: $spacing-unit/2;
248
+
249
+ @include media-query-small-screen() {
250
+ margin: 0 auto;
251
+ font-size: $font-size-medium;
252
+ }
13
253
 
14
- $spacing-unit: 30px;
15
- $spacing-micro-unit: 6px;
254
+ .post-header {
16
255
 
17
- $mobile-width: 375px;
18
- $tablet-width: 685px;
19
- $screen-width: 780px;
256
+ margin-top: $spacing-unit * 4;
20
257
 
21
- //endregion
258
+ @include media-query-small-screen() {
259
+ margin-top: $spacing-unit * 1.5;
260
+ float: none;
261
+ }
22
262
 
23
- //region Mixins
24
- @mixin media-query-small-screen() {
25
- @media only screen and (max-width: $tablet-width) {
26
- @content;
263
+ .post-author {
264
+ font-weight: normal;
265
+ font-style: italic;
266
+ }
267
+
268
+ .post-title {
269
+ color: $color-text2;
270
+ margin: $spacing-unit 0 $spacing-unit/2 0;
271
+ font-size: $font-size-xlarge + 10px;
272
+ font-weight: bold;
273
+ font-family: $header-2-font-family;
274
+
275
+
276
+ .article-link {
277
+
278
+ color: $color-text2;
279
+ text-decoration: none;
280
+
281
+ &:hover {
282
+ text-decoration: underline;
283
+ }
284
+ }
285
+
286
+ @include media-query-small-screen() {
287
+ font-size: $font-size-large + 5px;
288
+ margin-top: 0;
289
+ }
290
+ }
291
+
292
+ }
293
+ }
294
+
295
+ .post-content {
296
+ clear: left;
297
+ margin: $spacing-unit;
298
+ line-height: 1.5;
299
+
300
+ font-size: $font-size-regular;
301
+
302
+ @include media-query-small-screen() {
303
+ font-size: $font-size-medium;
304
+ }
305
+
306
+ p { margin-bottom: $spacing-unit; }
307
+ p + ul { margin-top: -0.5 * $spacing-unit; }
308
+
309
+ a {
310
+ text-decoration-color: $color-textunderline;
311
+ text-underline-offset: $spacing-micro-unit;
312
+ &:hover { text-decoration: none; }
313
+ }
314
+
315
+ hr {
316
+ border: 1px solid #d8d8d8;
317
+ margin: 1em 0;
318
+ width: 100%;
319
+ }
320
+
321
+ h1 {
322
+ font-size: $font-size-xlarge;
323
+ @include media-query-small-screen() {
324
+ font-size: $font-size-large;
325
+ }
326
+
327
+ margin: 1.8em 0 0.8em 0em;
328
+ }
329
+
330
+ > h1:first-child {
331
+ margin-top: 1em;
332
+ }
333
+
334
+ h2 {
335
+ font-size: $font-size-large;
336
+ font-style: italic;
337
+
338
+ @include media-query-small-screen() {
339
+ font-size: $font-size-medium + 2px;
340
+ }
341
+
342
+ margin: 2em 0 0.4em 0em;
343
+ }
344
+
345
+ h3 {
346
+ font-size: 1.0em;
347
+ font-style: italic;
348
+ font-weight: normal;
349
+
350
+ @include media-query-small-screen() {
351
+ font-size: $font-size-medium;
352
+ }
353
+ }
354
+ }
355
+
356
+
357
+ figure { text-align: left; }
358
+ figcaption {
359
+ font-size: 0.8em;
360
+ font-family: $header-font-family;
361
+ text-align: center;
362
+ margin-bottom: $spacing-unit;
363
+ margin-top: -1 * $spacing-unit / 2;
364
+ }
365
+
366
+ /**
367
+ * Blockquotes
368
+ */
369
+ blockquote {
370
+ border-left: 4px solid $color-textunderline;
371
+ padding-left: $spacing-unit / 2;
372
+ padding-top: $spacing-unit / 3;
373
+ padding-bottom: $spacing-unit / 3;
374
+ margin-bottom: $spacing-unit;
375
+ font-style: italic;
376
+
377
+ code {
378
+ font-size: 0.8em
379
+ }
380
+
381
+ > :last-child {
382
+ margin-bottom: 0;
27
383
  }
28
384
  }
29
385
 
30
- @mixin media-query-laptop() {
31
- @media only screen and (min-width: $tablet-width + 1px) {
32
- @content;
386
+
387
+ .callout {
388
+ border: 2px solid $color-textunderline;
389
+ padding: 1em;
390
+ margin-bottom: $spacing-unit;
391
+ text-align: center;
392
+ }
393
+
394
+ ul.callout {
395
+ margin-left: 0;
396
+ padding-left: 30px; // reset
397
+ }
398
+
399
+ /* sidenote
400
+ ================================================== */
401
+
402
+ .sidenote {
403
+ padding-left: 20px;
404
+ margin-bottom: 1.5em;
405
+ border-left: 1px solid $color-textunderline;
406
+
407
+ color: $color-textunderline;
408
+ font-style: italic;
409
+ font-size: 0.8em;
410
+ }
411
+
412
+ .sidenote-hover {
413
+ color: #F99B6D;;
414
+ border-color: #F99B6D;
415
+ }
416
+
417
+ /* footnotes
418
+ ================================================== */
419
+
420
+ .footnotes {
421
+ border-bottom: 1px solid $color-textunderline;
422
+ border-top: 1px solid $color-textunderline;
423
+ padding: 1em 0;
424
+ }
425
+
426
+ /* Code snippets
427
+ ================================================== */
428
+ code {
429
+ font-family: $fixed-width-font-family;
430
+ }
431
+
432
+ article.post-content {
433
+ pre {
434
+ font-size: 0.75em;
435
+ padding: 1em;
436
+ line-height: 1.4em;
437
+ overflow: auto;
438
+ }
439
+
440
+ ol code, ul code, p>code {
441
+ font-size: 0.85em;
442
+ }
443
+ p>code {
444
+ color: $color-code;
33
445
  }
34
446
  }
35
447
 
36
- // Using media queries with like this:
37
- // @include media-query-mobile() {
38
- // .wrapper {
39
- // padding-right: $spacing-unit / 2;
40
- // padding-left: $spacing-unit / 2;
41
- // }
42
- // }
43
448
 
44
- //endregion
449
+ .site-footer {
45
450
 
46
- @import "theme";
451
+ padding: $spacing-unit 0;
47
452
 
48
- // Import partials from `sass_dir` (defaults to `_sass`)
49
- @import url(code-colorful.css),
50
- "base",
51
- "layout",
52
- "custom";
453
+ @include media-query-laptop() {
454
+ margin-top: 2em;
455
+ }
456
+
457
+ .newsletter {
458
+
459
+ grid-column: 2;
460
+
461
+ display: grid;
462
+ grid-gap: $spacing-micro-unit;
463
+
464
+ margin-bottom: $spacing-unit * 2;
465
+
466
+ @include media-query-small-screen() {
467
+ padding: 0 $spacing-micro-unit * 2;
468
+ }
469
+
470
+ @include media-query-laptop() {
471
+ grid-template-columns: 48% 1fr 48%;
472
+ }
473
+
474
+ input {
475
+ text-align: center;
476
+ padding: 0.5em;
477
+ font-family: $font-family-base;
478
+ font-size: 0.8em;
479
+ }
480
+
481
+ input[type=text] {
482
+ border: 1px solid $color-divider;
483
+
484
+ @include media-query-laptop() {
485
+ grid-column-start: 1;
486
+ }
487
+ }
488
+
489
+ input[type=submit] {
490
+ -webkit-appearance: none;
491
+ -moz-appearance: none;
492
+ appearance: none;
493
+ background-color: lightgray;
494
+
495
+ @include media-query-laptop() {
496
+ grid-column-start: 3;
497
+ }
498
+ }
499
+ }
500
+
501
+ .site-nav {
502
+ grid-column: 2;
503
+ grid-row: 2;
504
+
505
+ ul {
506
+ display: grid;
507
+ row-gap: $spacing-unit / 2;
508
+
509
+ grid-template-columns: repeat(auto-fill, minmax((6 * $font-size-regular), 1fr));
510
+
511
+ list-style-type: none;
512
+ margin-left: 0;
513
+ text-align: center;
514
+
515
+ .nav-link {
516
+ text-decoration: none;
517
+ }
518
+ }
519
+ }
520
+ }