jekyll-thenerdlife 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE.txt +21 -0
- data/README.md +153 -0
- data/_includes/card.html +31 -0
- data/_includes/critical.css +1 -0
- data/_includes/disqus.html +18 -0
- data/_includes/footer.html +24 -0
- data/_includes/form.html +21 -0
- data/_includes/gtm.html +9 -0
- data/_includes/head.html +36 -0
- data/_includes/header.html +25 -0
- data/_includes/loadCss.js +9 -0
- data/_includes/logo.svg +5 -0
- data/_includes/mathjax.html +22 -0
- data/_includes/modal.html +12 -0
- data/_includes/pagination.html +3 -0
- data/_includes/sw.js +8 -0
- data/_includes/youtube.html +3 -0
- data/_layouts/compress.html +10 -0
- data/_layouts/default.html +47 -0
- data/_layouts/page.html +42 -0
- data/_layouts/post.html +106 -0
- data/_sass/abstracts/_mixins.scss +18 -0
- data/_sass/abstracts/_variables.scss +34 -0
- data/_sass/base/_base.scss +40 -0
- data/_sass/base/_helpers.scss +21 -0
- data/_sass/base/_typography.scss +104 -0
- data/_sass/components/_btn.scss +55 -0
- data/_sass/components/_card.scss +80 -0
- data/_sass/components/_form.scss +92 -0
- data/_sass/components/_modal.scss +73 -0
- data/_sass/components/_pagination.scss +5 -0
- data/_sass/components/_syntax.scss +209 -0
- data/_sass/components/_table.scss +21 -0
- data/_sass/layout/_footer.scss +35 -0
- data/_sass/layout/_grid.scss +23 -0
- data/_sass/layout/_nav.scss +196 -0
- data/_sass/main.scss +38 -0
- data/_sass/pages/_page.scss +101 -0
- data/_sass/pages/_post.scss +62 -0
- data/_sass/vendor/_breakpoint.scss +1 -0
- data/_sass/vendor/_normalize.scss +1 -0
- data/assets/css/main.css +3 -0
- data/assets/img/favicon.jpg +0 -0
- data/assets/img/icons/android-chrome-192x192.png +0 -0
- data/assets/img/icons/android-chrome-256x256.png +0 -0
- data/assets/img/icons/apple-touch-icon.png +0 -0
- data/assets/img/icons/browserconfig.xml +9 -0
- data/assets/img/icons/favicon-16x16.png +0 -0
- data/assets/img/icons/favicon-32x32.png +0 -0
- data/assets/img/icons/favicon.ico +0 -0
- data/assets/img/icons/icon-github.svg +1 -0
- data/assets/img/icons/icon-instagram.svg +1 -0
- data/assets/img/icons/icon-twitter.svg +1 -0
- data/assets/img/icons/manifest.json +18 -0
- data/assets/img/icons/mstile-150x150.png +0 -0
- data/assets/img/icons/safari-pinned-tab.svg +19 -0
- data/assets/img/posts/emile-perron-190221.jpg +0 -0
- data/assets/img/posts/emile-perron-190221_lg.jpg +0 -0
- data/assets/img/posts/emile-perron-190221_md.jpg +0 -0
- data/assets/img/posts/emile-perron-190221_placehold.jpg +0 -0
- data/assets/img/posts/emile-perron-190221_sm.jpg +0 -0
- data/assets/img/posts/emile-perron-190221_thumb.jpg +0 -0
- data/assets/img/posts/emile-perron-190221_thumb@2x.jpg +0 -0
- data/assets/img/posts/emile-perron-190221_xs.jpg +0 -0
- data/assets/img/posts/shane-rounce-205187.jpg +0 -0
- data/assets/img/posts/shane-rounce-205187_lg.jpg +0 -0
- data/assets/img/posts/shane-rounce-205187_md.jpg +0 -0
- data/assets/img/posts/shane-rounce-205187_placehold.jpg +0 -0
- data/assets/img/posts/shane-rounce-205187_sm.jpg +0 -0
- data/assets/img/posts/shane-rounce-205187_thumb.jpg +0 -0
- data/assets/img/posts/shane-rounce-205187_thumb@2x.jpg +0 -0
- data/assets/img/posts/shane-rounce-205187_xs.jpg +0 -0
- data/assets/img/posts/sleek.jpg +0 -0
- data/assets/img/posts/sleek_lg.jpg +0 -0
- data/assets/img/posts/sleek_md.jpg +0 -0
- data/assets/img/posts/sleek_placehold.jpg +0 -0
- data/assets/img/posts/sleek_sm.jpg +0 -0
- data/assets/img/posts/sleek_thumb.jpg +0 -0
- data/assets/img/posts/sleek_thumb@2x.jpg +0 -0
- data/assets/img/posts/sleek_xs.jpg +0 -0
- data/assets/js/bundle.js +2 -0
- metadata +196 -0
@@ -0,0 +1,47 @@
|
|
1
|
+
---
|
2
|
+
layout: compress
|
3
|
+
---
|
4
|
+
<html lang="{{ page.lang | default: site.lang | default: "en-US" }}">
|
5
|
+
|
6
|
+
{% include head.html %}
|
7
|
+
|
8
|
+
<body class="site">
|
9
|
+
|
10
|
+
{% if site.google_tag_manager %}
|
11
|
+
|
12
|
+
<!-- Google Tag Manager (noscript) -->
|
13
|
+
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id={{ site.google_tag_manager }}"
|
14
|
+
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
|
15
|
+
<!-- End Google Tag Manager (noscript) -->
|
16
|
+
|
17
|
+
{% endif %}
|
18
|
+
|
19
|
+
{% include header.html %}
|
20
|
+
|
21
|
+
<div class="hero lazyload" data-bg="{{site.url}}/assets/img/posts/sleek_lg.jpg">
|
22
|
+
<div class="hero__wrap">
|
23
|
+
<h1 class="hero__title">Sleek</h1>
|
24
|
+
<p class="hero__meta">Modern Jekyll theme focused on speed performance & SEO best practices</p>
|
25
|
+
</div>
|
26
|
+
</div>
|
27
|
+
|
28
|
+
<main class="site__content">
|
29
|
+
<section class="blog">
|
30
|
+
<div class="container">
|
31
|
+
<div class="post-list" itemscope="" itemtype="http://schema.org/Blog">
|
32
|
+
|
33
|
+
{% for post in site.posts %}
|
34
|
+
{% include card.html %}
|
35
|
+
{% endfor %}
|
36
|
+
|
37
|
+
<!-- {% include pagination.html %} -->
|
38
|
+
</div>
|
39
|
+
</div>
|
40
|
+
</section>
|
41
|
+
</main>
|
42
|
+
|
43
|
+
{% include footer.html %}
|
44
|
+
|
45
|
+
</body>
|
46
|
+
|
47
|
+
</html>
|
data/_layouts/page.html
ADDED
@@ -0,0 +1,42 @@
|
|
1
|
+
---
|
2
|
+
layout: compress
|
3
|
+
---
|
4
|
+
<html lang="{{ page.lang | default: site.lang | default: "en-US" }}">
|
5
|
+
|
6
|
+
{% include head.html %}
|
7
|
+
|
8
|
+
<body class="site">
|
9
|
+
|
10
|
+
{% if site.google_tag_manager %}
|
11
|
+
|
12
|
+
<!-- Google Tag Manager (noscript) -->
|
13
|
+
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id={{ site.google_tag_manager }}"
|
14
|
+
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
|
15
|
+
<!-- End Google Tag Manager (noscript) -->
|
16
|
+
|
17
|
+
{% endif %}
|
18
|
+
|
19
|
+
{% include header.html %}
|
20
|
+
|
21
|
+
<div class="hero--small">
|
22
|
+
<div class="hero__wrap">
|
23
|
+
<h1 class="hero__title">{{ page.title }}</h1>
|
24
|
+
</div>
|
25
|
+
</div>
|
26
|
+
<main class="site__content">
|
27
|
+
|
28
|
+
<div class="container">
|
29
|
+
<div class="page-content">
|
30
|
+
|
31
|
+
{{ content }}
|
32
|
+
|
33
|
+
</div>
|
34
|
+
</div>
|
35
|
+
|
36
|
+
</main>
|
37
|
+
|
38
|
+
{% include footer.html %}
|
39
|
+
|
40
|
+
</body>
|
41
|
+
|
42
|
+
</html>
|
data/_layouts/post.html
ADDED
@@ -0,0 +1,106 @@
|
|
1
|
+
---
|
2
|
+
layout: compress
|
3
|
+
---
|
4
|
+
<html lang="{{ page.lang | default: site.lang | default: "en-US" }}">
|
5
|
+
|
6
|
+
{% include head.html %}
|
7
|
+
|
8
|
+
<body class="site">
|
9
|
+
|
10
|
+
{% if site.google_tag_manager %}
|
11
|
+
|
12
|
+
<!-- Google Tag Manager (noscript) -->
|
13
|
+
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id={{ site.google_tag_manager }}"
|
14
|
+
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
|
15
|
+
<!-- End Google Tag Manager (noscript) -->
|
16
|
+
|
17
|
+
{% endif %}
|
18
|
+
|
19
|
+
{% include header.html %}
|
20
|
+
|
21
|
+
{% if page.featured-img %}
|
22
|
+
|
23
|
+
<div class="hero lazyload" data-bg="{{site.url}}/assets/img/posts/{{page.featured-img}}.jpg">
|
24
|
+
{% else %}
|
25
|
+
<div class="hero dark-bg">
|
26
|
+
{% endif %}
|
27
|
+
<div class="hero__wrap">
|
28
|
+
<h1 class="hero__title">{{ page.title }}</h1>
|
29
|
+
<p class="hero__meta">
|
30
|
+
<span>
|
31
|
+
<time>{{ page.date | date_to_string }}</time>
|
32
|
+
</span>
|
33
|
+
<span>
|
34
|
+
{% assign words = content | number_of_words %}
|
35
|
+
{% if words < 360 %}
|
36
|
+
1 min
|
37
|
+
{% else %}
|
38
|
+
{{ words | divided_by:180 }} mins
|
39
|
+
{% endif %} read
|
40
|
+
|
41
|
+
</span>
|
42
|
+
</p>
|
43
|
+
</div>
|
44
|
+
</div>
|
45
|
+
</div>
|
46
|
+
|
47
|
+
<main class="site__content">
|
48
|
+
<div class="container">
|
49
|
+
<article class="post-content" itemprop="articleBody">
|
50
|
+
|
51
|
+
{{ content }}
|
52
|
+
|
53
|
+
</article>
|
54
|
+
<div class="post-content controls__inner">
|
55
|
+
<div class="controls__item prev">
|
56
|
+
{% if page.previous.url %}
|
57
|
+
|
58
|
+
<span>Previous</span>
|
59
|
+
<a href="{{page.previous.url | relative_url }}">
|
60
|
+
<span>
|
61
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="6" height="11">
|
62
|
+
<path fill="fillColor" d="M5.647 1.718c.37-.434.323-1.09-.106-1.465A1.016 1.016 0 0 0 4.095.36L.25 4.875a1.05 1.05 0 0 0 .017 1.378l3.95 4.407c.38.424 1.03.456 1.448.07a1.05 1.05 0 0 0 .07-1.468l-3.34-3.725 3.253-3.819z"/>
|
63
|
+
</svg>
|
64
|
+
</span>
|
65
|
+
{{page.previous.title | strip_html | truncate: 30}}
|
66
|
+
</a>
|
67
|
+
{% endif %}
|
68
|
+
</div>
|
69
|
+
|
70
|
+
<div class="controls__item next">
|
71
|
+
{% if page.next.url %}
|
72
|
+
<span>Next</span>
|
73
|
+
<a href="{{page.next.url | relative_url }}">
|
74
|
+
{{page.next.title | strip_html | truncate: 30}}
|
75
|
+
<span>
|
76
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="6" height="11">
|
77
|
+
<path fill="#fillColor" d="M.353 9.282c-.37.434-.323 1.09.106 1.465a1.016 1.016 0 0 0 1.446-.107L5.75 6.125a1.05 1.05 0 0 0-.017-1.378L1.784.34A1.015 1.015 0 0 0 .336.27a1.05 1.05 0 0 0-.07 1.468l3.34 3.725L.353 9.282z"/>
|
78
|
+
</svg>
|
79
|
+
</span>
|
80
|
+
</a>
|
81
|
+
{% endif %}
|
82
|
+
</div>
|
83
|
+
</div>
|
84
|
+
</div>
|
85
|
+
|
86
|
+
{% if site.disqus.shortname %}
|
87
|
+
|
88
|
+
<div class="comments">
|
89
|
+
<div class="container">
|
90
|
+
<div class="post-content">
|
91
|
+
|
92
|
+
{% include disqus.html %}
|
93
|
+
|
94
|
+
</div>
|
95
|
+
</div>
|
96
|
+
</div>
|
97
|
+
|
98
|
+
{% endif %}
|
99
|
+
|
100
|
+
</main>
|
101
|
+
|
102
|
+
{% include footer.html %}
|
103
|
+
{% include mathjax.html %}
|
104
|
+
</body>
|
105
|
+
|
106
|
+
</html>
|
@@ -0,0 +1,18 @@
|
|
1
|
+
@mixin clearfix {
|
2
|
+
&::before {
|
3
|
+
content: "";
|
4
|
+
display: table;
|
5
|
+
clear: both;
|
6
|
+
}
|
7
|
+
|
8
|
+
&::after {
|
9
|
+
content: "";
|
10
|
+
display: table;
|
11
|
+
clear: both;
|
12
|
+
}
|
13
|
+
}
|
14
|
+
|
15
|
+
@mixin container($breakpoint) {
|
16
|
+
max-width: $breakpoint;
|
17
|
+
margin: 0 auto;
|
18
|
+
}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
$primary: #277cea !default;
|
2
|
+
$secondary: #ff6161 !default;
|
3
|
+
$border: #ededed !default;
|
4
|
+
$primary-light: #68a4f1;
|
5
|
+
$reverse: #3c3d41 !default;
|
6
|
+
$success: #8fd896 !default;
|
7
|
+
$error: #ff6161 !default;
|
8
|
+
|
9
|
+
$bg-color: #fff !default;
|
10
|
+
$light-bg-color: #f9f9f9;
|
11
|
+
$text-color: #343851;
|
12
|
+
$heading-color: #313237;
|
13
|
+
$link-color: $primary;
|
14
|
+
$button-dark: #222325;
|
15
|
+
$dark-light: #313237;
|
16
|
+
$outline: #dbdbdb;
|
17
|
+
$grey: #838c8d;
|
18
|
+
|
19
|
+
|
20
|
+
$font-stack: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;
|
21
|
+
|
22
|
+
// Breakpoints
|
23
|
+
$xs: 0;
|
24
|
+
$sm: 36em; //576px
|
25
|
+
$md: 48em; //768px
|
26
|
+
$lg: 62em; //992px
|
27
|
+
$xl: 75em; //1200px
|
28
|
+
|
29
|
+
// Code
|
30
|
+
$code-bg-color: #f6f8fa !default;
|
31
|
+
$code-text-color: #25292e !default;
|
32
|
+
|
33
|
+
// Borders
|
34
|
+
$border-color: #dce6f0 !default;
|
@@ -0,0 +1,40 @@
|
|
1
|
+
html {
|
2
|
+
box-sizing: border-box;
|
3
|
+
}
|
4
|
+
|
5
|
+
body {
|
6
|
+
-webkit-overflow-scrolling: touch;
|
7
|
+
}
|
8
|
+
|
9
|
+
*,
|
10
|
+
*::before,
|
11
|
+
*::after {
|
12
|
+
box-sizing: inherit;
|
13
|
+
}
|
14
|
+
|
15
|
+
//sticky footer
|
16
|
+
.site {
|
17
|
+
display: flex;
|
18
|
+
min-height: 100vh;
|
19
|
+
flex-direction: column;
|
20
|
+
}
|
21
|
+
|
22
|
+
.site__content {
|
23
|
+
flex: 1;
|
24
|
+
}
|
25
|
+
|
26
|
+
// responsive images
|
27
|
+
img {
|
28
|
+
max-width: 100%;
|
29
|
+
height: auto;
|
30
|
+
width: auto;
|
31
|
+
vertical-align: middle;
|
32
|
+
}
|
33
|
+
|
34
|
+
img::selection {
|
35
|
+
background: transparent;
|
36
|
+
}
|
37
|
+
|
38
|
+
figure {
|
39
|
+
margin: 0;
|
40
|
+
}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
.blur {
|
2
|
+
background: $bg-color;
|
3
|
+
filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="16" /></filter></svg>#filter');
|
4
|
+
-webkit-filter: blur(1rem);
|
5
|
+
filter: blur(1rem);
|
6
|
+
transition: filter 400ms, -webkit-filter 400ms;
|
7
|
+
|
8
|
+
&.lazyloaded {
|
9
|
+
-webkit-filter: blur(0);
|
10
|
+
filter: blur(0);
|
11
|
+
}
|
12
|
+
}
|
13
|
+
|
14
|
+
.dark-bg {
|
15
|
+
background-color: $dark-light;
|
16
|
+
}
|
17
|
+
|
18
|
+
.hidden {
|
19
|
+
display: none;
|
20
|
+
visibility: hidden;
|
21
|
+
}
|
@@ -0,0 +1,104 @@
|
|
1
|
+
// General
|
2
|
+
body {
|
3
|
+
background-color: $bg-color;
|
4
|
+
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
5
|
+
font-size: 1rem;
|
6
|
+
line-height: 1.5;
|
7
|
+
color: $text-color;
|
8
|
+
-webkit-font-smoothing: antialiased;
|
9
|
+
-webkit-text-size-adjust: 100%;
|
10
|
+
}
|
11
|
+
|
12
|
+
::selection {
|
13
|
+
color: $bg-color;
|
14
|
+
background-color: $reverse;
|
15
|
+
}
|
16
|
+
|
17
|
+
// Reboot
|
18
|
+
p {
|
19
|
+
margin-top: 0;
|
20
|
+
margin-bottom: 1.25rem;
|
21
|
+
}
|
22
|
+
|
23
|
+
// Typography
|
24
|
+
h1,
|
25
|
+
h2,
|
26
|
+
h3,
|
27
|
+
h4,
|
28
|
+
h5,
|
29
|
+
h6 {
|
30
|
+
color: $heading-color;
|
31
|
+
margin-top: 0;
|
32
|
+
margin-bottom: .5rem;
|
33
|
+
}
|
34
|
+
|
35
|
+
//reset link
|
36
|
+
a {
|
37
|
+
color: $link-color;
|
38
|
+
text-decoration: none;
|
39
|
+
transition: all .2s linear;
|
40
|
+
border-bottom: 1px dashed $link-color;
|
41
|
+
|
42
|
+
&:active,
|
43
|
+
&:focus {
|
44
|
+
outline: 0;
|
45
|
+
}
|
46
|
+
|
47
|
+
&:hover,
|
48
|
+
&:focus {
|
49
|
+
color: $primary-light;
|
50
|
+
border-bottom: 1px solid $primary-light;
|
51
|
+
}
|
52
|
+
}
|
53
|
+
|
54
|
+
hr {
|
55
|
+
height: 1px;
|
56
|
+
background: $border;
|
57
|
+
border: 0;
|
58
|
+
}
|
59
|
+
|
60
|
+
em {
|
61
|
+
font-style: italic;
|
62
|
+
}
|
63
|
+
|
64
|
+
abbr[title] {
|
65
|
+
text-decoration: none;
|
66
|
+
}
|
67
|
+
|
68
|
+
mark {
|
69
|
+
background: #ff0;
|
70
|
+
color: $heading-color;
|
71
|
+
}
|
72
|
+
|
73
|
+
code {
|
74
|
+
padding: 0.2em 0.4em;
|
75
|
+
font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
|
76
|
+
font-size: 0.9rem;
|
77
|
+
color: $code-text-color;
|
78
|
+
background-color: $code-bg-color;
|
79
|
+
border-radius: 3px;
|
80
|
+
}
|
81
|
+
|
82
|
+
pre {
|
83
|
+
padding: 0.8rem;
|
84
|
+
margin-top: 0;
|
85
|
+
margin-bottom: 1rem;
|
86
|
+
overflow-x: auto;
|
87
|
+
font: 1rem Consolas, "Liberation Mono", Menlo, Courier, monospace;
|
88
|
+
color: $code-text-color;
|
89
|
+
word-wrap: normal;
|
90
|
+
background-color: $code-bg-color;
|
91
|
+
border: solid 1px $border-color;
|
92
|
+
border-radius: 0.3rem;
|
93
|
+
|
94
|
+
> code {
|
95
|
+
padding: 0;
|
96
|
+
margin: 0;
|
97
|
+
font-size: 0.9rem;
|
98
|
+
color: $code-text-color;
|
99
|
+
word-break: normal;
|
100
|
+
white-space: pre;
|
101
|
+
background: transparent;
|
102
|
+
border: 0;
|
103
|
+
}
|
104
|
+
}
|
@@ -0,0 +1,55 @@
|
|
1
|
+
.btn,
|
2
|
+
input[type="submit"],
|
3
|
+
input[type="reset"],
|
4
|
+
input[type="button"] {
|
5
|
+
position: relative;
|
6
|
+
display: inline-block;
|
7
|
+
padding: 18px 30px;
|
8
|
+
font-size: 11px;
|
9
|
+
font-family: inherit;
|
10
|
+
line-height: 1.5;
|
11
|
+
letter-spacing: 0.2em;
|
12
|
+
text-decoration: none;
|
13
|
+
text-transform: uppercase;
|
14
|
+
white-space: nowrap;
|
15
|
+
cursor: pointer;
|
16
|
+
color: $bg-color;
|
17
|
+
background-color: $button-dark;
|
18
|
+
text-align: center;
|
19
|
+
border: 0;
|
20
|
+
border-radius: 0;
|
21
|
+
transition: all 0.45s cubic-bezier(0.25, 1, 0.33, 1);
|
22
|
+
outline: 0;
|
23
|
+
|
24
|
+
&::after {
|
25
|
+
display: none;
|
26
|
+
}
|
27
|
+
|
28
|
+
&:hover,
|
29
|
+
:focus,
|
30
|
+
:active {
|
31
|
+
color: $bg-color;
|
32
|
+
background-color: lighten($button-dark, 14%);
|
33
|
+
outline: 0;
|
34
|
+
}
|
35
|
+
}
|
36
|
+
|
37
|
+
.btn + .btn {
|
38
|
+
margin-top: 2em;
|
39
|
+
|
40
|
+
@include breakpoint(350px) {
|
41
|
+
margin-top: 0;
|
42
|
+
margin-left: 2em;
|
43
|
+
}
|
44
|
+
}
|
45
|
+
|
46
|
+
button:disabled {
|
47
|
+
cursor: not-allowed;
|
48
|
+
opacity: .65;
|
49
|
+
transition: background-color .2s ease;
|
50
|
+
|
51
|
+
&:hover,
|
52
|
+
:focus {
|
53
|
+
background-color: $button-dark;
|
54
|
+
}
|
55
|
+
}
|