not-pure-poole 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE.md +10 -0
- data/README.md +198 -0
- data/_includes/content.html +17 -0
- data/_includes/custom-head.html +6 -0
- data/_includes/disqus.html +17 -0
- data/_includes/google-analytics.html +9 -0
- data/_includes/head.html +12 -0
- data/_includes/home-header.html +13 -0
- data/_includes/scroll.html +40 -0
- data/_includes/sidebar-left.html +42 -0
- data/_includes/sidebar-right.html +8 -0
- data/_includes/toc.html +170 -0
- data/_layouts/archive-dates.html +46 -0
- data/_layouts/archive-taxonomies.html +85 -0
- data/_layouts/default.html +41 -0
- data/_layouts/home.html +45 -0
- data/_layouts/page.html +8 -0
- data/_layouts/post.html +49 -0
- data/_sass/_archive.scss +48 -0
- data/_sass/_base.scss +70 -0
- data/_sass/_code.scss +58 -0
- data/_sass/_home-header.scss +29 -0
- data/_sass/_layout.scss +77 -0
- data/_sass/_message.scss +12 -0
- data/_sass/_pagination.scss +52 -0
- data/_sass/_posts.scss +87 -0
- data/_sass/_sidebar.scss +90 -0
- data/_sass/_syntax.scss +65 -0
- data/_sass/_toc.scss +63 -0
- data/_sass/_type.scss +115 -0
- data/_sass/_variables.scss +73 -0
- data/assets/styles.scss +49 -0
- metadata +203 -0
@@ -0,0 +1,46 @@
|
|
1
|
+
---
|
2
|
+
layout: default
|
3
|
+
---
|
4
|
+
|
5
|
+
{% include home-header.html %}
|
6
|
+
|
7
|
+
<h1>{{ page.title }}</h1>
|
8
|
+
|
9
|
+
{%- assign taxonomies = site.posts | group_by_exp: "post", "post.date | date: '%Y'" -%}
|
10
|
+
|
11
|
+
<div class="taxonomies-wrapper">
|
12
|
+
<ul class="taxonomies">
|
13
|
+
{%- for taxonomy in taxonomies -%}
|
14
|
+
<li>
|
15
|
+
{%- capture link -%}{{ page.permalink }}#{{ taxonomy.name }}{%- endcapture -%}
|
16
|
+
<a class="taxonomy" href="{{ link | relative_url }}">
|
17
|
+
<span>{{ taxonomy.name }}</span>
|
18
|
+
<span class="taxonomy-count">{{ taxonomy.size }}</span>
|
19
|
+
</a>
|
20
|
+
</li>
|
21
|
+
{%- endfor -%}
|
22
|
+
</ul>
|
23
|
+
</div>
|
24
|
+
|
25
|
+
{% comment %} Show posts by taxonomy {% endcomment %}
|
26
|
+
{%- for taxonomy in taxonomies -%}
|
27
|
+
<h2 id="{{ taxonomy.name }}">
|
28
|
+
{{ taxonomy.name }}
|
29
|
+
</h2>
|
30
|
+
<ul class="post-list-by-taxonomy">
|
31
|
+
{%- assign posts = taxonomy.items -%}
|
32
|
+
{%- for post in posts -%}
|
33
|
+
<li>
|
34
|
+
<time datetime="{{ page.date | date_to_xmlschema }}">{{ post.date | date: "%Y-%m-%d" }}</time> » <a href="{{ post.url | relative_url }}">{{ post.title | escape }}</a>
|
35
|
+
</li>
|
36
|
+
{%- endfor -%}
|
37
|
+
</ul>
|
38
|
+
<a href="#" onclick="backToTop()" class="back-to-top">Top ⇈</a>
|
39
|
+
{%- endfor -%}
|
40
|
+
|
41
|
+
<script>
|
42
|
+
function backToTop() {
|
43
|
+
const main = document.getElementById("site-main");
|
44
|
+
main.scrollTop = 0;
|
45
|
+
}
|
46
|
+
</script>
|
@@ -0,0 +1,85 @@
|
|
1
|
+
---
|
2
|
+
layout: default
|
3
|
+
---
|
4
|
+
|
5
|
+
{% include home-header.html %}
|
6
|
+
|
7
|
+
<h1>{{ page.title }}</h1>
|
8
|
+
|
9
|
+
{% comment %} Check the type of archive {% endcomment %}
|
10
|
+
{%- if page.type == 'categories' -%}
|
11
|
+
{%- assign taxonomies = site.categories -%}
|
12
|
+
{%- elsif page.type == 'tags' -%}
|
13
|
+
{%- assign taxonomies = site.tags -%}
|
14
|
+
{%- else -%}
|
15
|
+
{%- assign taxonomies = none -%}
|
16
|
+
{%- endif -%}
|
17
|
+
|
18
|
+
{% comment %} Calculate the max count of taxonomies {% endcomment %}
|
19
|
+
{%- assign max_count = 0 -%}
|
20
|
+
{%- for taxonomy in taxonomies -%}
|
21
|
+
{%- assign posts = taxonomy[1] -%}
|
22
|
+
{%- if posts.size > max_count -%}
|
23
|
+
{%- assign max_count = posts.size -%}
|
24
|
+
{%- endif -%}
|
25
|
+
{%- endfor -%}
|
26
|
+
|
27
|
+
<div class="taxonomies-wrapper">
|
28
|
+
<ul class="taxonomies">
|
29
|
+
{%- for i in (1..max_count) reversed -%}
|
30
|
+
{%- for taxonomy in taxonomies -%}
|
31
|
+
{%- assign taxonomy_name = taxonomy[0] -%}
|
32
|
+
{%- assign slugified_taxonomy_name = taxonomy_name | slugify -%}
|
33
|
+
{%- assign posts = taxonomy[1] -%}
|
34
|
+
{%- if posts.size == i -%}
|
35
|
+
<li>
|
36
|
+
{%- capture link -%}{{ page.permalink }}#{{ slugified_taxonomy_name }}{%- endcapture -%}
|
37
|
+
<a class="taxonomy" href="{{ link | relative_url }}">
|
38
|
+
<span>
|
39
|
+
{%- if page.type == 'tags' -%}
|
40
|
+
{{ slugified_taxonomy_name }}
|
41
|
+
{%- else -%}
|
42
|
+
{{ taxonomy_name }}
|
43
|
+
{%- endif -%}
|
44
|
+
</span>
|
45
|
+
<span class="taxonomy-count">{{ posts.size }}</span>
|
46
|
+
</a>
|
47
|
+
</li>
|
48
|
+
{%- endif -%}
|
49
|
+
{%- endfor -%}
|
50
|
+
{%- endfor -%}
|
51
|
+
</ul>
|
52
|
+
</div>
|
53
|
+
|
54
|
+
{% comment %} Show posts by taxonomy {% endcomment %}
|
55
|
+
{%- for i in (1..max_count) reversed -%}
|
56
|
+
{%- for taxonomy in taxonomies -%}
|
57
|
+
{%- assign taxonomy_name = taxonomy[0] -%}
|
58
|
+
{%- assign slugified_taxonomy_name = taxonomy_name | slugify -%}
|
59
|
+
{%- assign posts = taxonomy[1] -%}
|
60
|
+
{%- if posts.size == i -%}
|
61
|
+
<h2 id="{{ slugified_taxonomy_name }}">
|
62
|
+
{%- if page.type == 'tags' -%}
|
63
|
+
{{ slugified_taxonomy_name }}
|
64
|
+
{%- else -%}
|
65
|
+
{{ taxonomy_name }}
|
66
|
+
{%- endif -%}
|
67
|
+
</h2>
|
68
|
+
<ul class="post-list-by-taxonomy">
|
69
|
+
{%- for post in posts -%}
|
70
|
+
<li>
|
71
|
+
<time datetime="{{ page.date | date_to_xmlschema }}">{{ post.date | date: "%Y-%m-%d" }}</time> » <a href="{{ post.url | relative_url }}">{{ post.title | escape }}</a>
|
72
|
+
</li>
|
73
|
+
{%- endfor -%}
|
74
|
+
</ul>
|
75
|
+
<a href="#" onclick="backToTop()" class="back-to-top">Top ⇈</a>
|
76
|
+
{%- endif -%}
|
77
|
+
{%- endfor -%}
|
78
|
+
{%- endfor -%}
|
79
|
+
|
80
|
+
<script>
|
81
|
+
function backToTop() {
|
82
|
+
const main = document.getElementById("site-main");
|
83
|
+
main.scrollTop = 0;
|
84
|
+
}
|
85
|
+
</script>
|
@@ -0,0 +1,41 @@
|
|
1
|
+
<!doctype html>
|
2
|
+
<html lang="{{ page.lang | default: site.lang | default: "en" }}">
|
3
|
+
|
4
|
+
{% include head.html %}
|
5
|
+
|
6
|
+
<body>
|
7
|
+
|
8
|
+
<div class="container pure-g">
|
9
|
+
{%- assign cover_bg_color = site.cover_bg_color | default: "rgb(40, 73, 77)" -%}
|
10
|
+
{%- assign cover_color = site.cover_color | default: "rgb(255, 255, 255)" -%}
|
11
|
+
{%- assign cover_image = site.cover_image -%}
|
12
|
+
{%- if page.cover_bg_color -%}
|
13
|
+
{%- assign cover_bg_color = page.cover_bg_color -%}
|
14
|
+
{%- endif -%}
|
15
|
+
{%- if page.cover_color -%}
|
16
|
+
{%- assign cover_color = page.cover_color -%}
|
17
|
+
{%- endif -%}
|
18
|
+
{%- if page.cover_image -%}
|
19
|
+
{%- assign cover_image = page.cover_image -%}
|
20
|
+
{%- endif -%}
|
21
|
+
<div class="sidebar-left pure-u-1 pure-u-md-1-4" style="background-color: {{ cover_bg_color }}; color: {{ cover_color}}; {% if cover_image %}background-image: url({{ cover_image | relative_url }});{% endif %}">
|
22
|
+
{%- include sidebar-left.html -%}
|
23
|
+
</div>
|
24
|
+
|
25
|
+
<div class="content pure-u-1 pure-u-md-1-2">
|
26
|
+
{%- include content.html -%}
|
27
|
+
</div>
|
28
|
+
<div class="sidebar-right pure-u-1 pure-u-md-1-4">
|
29
|
+
{%- include sidebar-right.html -%}
|
30
|
+
</div>
|
31
|
+
</div>
|
32
|
+
|
33
|
+
<script async src="https://use.fontawesome.com/releases/v5.0.12/js/all.js"></script>
|
34
|
+
|
35
|
+
{%- include scroll.html -%}
|
36
|
+
|
37
|
+
{%- if jekyll.environment == 'production' and site.google_analytics -%}
|
38
|
+
{%- include google-analytics.html -%}
|
39
|
+
{%- endif -%}
|
40
|
+
</body>
|
41
|
+
</html>
|
data/_layouts/home.html
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
---
|
2
|
+
layout: default
|
3
|
+
---
|
4
|
+
|
5
|
+
{% include home-header.html %}
|
6
|
+
|
7
|
+
<div class="posts">
|
8
|
+
{% for post in paginator.posts %}
|
9
|
+
<section class="post-entry">
|
10
|
+
<h2 class="post-title">
|
11
|
+
<a href="{{ post.url | relative_url }}">
|
12
|
+
{{ post.title }}
|
13
|
+
</a>
|
14
|
+
</h2>
|
15
|
+
|
16
|
+
<div class="post-meta">
|
17
|
+
<time datetime="{{ post.date | date_to_xmlschema }}">{{ post.date | date_to_string }}</time>
|
18
|
+
{%- if jekyll.environment == "production" and site.disqus -%}
|
19
|
+
<span> • </span>
|
20
|
+
<a class="comment-count" href="{{ post.url | relative_url }}#disqus_thread">
|
21
|
+
<span class="disqus-comment-count" data-disqus-url="{{ post.url | absolute_url }}"></span>
|
22
|
+
</a>
|
23
|
+
{%- endif -%}
|
24
|
+
</div>
|
25
|
+
|
26
|
+
<p>{{ post.excerpt | strip_html }}</p>
|
27
|
+
</section>
|
28
|
+
{% endfor %}
|
29
|
+
{%- if jekyll.environment == "production" and site.disqus -%}
|
30
|
+
<script id="dsq-count-scr" src="//{{ site.disqus }}.disqus.com/count.js" async></script>
|
31
|
+
{%- endif -%}
|
32
|
+
</div>
|
33
|
+
|
34
|
+
<div class="pagination">
|
35
|
+
{% if paginator.next_page %}
|
36
|
+
<a class="pagination-item older" href="{{ paginator.next_page_path | relative_url }}">Older</a>
|
37
|
+
{% else %}
|
38
|
+
<span class="pagination-item older">Older</span>
|
39
|
+
{% endif %}
|
40
|
+
{% if paginator.previous_page %}
|
41
|
+
<a class="pagination-item newer" href="{{ paginator.previous_page_path | prepend: relative_url }}">Newer</a>
|
42
|
+
{% else %}
|
43
|
+
<span class="pagination-item newer">Newer</span>
|
44
|
+
{% endif %}
|
45
|
+
</div>
|
data/_layouts/page.html
ADDED
data/_layouts/post.html
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
---
|
2
|
+
layout: default
|
3
|
+
---
|
4
|
+
|
5
|
+
<article class="post">
|
6
|
+
<h1 class="post-title">{{ page.title }}</h1>
|
7
|
+
<div class="post-meta">
|
8
|
+
{%- assign date_format = site.date_format | default: "%-d %b %Y" -%}
|
9
|
+
<time datetime="{{ page.date | date_to_xmlschema }}" itemprop="datePublished">{{ page.date | date: date_format }}</time>
|
10
|
+
{%- if page.last_modified_at -%}
|
11
|
+
<span> ~ </span>
|
12
|
+
{%- assign mdate = page.last_modified_at | date_to_xmlschema -%}
|
13
|
+
<time datetime="{{ mdate }}" itemprop="dateModified">
|
14
|
+
{{ mdate | date: date_format }}
|
15
|
+
</time>
|
16
|
+
{%- endif -%}
|
17
|
+
{%- if page.author -%}
|
18
|
+
<span> • </span>
|
19
|
+
{% for author in page.author %}
|
20
|
+
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
|
21
|
+
{{ author }}
|
22
|
+
</span>
|
23
|
+
{%- if forloop.last == false %}, {% endif -%}
|
24
|
+
{% endfor %}
|
25
|
+
{%- endif -%}
|
26
|
+
</div>
|
27
|
+
|
28
|
+
{{ content }}
|
29
|
+
|
30
|
+
{% if jekyll.environment == "production" and site.disqus and page.comments != false %}
|
31
|
+
{% include disqus.html %}
|
32
|
+
{% endif %}
|
33
|
+
</article>
|
34
|
+
|
35
|
+
{% if site.related_posts != empty %}
|
36
|
+
<aside class="related">
|
37
|
+
<h3>Related posts</h3>
|
38
|
+
<ul class="related-posts">
|
39
|
+
{% for post in site.related_posts limit:3 %}
|
40
|
+
<li>
|
41
|
+
<a href="{{ post.url | relative_url }}">
|
42
|
+
{{ post.title }}
|
43
|
+
<small><time datetime="{{ post.date | date_to_xmlschema }}">{{ post.date | date_to_string }}</time></small>
|
44
|
+
</a>
|
45
|
+
</li>
|
46
|
+
{% endfor %}
|
47
|
+
</ul>
|
48
|
+
</aside>
|
49
|
+
{% endif %}
|
data/_sass/_archive.scss
ADDED
@@ -0,0 +1,48 @@
|
|
1
|
+
// Archive
|
2
|
+
//
|
3
|
+
// Styles for archive pages.
|
4
|
+
|
5
|
+
.taxonomies-wrapper {
|
6
|
+
margin-top: var(--spacer-2);
|
7
|
+
margin-bottom: var(--spacer-2);
|
8
|
+
}
|
9
|
+
|
10
|
+
.taxonomies {
|
11
|
+
list-style: none;
|
12
|
+
display: grid;
|
13
|
+
grid-column-gap: 2em;
|
14
|
+
grid-template-columns: repeat(3, 1fr);
|
15
|
+
margin: 0;
|
16
|
+
padding: 0;
|
17
|
+
font-weight: bold;
|
18
|
+
|
19
|
+
.taxonomy {
|
20
|
+
display: flex;
|
21
|
+
padding: 0.25em 0;
|
22
|
+
justify-content: space-between;
|
23
|
+
color: inherit;
|
24
|
+
text-decoration: none;
|
25
|
+
border-bottom: 1px solid;
|
26
|
+
margin-bottom: var(--spacer);
|
27
|
+
}
|
28
|
+
}
|
29
|
+
|
30
|
+
.post-list-by-taxonomy {
|
31
|
+
time {
|
32
|
+
font-family: var(--code-font);
|
33
|
+
}
|
34
|
+
}
|
35
|
+
|
36
|
+
.back-to-top {
|
37
|
+
display: block;
|
38
|
+
font-size: 0.8em;
|
39
|
+
text-transform: uppercase;
|
40
|
+
text-align: right;
|
41
|
+
text-decoration: none;
|
42
|
+
}
|
43
|
+
|
44
|
+
@media (max-width: $sm-width) {
|
45
|
+
.taxonomies {
|
46
|
+
grid-template-columns: repeat(2, 1fr);
|
47
|
+
}
|
48
|
+
}
|
data/_sass/_base.scss
ADDED
@@ -0,0 +1,70 @@
|
|
1
|
+
// Body resets
|
2
|
+
//
|
3
|
+
// Update the foundational and global aspects of the page.
|
4
|
+
|
5
|
+
* {
|
6
|
+
box-sizing: border-box;
|
7
|
+
}
|
8
|
+
|
9
|
+
body {
|
10
|
+
margin: 0;
|
11
|
+
font-family: var(--body-font);
|
12
|
+
font-size: var(--body-font-size);
|
13
|
+
line-height: var(--body-line-height);
|
14
|
+
color: var(--body-color);
|
15
|
+
background-color: var(--body-bg);
|
16
|
+
-webkit-text-size-adjust: 100%;
|
17
|
+
-ms-text-size-adjust: 100%;
|
18
|
+
}
|
19
|
+
|
20
|
+
// No `:visited` state is required by default (browsers will use `a`)
|
21
|
+
a {
|
22
|
+
color: var(--link-color);
|
23
|
+
|
24
|
+
// `:focus` is linked to `:hover` for basic accessibility
|
25
|
+
&:hover,
|
26
|
+
&:focus {
|
27
|
+
color: var(--link-hover-color);
|
28
|
+
}
|
29
|
+
|
30
|
+
strong {
|
31
|
+
color: inherit;
|
32
|
+
}
|
33
|
+
}
|
34
|
+
|
35
|
+
img {
|
36
|
+
display: block;
|
37
|
+
max-width: 100%;
|
38
|
+
margin-bottom: var(--spacer);
|
39
|
+
border-radius: var(--border-radius);
|
40
|
+
}
|
41
|
+
|
42
|
+
table {
|
43
|
+
margin-bottom: 1rem;
|
44
|
+
width: 100%;
|
45
|
+
border: 0 solid var(--border-color);
|
46
|
+
border-collapse: collapse;
|
47
|
+
}
|
48
|
+
|
49
|
+
td,
|
50
|
+
th {
|
51
|
+
padding: .25rem .5rem;
|
52
|
+
border-color: inherit;
|
53
|
+
border-style: solid;
|
54
|
+
border-width: 0;
|
55
|
+
border-bottom-width: 1px;
|
56
|
+
}
|
57
|
+
|
58
|
+
th {
|
59
|
+
text-align: left;
|
60
|
+
}
|
61
|
+
|
62
|
+
thead th {
|
63
|
+
border-bottom-color: currentColor;
|
64
|
+
}
|
65
|
+
|
66
|
+
mark {
|
67
|
+
padding: .15rem;
|
68
|
+
background-color: var(--yellow-100);
|
69
|
+
border-radius: .125rem;
|
70
|
+
}
|
data/_sass/_code.scss
ADDED
@@ -0,0 +1,58 @@
|
|
1
|
+
// Code
|
2
|
+
//
|
3
|
+
// Inline and block-level code snippets. Includes tweaks to syntax highlighted
|
4
|
+
// snippets from Pygments/Rouge and Gist embeds.
|
5
|
+
|
6
|
+
code,
|
7
|
+
pre {
|
8
|
+
font-family: var(--code-font);
|
9
|
+
}
|
10
|
+
|
11
|
+
code {
|
12
|
+
font-size: 85%;
|
13
|
+
}
|
14
|
+
|
15
|
+
pre {
|
16
|
+
display: block;
|
17
|
+
margin-top: 0;
|
18
|
+
margin-bottom: var(--spacer-3);
|
19
|
+
overflow: auto;
|
20
|
+
}
|
21
|
+
|
22
|
+
.highlight {
|
23
|
+
padding: var(--spacer);
|
24
|
+
margin-bottom: var(--spacer);
|
25
|
+
background-color: var(--code-bg);
|
26
|
+
border-radius: var(--border-radius);
|
27
|
+
|
28
|
+
pre {
|
29
|
+
margin-bottom: 0;
|
30
|
+
}
|
31
|
+
|
32
|
+
// Triple backticks (code fencing) doubles the .highlight elements
|
33
|
+
.highlight {
|
34
|
+
padding: 0;
|
35
|
+
}
|
36
|
+
}
|
37
|
+
|
38
|
+
.rouge-table {
|
39
|
+
margin-bottom: 0;
|
40
|
+
font-size: 100%;
|
41
|
+
|
42
|
+
&,
|
43
|
+
td,
|
44
|
+
th {
|
45
|
+
border: 0;
|
46
|
+
}
|
47
|
+
|
48
|
+
.gutter {
|
49
|
+
vertical-align: top;
|
50
|
+
user-select: none;
|
51
|
+
opacity: .25;
|
52
|
+
}
|
53
|
+
}
|
54
|
+
|
55
|
+
// Gist via GitHub Pages
|
56
|
+
.gist .markdown-body {
|
57
|
+
padding: 15px !important;
|
58
|
+
}
|