coppermind 0.1.2 → 2.3
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 +4 -4
- data/LICENSE.txt +22 -0
- data/README.md +3 -0
- data/_config.yml +45 -0
- data/_includes/archive-by-tagories.html +71 -0
- data/_includes/archive-by-years.html +32 -0
- data/_includes/back-to-top.html +6 -0
- data/_includes/custom-head.html +6 -0
- data/_includes/disqus.html +17 -0
- data/_includes/footer.html +39 -0
- data/_includes/google-analytics.html +9 -0
- data/_includes/head.html +13 -0
- data/_includes/header.html +20 -0
- data/_includes/mathjax.html +2 -0
- data/_layouts/archive.html +15 -0
- data/_layouts/default.html +23 -0
- data/_layouts/home.html +44 -0
- data/_layouts/page.html +8 -0
- data/_layouts/post.html +86 -0
- data/_sass/monophase/_base.scss +128 -0
- data/_sass/monophase/_highlight-dark.scss +91 -0
- data/_sass/monophase/_highlight-light.scss +217 -0
- data/_sass/monophase/_layout.scss +359 -0
- data/_sass/monophase/_predefined.scss +59 -0
- data/_sass/monophase/_variables.scss +54 -0
- data/_sass/monophase/main.scss +9 -0
- data/assets/monophase/styles.scss +3 -0
- data/assets/normalize.css +349 -0
- data/assets/open-color.css +343 -0
- metadata +38 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d85311b5f847dd20ebc63db72f8efc2525074715d54ebf76d1d9b1732af17303
|
4
|
+
data.tar.gz: 1f0b0cc4e492500878c5bafff2146ea220719c3ebd2753e78117e63fba0cc546
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6223994aba02357d888488e8152040b796c5d2e819b5633a66013bcb8410415b965724f6fe9df87ca972b943200e6e3ff1726ea0a2d064e2eb7ea03d38c12545
|
7
|
+
data.tar.gz: da4614c409421179969f7e37a360b1c698e620038aae0100280eaf40882ebe04c846ca558ed266141913e803577101d3a3bf6decf9f66426e7d189dc5a9f2331
|
data/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Copyright (c) 2021 Jesse Williamson
|
4
|
+
Copyright (c) 2021 Song-Zi Vong
|
5
|
+
|
6
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
7
|
+
of this software and associated documentation files (the "Software"), to deal
|
8
|
+
in the Software without restriction, including without limitation the rights
|
9
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
10
|
+
copies of the Software, and to permit persons to whom the Software is
|
11
|
+
furnished to do so, subject to the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be included in
|
14
|
+
all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
17
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
18
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
19
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
20
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
21
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
22
|
+
THE SOFTWARE.
|
data/README.md
ADDED
data/_config.yml
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
# Welcome to Jekyll!
|
2
|
+
#
|
3
|
+
# This config file is meant for settings that affect your whole blog, values
|
4
|
+
# which you are expected to set up once and rarely edit after that. If you find
|
5
|
+
# yourself editing this file very often, consider using Jekyll's data files
|
6
|
+
# feature for the data you need to update frequently.
|
7
|
+
#
|
8
|
+
# For technical reasons, this file is *NOT* reloaded automatically when you use
|
9
|
+
# 'bundle exec jekyll serve'. If you change this file, please restart the server process.
|
10
|
+
|
11
|
+
# Site settings
|
12
|
+
# These are used to personalize your new site. If you look in the HTML files,
|
13
|
+
# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
|
14
|
+
# You can create any custom variable you would like, and they will be accessible
|
15
|
+
# in the templates via {{ site.myvariable }}.
|
16
|
+
title: Coppermind
|
17
|
+
tagline:
|
18
|
+
author:
|
19
|
+
name: Jesse Williamson
|
20
|
+
|
21
|
+
# Build settings
|
22
|
+
markdown: kramdown
|
23
|
+
plugins:
|
24
|
+
- jekyll-feed
|
25
|
+
- jekyll-paginate
|
26
|
+
- jekyll-seo-tag
|
27
|
+
- kramdown-parser-gfm
|
28
|
+
|
29
|
+
paginate: 2
|
30
|
+
|
31
|
+
tags_path: /tags/
|
32
|
+
categories_path: /categories/
|
33
|
+
|
34
|
+
|
35
|
+
# Exclude from processing.
|
36
|
+
# The following items will not be processed, by default. Create a custom list
|
37
|
+
# to override the default setting.
|
38
|
+
# exclude:
|
39
|
+
# - Gemfile
|
40
|
+
# - Gemfile.lock
|
41
|
+
# - node_modules
|
42
|
+
# - vendor/bundle/
|
43
|
+
# - vendor/cache/
|
44
|
+
# - vendor/gems/
|
45
|
+
# - vendor/ruby/
|
@@ -0,0 +1,71 @@
|
|
1
|
+
{%- if page.type == 'categories' -%}
|
2
|
+
{%- assign taxonomies = site.categories -%}
|
3
|
+
{%- elsif page.type == 'tags' -%}
|
4
|
+
{%- assign taxonomies = site.tags -%}
|
5
|
+
{%- else -%}
|
6
|
+
{%- assign taxonomies = none -%}
|
7
|
+
{%- endif -%}
|
8
|
+
|
9
|
+
{%- assign max_count = 0 -%}
|
10
|
+
{%- for taxonomy in taxonomies -%}
|
11
|
+
{%- assign posts = taxonomy[1] -%}
|
12
|
+
{%- if posts.size > max_count -%}
|
13
|
+
{%- assign max_count = posts.size -%}
|
14
|
+
{%- endif -%}
|
15
|
+
{%- endfor -%}
|
16
|
+
|
17
|
+
<div class="taxonomies-wrapper">
|
18
|
+
<ul class="taxonomies">
|
19
|
+
{%- for i in (1..max_count) reversed -%}
|
20
|
+
{%- for taxonomy in taxonomies -%}
|
21
|
+
{%- assign taxonomy_name = taxonomy[0] -%}
|
22
|
+
{%- assign slugified_taxonomy_name = taxonomy_name | slugify -%}
|
23
|
+
{%- assign posts = taxonomy[1] -%}
|
24
|
+
{%- if posts.size == i -%}
|
25
|
+
<li>
|
26
|
+
{%- capture link -%}{{ page.permalink }}#{{ slugified_taxonomy_name }}{%- endcapture -%}
|
27
|
+
<a class="taxonomy" href="{{ link | relative_url }}">
|
28
|
+
<span>
|
29
|
+
{%- if page.type == 'tags' -%}
|
30
|
+
{{ slugified_taxonomy_name }}
|
31
|
+
{%- else -%}
|
32
|
+
{{ taxonomy_name }}
|
33
|
+
{%- endif -%}
|
34
|
+
</span>
|
35
|
+
<span class="taxonomy-count">{{ posts.size }}</span>
|
36
|
+
</a>
|
37
|
+
</li>
|
38
|
+
{%- endif -%}
|
39
|
+
{%- endfor -%}
|
40
|
+
{%- endfor -%}
|
41
|
+
</ul>
|
42
|
+
</div>
|
43
|
+
|
44
|
+
{%- for i in (1..max_count) reversed -%}
|
45
|
+
{%- for taxonomy in taxonomies -%}
|
46
|
+
{%- assign taxonomy_name = taxonomy[0] -%}
|
47
|
+
{%- assign slugified_taxonomy_name = taxonomy_name | slugify -%}
|
48
|
+
{%- assign posts = taxonomy[1] -%}
|
49
|
+
{%- if posts.size == i -%}
|
50
|
+
<h2 id="{{ slugified_taxonomy_name }}">
|
51
|
+
{%- if page.type == 'tags' -%}
|
52
|
+
{{ slugified_taxonomy_name }}
|
53
|
+
{%- else -%}
|
54
|
+
{{ taxonomy_name }}
|
55
|
+
{%- endif -%}
|
56
|
+
</h2>
|
57
|
+
<ul class="post-list-by-taxonomy">
|
58
|
+
{%- for post in posts -%}
|
59
|
+
<li>
|
60
|
+
<time datetime="{{ page.date | date_to_xmlschema }}">{{ post.date | date: "%Y-%m-%d" }}</time>
|
61
|
+
»
|
62
|
+
<a href="{{ post.url | relative_url }}">{{ post.title | escape }}</a>
|
63
|
+
</li>
|
64
|
+
{%- endfor -%}
|
65
|
+
</ul>
|
66
|
+
<a href="#" onclick="backToTop()" class="back-to-top">^</a>
|
67
|
+
{%- endif -%}
|
68
|
+
{%- endfor -%}
|
69
|
+
{%- endfor -%}
|
70
|
+
|
71
|
+
{% include back-to-top.html %}
|
@@ -0,0 +1,32 @@
|
|
1
|
+
{% assign taxonomies = site.posts | group_by_exp: "post", "post.date | date: '%Y'" %}
|
2
|
+
|
3
|
+
<div class="taxonomies-wrapper">
|
4
|
+
<ul class="taxonomies">
|
5
|
+
{%- for taxonomy in taxonomies -%}
|
6
|
+
<li>
|
7
|
+
{%- capture link -%}{{ page.permalink }}#{{ taxonomy.name }}{%- endcapture -%}
|
8
|
+
<a class="taxonomy" href="{{ link | relative_url }}">
|
9
|
+
<span>{{ taxonomy.name }}</span>
|
10
|
+
<span class="taxonomy-count">{{ taxonomy.size }}</span>
|
11
|
+
</a>
|
12
|
+
</li>
|
13
|
+
{%- endfor -%}
|
14
|
+
</ul>
|
15
|
+
</div>
|
16
|
+
|
17
|
+
{%- for taxonomy in taxonomies -%}
|
18
|
+
<h2 id="{{ taxonomy.name }}">{{ taxonomy.name }}</h2>
|
19
|
+
<ul class="post-list-by-taxonomy">
|
20
|
+
{%- assign posts = taxonomy.items -%}
|
21
|
+
{%- for post in posts -%}
|
22
|
+
<li>
|
23
|
+
<time datetime="{{ page.date | date_to_xmlschema }}">{{ post.date | date: "%Y-%m-%d" }}</time>
|
24
|
+
»
|
25
|
+
<a href="{{ post.url | relative_url }}">{{ post.title | escape }}</a>
|
26
|
+
</li>
|
27
|
+
{%- endfor -%}
|
28
|
+
</ul>
|
29
|
+
<a href="#" onclick="backToTop()" class="back-to-top">^</a>
|
30
|
+
{%- endfor -%}
|
31
|
+
|
32
|
+
{% include back-to-top.html %}
|
@@ -0,0 +1,6 @@
|
|
1
|
+
{% comment %}
|
2
|
+
Placeholder to allow defining custom head, in principle, you can add anything here, e.g. favicons:
|
3
|
+
|
4
|
+
1. Head over to https://realfavicongenerator.net/ to add your own favicons.
|
5
|
+
2. Customize default _includes/custom-head.html in your source directory and insert the given code snippet.
|
6
|
+
{% endcomment %}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<div id="disqus_thread"></div>
|
2
|
+
<script>
|
3
|
+
var disqus_config = function () {
|
4
|
+
this.page.url = '{{ page.url | absolute_url }}';
|
5
|
+
this.page.identifier = '{{ page.url | absolute_url }}';
|
6
|
+
};
|
7
|
+
|
8
|
+
(function() {
|
9
|
+
var d = document, s = d.createElement('script');
|
10
|
+
|
11
|
+
s.src = 'https://{{ site.disqus }}.disqus.com/embed.js';
|
12
|
+
|
13
|
+
s.setAttribute('data-timestamp', +new Date());
|
14
|
+
(d.head || d.body).appendChild(s);
|
15
|
+
})();
|
16
|
+
</script>
|
17
|
+
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript" rel="nofollow">comments powered by Disqus.</a></noscript>
|
@@ -0,0 +1,39 @@
|
|
1
|
+
<footer class="footer">
|
2
|
+
<div class="footer-column">
|
3
|
+
<p>
|
4
|
+
<small>
|
5
|
+
©
|
6
|
+
{%- assign date_from = site.posts[-1].date | date_to_xmlschema -%}
|
7
|
+
{%- assign year_from = date_from | date: '%Y' -%}
|
8
|
+
{%- assign date_to = site.time | date_to_xmlschema -%}
|
9
|
+
{%- assign year_to = date_to | date: '%Y' -%}
|
10
|
+
{%- unless year_from == nil or year_from == year_to -%}
|
11
|
+
<time datetime="{{ date_from }}">{{ year_from }}</time>-
|
12
|
+
{%- endunless -%}
|
13
|
+
<time datetime="{{ date_to }}">{{ year_to }}</time>
|
14
|
+
{%- if site.author -%}
|
15
|
+
<a href="{{ site.author.url }}" target="_blank">{{ site.author.name }}</a>
|
16
|
+
{%- endif -%}
|
17
|
+
. All right reserved.
|
18
|
+
</small>
|
19
|
+
</p>
|
20
|
+
<p>
|
21
|
+
<small>
|
22
|
+
Powered by <a href="https://github.com/JustSoval/Coppermind" target="_blank">Coppermind</a>
|
23
|
+
</small>
|
24
|
+
</p>
|
25
|
+
</div>
|
26
|
+
{% if site.data.social %}
|
27
|
+
<div class="footer-column">
|
28
|
+
<ul class="social-icons">
|
29
|
+
{% for social in site.data.social %}
|
30
|
+
<li class="social-icon-item">
|
31
|
+
<a class="social-icon" href="{{ social.url }}" target="_blank">
|
32
|
+
<i class="{{ social.icon | default: 'fas fa-link' }}" title="{{ social.title }}"></i>
|
33
|
+
</a>
|
34
|
+
</li>
|
35
|
+
{% endfor %}
|
36
|
+
</ul>
|
37
|
+
</div>
|
38
|
+
{% endif %}
|
39
|
+
</footer>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<!-- Global site tag (gtag.js) - Google Analytics -->
|
2
|
+
<script async src="https://www.googletagmanager.com/gtag/js?id={{ site.google_analytics }}"></script>
|
3
|
+
<script>
|
4
|
+
window.dataLayer = window.dataLayer || [];
|
5
|
+
function gtag(){dataLayer.push(arguments);}
|
6
|
+
gtag('js', new Date());
|
7
|
+
|
8
|
+
gtag('config', '{{ site.google_analytics }}');
|
9
|
+
</script>
|
data/_includes/head.html
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
<head>
|
2
|
+
<meta charset="UTF-8">
|
3
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
4
|
+
<link rel="stylesheet" href="{{ 'assets/normalize.css' | relative_url }}">
|
5
|
+
<link rel="stylesheet" href="{{ 'assets/open-color.css' | relative_url }}">
|
6
|
+
<link rel="stylesheet" href="{{ 'assets/monophase/styles.css' | relative_url }}">
|
7
|
+
{% feed_meta %}
|
8
|
+
{% seo %}
|
9
|
+
|
10
|
+
<script async src="https://use.fontawesome.com/releases/v5.0.12/js/all.js"></script>
|
11
|
+
|
12
|
+
{% include custom-head.html %}
|
13
|
+
</head>
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<header class="masthead">
|
2
|
+
<div class="masthead-title">
|
3
|
+
<a href="{{ '/' | relative_url }}" title="Home">{{ site.title }}</a>
|
4
|
+
<small class="tagline">{{ site.tagline }}</small>
|
5
|
+
</div>
|
6
|
+
|
7
|
+
{% if site.data.navigation %}
|
8
|
+
<nav class="nav">
|
9
|
+
<ul class="nav-list">
|
10
|
+
{% for item in site.data.navigation %}
|
11
|
+
<li class="nav-item">
|
12
|
+
<a href="{{ item.url | relative_url }}" class="{% if page.url == item.url %}current{% endif %}">
|
13
|
+
{{ item.title }}
|
14
|
+
</a>
|
15
|
+
</li>
|
16
|
+
{% endfor %}
|
17
|
+
</ul>
|
18
|
+
</nav>
|
19
|
+
{% endif %}
|
20
|
+
</header>
|
@@ -0,0 +1,23 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="{{ page.lang | default: site.lang | default: 'en' }}">
|
3
|
+
{% include head.html %}
|
4
|
+
<body>
|
5
|
+
<div class="container">
|
6
|
+
{% include header.html %}
|
7
|
+
|
8
|
+
<main>
|
9
|
+
{{ content }}
|
10
|
+
</main>
|
11
|
+
|
12
|
+
{% include footer.html %}
|
13
|
+
</div>
|
14
|
+
|
15
|
+
{% if page.math %}
|
16
|
+
{% include mathjax.html %}
|
17
|
+
{% endif %}
|
18
|
+
|
19
|
+
{% if jekyll.environment == 'production' and site.google_analytics %}
|
20
|
+
{% include google-analytics.html %}
|
21
|
+
{% endif %}
|
22
|
+
</body>
|
23
|
+
</html>
|
data/_layouts/home.html
ADDED
@@ -0,0 +1,44 @@
|
|
1
|
+
---
|
2
|
+
layout: default
|
3
|
+
---
|
4
|
+
|
5
|
+
<div class="posts">
|
6
|
+
{% assign posts = site.posts %}
|
7
|
+
{% if paginator %}
|
8
|
+
{% assign posts = paginator.posts %}
|
9
|
+
{% endif %}
|
10
|
+
{% for post in posts %}
|
11
|
+
<div class="post">
|
12
|
+
<h2 class="post-title">
|
13
|
+
<a href="{{ post.url | relative_url }}">
|
14
|
+
{{ post.title }}
|
15
|
+
</a>
|
16
|
+
</h2>
|
17
|
+
|
18
|
+
<time datetime="{{ post.date | date_to_xmlschema }}" class="post-meta">{{ post.date | date_to_string }}</time>
|
19
|
+
|
20
|
+
<p class="post-excerpt">
|
21
|
+
{% if post.description %}
|
22
|
+
{{ post.description | strip_html }}
|
23
|
+
{% else %}
|
24
|
+
{{ post.excerpt | strip_html }}
|
25
|
+
{% endif %}
|
26
|
+
</p>
|
27
|
+
</div>
|
28
|
+
{% endfor %}
|
29
|
+
</div>
|
30
|
+
|
31
|
+
{% if paginator %}
|
32
|
+
<div class="pagination">
|
33
|
+
{% if paginator.next_page %}
|
34
|
+
<a class="pagination-item older" href="{{ paginator.next_page_path | relative_url }}">Older</a>
|
35
|
+
{% else %}
|
36
|
+
<span class="pagination-item older">Older</span>
|
37
|
+
{% endif %}
|
38
|
+
{% if paginator.previous_page %}
|
39
|
+
<a class="pagination-item newer" href="{{ paginator.previous_page_path | relative_url }}">Newer</a>
|
40
|
+
{% else %}
|
41
|
+
<span class="pagination-item newer">Newer</span>
|
42
|
+
{% endif %}
|
43
|
+
</div>
|
44
|
+
{% endif %}
|
data/_layouts/page.html
ADDED
data/_layouts/post.html
ADDED
@@ -0,0 +1,86 @@
|
|
1
|
+
---
|
2
|
+
layout: default
|
3
|
+
---
|
4
|
+
|
5
|
+
<article class="post">
|
6
|
+
<h1 class="post-title">{{ page.title }}</h1>
|
7
|
+
<div class="post-meta">
|
8
|
+
<time datetime="{{ page.date | date_to_xmlschema }}" itemprop="datePublished">
|
9
|
+
{{ page.date | date_to_string }}
|
10
|
+
</time>
|
11
|
+
{%- if page.last_modified_at -%}
|
12
|
+
<span> ~ </span>
|
13
|
+
{%- assign mdate = page.last_modified_at | date_to_xmlschema -%}
|
14
|
+
<time datetime="{{ mdate }}" itemprop="dateModified">
|
15
|
+
{{ mdate | date_to_string }}
|
16
|
+
</time>
|
17
|
+
{%- endif -%}
|
18
|
+
{%- if page.author -%}
|
19
|
+
<span> • </span>
|
20
|
+
{% for author in page.author %}
|
21
|
+
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
|
22
|
+
{{ author }}
|
23
|
+
</span>
|
24
|
+
{%- if forloop.last == false %}, {% endif -%}
|
25
|
+
{% endfor %}
|
26
|
+
{%- endif -%}
|
27
|
+
{% if page.categories.size > 0 %}
|
28
|
+
<span> • </span>
|
29
|
+
<span class="post-categories-section">
|
30
|
+
<i class="post-categories-icon fas fa-folder"></i>
|
31
|
+
<ul class="post-categories">
|
32
|
+
{%- for category in page.categories -%}
|
33
|
+
<li>
|
34
|
+
{% assign slugified_category = category | slugify %}
|
35
|
+
{%- if site.categories_path -%}
|
36
|
+
<a class="post-category" href="{{ site.categories_path | relative_url }}#{{ slugified_category }}">{{ category }}</a>
|
37
|
+
{%- else -%}
|
38
|
+
<span class="post-category">{{ category }}</span>
|
39
|
+
{%- endif -%}
|
40
|
+
</li>
|
41
|
+
{%- endfor -%}
|
42
|
+
</ul>
|
43
|
+
</span>
|
44
|
+
{% endif %}
|
45
|
+
{% if page.tags.size > 0 %}
|
46
|
+
<span> • </span>
|
47
|
+
<span class="post-tags-section">
|
48
|
+
<i class="post-tags-icon fas fa-tag"></i>
|
49
|
+
<ul class="post-tags">
|
50
|
+
{%- for tag in page.tags -%}
|
51
|
+
<li>
|
52
|
+
{% assign slugified_tag = tag | slugify %}
|
53
|
+
{%- if site.tags_path -%}
|
54
|
+
<a class="post-tag" href="{{ site.tags_path | relative_url }}#{{ slugified_tag }}">{{ slugified_tag }}</a>
|
55
|
+
{%- else -%}
|
56
|
+
<span class="post-tag">{{ slugified_tag }}</span>
|
57
|
+
{%- endif -%}
|
58
|
+
</li>
|
59
|
+
{%- endfor -%}
|
60
|
+
</ul>
|
61
|
+
</span>
|
62
|
+
{% endif %}
|
63
|
+
</div>
|
64
|
+
|
65
|
+
{{ content }}
|
66
|
+
|
67
|
+
{% if jekyll.environment == "production" and site.disqus and page.comments != false %}
|
68
|
+
{% include disqus.html %}
|
69
|
+
{% endif %}
|
70
|
+
</article>
|
71
|
+
|
72
|
+
{% if site.related_posts != empty %}
|
73
|
+
<aside class="related">
|
74
|
+
<h2 class="related-title">Related posts</h2>
|
75
|
+
<ul class="related-posts">
|
76
|
+
{% for post in site.related_posts limit:3 %}
|
77
|
+
<li>
|
78
|
+
<a href="{{ post.url | relative_url }}">
|
79
|
+
{{ post.title }}
|
80
|
+
</a>
|
81
|
+
<small><time datetime="{{ post.date | date_to_xmlschema }}">{{ post.date | date_to_string }}</time></small>
|
82
|
+
</li>
|
83
|
+
{% endfor %}
|
84
|
+
</ul>
|
85
|
+
</aside>
|
86
|
+
{% endif %}
|
@@ -0,0 +1,128 @@
|
|
1
|
+
* {
|
2
|
+
box-sizing: border-box;
|
3
|
+
}
|
4
|
+
|
5
|
+
body {
|
6
|
+
color: var(--body-color);
|
7
|
+
background-color: var(--body-bg-color);
|
8
|
+
font-family: var(--body-font-family);
|
9
|
+
font-size: var(--body-font-size);
|
10
|
+
line-height: var(--body-line-height);
|
11
|
+
}
|
12
|
+
|
13
|
+
a {
|
14
|
+
color: var(--link-color);
|
15
|
+
text-decoration: none;
|
16
|
+
|
17
|
+
&:hover,
|
18
|
+
&:focus {
|
19
|
+
color: var(--link-hover-color);
|
20
|
+
text-decoration: underline;
|
21
|
+
}
|
22
|
+
}
|
23
|
+
|
24
|
+
p {
|
25
|
+
margin-top: 0;
|
26
|
+
margin-bottom: var(--spacer);
|
27
|
+
}
|
28
|
+
|
29
|
+
ul, ol, dl {
|
30
|
+
margin-top: 0;
|
31
|
+
margin-bottom: var(--spacer);
|
32
|
+
}
|
33
|
+
|
34
|
+
blockquote {
|
35
|
+
padding: 0 var(--spacer);
|
36
|
+
margin: 0 0 var(--spacer) 0;
|
37
|
+
border-left: .25em solid var(--border-color);
|
38
|
+
opacity: .65;
|
39
|
+
}
|
40
|
+
|
41
|
+
figure {
|
42
|
+
margin: 0;
|
43
|
+
}
|
44
|
+
|
45
|
+
figcaption {
|
46
|
+
margin-bottom: var(--spacer);
|
47
|
+
font-size: .85em;
|
48
|
+
}
|
49
|
+
|
50
|
+
img {
|
51
|
+
display: block;
|
52
|
+
max-width: 100%;
|
53
|
+
margin-top: 0;
|
54
|
+
margin-bottom: var(--spacer);
|
55
|
+
border-radius: var(--border-radius);
|
56
|
+
}
|
57
|
+
|
58
|
+
code,
|
59
|
+
pre {
|
60
|
+
font-family: var(--code-font-family);
|
61
|
+
}
|
62
|
+
|
63
|
+
code {
|
64
|
+
padding: .1em .25em;
|
65
|
+
background-color: var(--code-bg-color);
|
66
|
+
border-radius: var(--border-radius);
|
67
|
+
}
|
68
|
+
|
69
|
+
pre {
|
70
|
+
display: block;
|
71
|
+
overflow: auto;
|
72
|
+
padding: var(--spacer);
|
73
|
+
margin: var(--spacer) 0;
|
74
|
+
|
75
|
+
code {
|
76
|
+
padding: 0;
|
77
|
+
background-color: inherit;
|
78
|
+
}
|
79
|
+
}
|
80
|
+
|
81
|
+
table {
|
82
|
+
margin-top: 0;
|
83
|
+
margin-bottom: var(--spacer);
|
84
|
+
width: 100%;
|
85
|
+
border: 0 solid var(--border-color);
|
86
|
+
border-collapse: collapse;
|
87
|
+
}
|
88
|
+
|
89
|
+
td,
|
90
|
+
th {
|
91
|
+
padding: .25em .5em;
|
92
|
+
border-color: inherit;
|
93
|
+
border-style: solid;
|
94
|
+
border-width: 0;
|
95
|
+
border-bottom-width: 1px;
|
96
|
+
}
|
97
|
+
|
98
|
+
th {
|
99
|
+
text-align: left;
|
100
|
+
}
|
101
|
+
|
102
|
+
thead th {
|
103
|
+
border-bottom-color: currentColor;
|
104
|
+
}
|
105
|
+
|
106
|
+
mark {
|
107
|
+
padding: .15em;
|
108
|
+
border-radius: var(--border-radius);
|
109
|
+
color: var(--body-bg-color);
|
110
|
+
background-color: var(--info-color);
|
111
|
+
}
|
112
|
+
|
113
|
+
hr {
|
114
|
+
position: relative;
|
115
|
+
margin: var(--spacer-2) 0;
|
116
|
+
border: 0;
|
117
|
+
border-top: 1px solid var(--border-color);
|
118
|
+
}
|
119
|
+
|
120
|
+
abbr {
|
121
|
+
font-weight: bold;
|
122
|
+
text-transform: uppercase;
|
123
|
+
|
124
|
+
&[title] {
|
125
|
+
cursor: help;
|
126
|
+
border-bottom: 1px dotted var(--border-color);
|
127
|
+
}
|
128
|
+
}
|