not-pure-poole 0.1.0
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.
- 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
|
+
}
|