minimal-mistakes-jekyll 4.25.0 → 4.26.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +69 -10
- data/LICENSE +1 -1
- data/README.md +19 -12
- data/_data/ui-text.yml +52 -0
- data/_includes/after-content.html +0 -0
- data/_includes/before-related.html +0 -0
- data/_includes/comments-providers/giscus.html +11 -1
- data/_includes/copyright.html +1 -1
- data/_includes/copyright.js +1 -1
- data/_includes/documents-collection.html +2 -4
- data/_includes/figure +2 -0
- data/_includes/head.html +5 -2
- data/_includes/masthead.html +5 -1
- data/_includes/nav_list +18 -17
- data/_includes/page__hero.html +1 -3
- data/_includes/page__related.html +11 -0
- data/_includes/paginator-v1.html +70 -0
- data/_includes/paginator-v2.html +68 -0
- data/_includes/paginator.html +5 -68
- data/_includes/posts-category.html +3 -4
- data/_includes/posts-tag.html +3 -4
- data/_includes/posts-taxonomy.html +37 -0
- data/_includes/schema.html +16 -0
- data/_includes/seo.html +15 -43
- data/_includes/toc.html +13 -6
- data/_layouts/archive.html +1 -1
- data/_layouts/categories.html +1 -37
- data/_layouts/default.html +1 -1
- data/_layouts/single.html +10 -25
- data/_layouts/tags.html +1 -37
- data/_sass/minimal-mistakes/_copyright.scss +1 -1
- data/_sass/minimal-mistakes/_utilities.scss +57 -0
- data/assets/js/_main.js +123 -45
- data/assets/js/lunr/lunr-store.js +1 -1
- data/assets/js/main.min.js +2 -2
- data/assets/js/main.min.js.map +1 -0
- data/assets/js/plugins/jquery.greedy-navigation.js +1 -0
- metadata +10 -2
data/_includes/paginator.html
CHANGED
@@ -1,70 +1,7 @@
|
|
1
1
|
{% if paginator.total_pages > 1 %}
|
2
|
-
|
3
|
-
|
4
|
-
{%
|
5
|
-
|
6
|
-
|
7
|
-
{% if paginator.previous_page %}
|
8
|
-
{% if paginator.previous_page == 1 %}
|
9
|
-
<li><a href="{{ first_page_path }}">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a></li>
|
10
|
-
{% else %}
|
11
|
-
<li><a href="{{ site.paginate_path | replace: ':num', paginator.previous_page | replace: '//', '/' | relative_url }}">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a></li>
|
12
|
-
{% endif %}
|
13
|
-
{% else %}
|
14
|
-
<li><a href="#" class="disabled"><span aria-hidden="true">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</span></a></li>
|
15
|
-
{% endif %}
|
16
|
-
|
17
|
-
{% comment %} First page {% endcomment %}
|
18
|
-
{% if paginator.page == 1 %}
|
19
|
-
<li><a href="#" class="disabled current">1</a></li>
|
20
|
-
{% else %}
|
21
|
-
<li><a href="{{ first_page_path }}">1</a></li>
|
22
|
-
{% endif %}
|
23
|
-
|
24
|
-
{% assign page_start = 2 %}
|
25
|
-
{% if paginator.page > 4 %}
|
26
|
-
{% assign page_start = paginator.page | minus: 2 %}
|
27
|
-
{% comment %} Ellipsis for truncated links {% endcomment %}
|
28
|
-
<li><a href="#" class="disabled">…</a></li>
|
29
|
-
{% endif %}
|
30
|
-
|
31
|
-
{% assign page_end = paginator.total_pages | minus: 1 %}
|
32
|
-
{% assign pages_to_end = paginator.total_pages | minus: paginator.page %}
|
33
|
-
{% if pages_to_end > 4 %}
|
34
|
-
{% assign page_end = paginator.page | plus: 2 %}
|
35
|
-
{% endif %}
|
36
|
-
|
37
|
-
{% for index in (page_start..page_end) %}
|
38
|
-
{% if index == paginator.page %}
|
39
|
-
<li><a href="{{ site.paginate_path | replace: ':num', index | replace: '//', '/' | relative_url }}" class="disabled current">{{ index }}</a></li>
|
40
|
-
{% else %}
|
41
|
-
{% comment %} Distance from current page and this link {% endcomment %}
|
42
|
-
{% assign dist = paginator.page | minus: index %}
|
43
|
-
{% if dist < 0 %}
|
44
|
-
{% comment %} Distance must be a positive value {% endcomment %}
|
45
|
-
{% assign dist = 0 | minus: dist %}
|
46
|
-
{% endif %}
|
47
|
-
<li><a href="{{ site.paginate_path | replace: ':num', index | relative_url }}">{{ index }}</a></li>
|
48
|
-
{% endif %}
|
49
|
-
{% endfor %}
|
50
|
-
|
51
|
-
{% comment %} Ellipsis for truncated links {% endcomment %}
|
52
|
-
{% if pages_to_end > 3 %}
|
53
|
-
<li><a href="#" class="disabled">…</a></li>
|
54
|
-
{% endif %}
|
55
|
-
|
56
|
-
{% if paginator.page == paginator.total_pages %}
|
57
|
-
<li><a href="#" class="disabled current">{{ paginator.page }}</a></li>
|
58
|
-
{% else %}
|
59
|
-
<li><a href="{{ site.paginate_path | replace: ':num', paginator.total_pages | replace: '//', '/' | relative_url }}">{{ paginator.total_pages }}</a></li>
|
60
|
-
{% endif %}
|
61
|
-
|
62
|
-
{% comment %} Link next page {% endcomment %}
|
63
|
-
{% if paginator.next_page %}
|
64
|
-
<li><a href="{{ site.paginate_path | replace: ':num', paginator.next_page | replace: '//', '/' | relative_url }}">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</a></li>
|
65
|
-
{% else %}
|
66
|
-
<li><a href="#" class="disabled"><span aria-hidden="true">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</span></a></li>
|
67
|
-
{% endif %}
|
68
|
-
</ul>
|
69
|
-
</nav>
|
2
|
+
{% if site.paginate %}
|
3
|
+
{% include paginator-v1.html %}
|
4
|
+
{% elsif site.pagination.enabled %}
|
5
|
+
{% include paginator-v2.html %}
|
6
|
+
{% endif %}
|
70
7
|
{% endif %}
|
@@ -1,5 +1,4 @@
|
|
1
|
-
{
|
2
|
-
|
3
|
-
|
4
|
-
{%- endunless -%}
|
1
|
+
{% assign posts = site.categories[include.taxonomy] | where_exp: "post", "post.hidden != true" %}
|
2
|
+
{%- for post in posts -%}
|
3
|
+
{% include archive-single.html %}
|
5
4
|
{%- endfor -%}
|
data/_includes/posts-tag.html
CHANGED
@@ -1,5 +1,4 @@
|
|
1
|
-
{
|
2
|
-
|
3
|
-
|
4
|
-
{%- endunless -%}
|
1
|
+
{% assign posts = site.tags[include.taxonomy] | where_exp: "post", "post.hidden != true" %}
|
2
|
+
{%- for post in posts -%}
|
3
|
+
{% include archive-single.html %}
|
5
4
|
{%- endfor -%}
|
@@ -0,0 +1,37 @@
|
|
1
|
+
{% assign items_max = 0 %}
|
2
|
+
{% for item in include.taxonomies %}
|
3
|
+
{% if item[1].size > items_max %}
|
4
|
+
{% assign items_max = item[1].size %}
|
5
|
+
{% endif %}
|
6
|
+
{% endfor %}
|
7
|
+
|
8
|
+
<ul class="taxonomy__index">
|
9
|
+
{% for i in (1..items_max) reversed %}
|
10
|
+
{% for item in include.taxonomies %}
|
11
|
+
{% if item[1].size == i %}
|
12
|
+
<li>
|
13
|
+
<a href="#{{ item[0] | slugify }}">
|
14
|
+
<strong>{{ item[0] }}</strong> <span class="taxonomy__count">{{ i }}</span>
|
15
|
+
</a>
|
16
|
+
</li>
|
17
|
+
{% endif %}
|
18
|
+
{% endfor %}
|
19
|
+
{% endfor %}
|
20
|
+
</ul>
|
21
|
+
|
22
|
+
{% assign entries_layout = page.entries_layout | default: 'list' %}
|
23
|
+
{% for i in (1..items_max) reversed %}
|
24
|
+
{% for taxonomy in include.taxonomies %}
|
25
|
+
{% if taxonomy[1].size == i %}
|
26
|
+
<section id="{{ taxonomy[0] | slugify }}" class="taxonomy__section">
|
27
|
+
<h2 class="archive__subtitle">{{ taxonomy[0] }}</h2>
|
28
|
+
<div class="entries-{{ entries_layout }}">
|
29
|
+
{% for post in taxonomy.last %}
|
30
|
+
{% include archive-single.html type=entries_layout %}
|
31
|
+
{% endfor %}
|
32
|
+
</div>
|
33
|
+
<a href="#page-title" class="back-to-top">{{ site.data.ui-text[site.locale].back_to_top | default: 'Back to Top' }} ↑</a>
|
34
|
+
</section>
|
35
|
+
{% endif %}
|
36
|
+
{% endfor %}
|
37
|
+
{% endfor %}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<script type="application/ld+json">
|
2
|
+
{
|
3
|
+
"@context": "https://schema.org",
|
4
|
+
{% if site.social.type == "Organization" -%}
|
5
|
+
"@type": "Organization",
|
6
|
+
"url": {{ '/' | absolute_url | jsonify }}{% if site.og_image %},
|
7
|
+
"logo": {{ site_og_image | jsonify }}{% endif %}{% if site.social.links %},
|
8
|
+
"sameAs": {{ site.social.links | jsonify }}{% endif %}
|
9
|
+
{%- else -%}
|
10
|
+
"@type": "Person",
|
11
|
+
"name": {{ site.social.name | default: site.name | jsonify }},
|
12
|
+
"url": {{ '/' | absolute_url | jsonify }}{% if site.social.links %},
|
13
|
+
"sameAs": {{ site.social.links | jsonify }}{% endif %}
|
14
|
+
{%- endif %}
|
15
|
+
}
|
16
|
+
</script>
|
data/_includes/seo.html
CHANGED
@@ -1,24 +1,13 @@
|
|
1
1
|
<!-- begin _includes/seo.html -->
|
2
|
-
{%-
|
3
|
-
{%- assign seo_url = site.url | append: site.baseurl -%}
|
4
|
-
{%- endif -%}
|
5
|
-
{%- assign seo_url = seo_url | default: site.github.url -%}
|
2
|
+
{%- assign title_separator = site.title_separator | default: '-' -%}
|
6
3
|
|
7
|
-
{
|
4
|
+
{%- assign page_title = page.title | default: site.title | replace: '|', '|' -%}
|
5
|
+
{%- assign seo_title = page_title | append: " " | append: title_separator | append: " " | append: site.title | replace: '|', '|' -%}
|
8
6
|
|
9
|
-
{%-
|
10
|
-
|
11
|
-
{%- endif -%}
|
7
|
+
{%- assign page_title = page_title | markdownify | strip_html | strip_newlines | escape_once -%}
|
8
|
+
{%- assign seo_title = seo_title | markdownify | strip_html | strip_newlines | escape_once -%}
|
12
9
|
|
13
|
-
{%-
|
14
|
-
{%- assign seo_title = seo_title | markdownify | strip_html | strip_newlines | escape_once -%}
|
15
|
-
{%- endif -%}
|
16
|
-
|
17
|
-
{% if page.canonical_url %}
|
18
|
-
{%- assign canonical_url = page.canonical_url %}
|
19
|
-
{% else %}
|
20
|
-
{%- assign canonical_url = page.url | replace: "index.html", "" | absolute_url %}
|
21
|
-
{% endif %}
|
10
|
+
{%- assign canonical_url = page.canonical_url | default: page.url | replace: "/index.html", "/" | absolute_url %}
|
22
11
|
|
23
12
|
{%- assign seo_description = page.description | default: page.excerpt | default: site.description -%}
|
24
13
|
{%- if seo_description -%}
|
@@ -32,14 +21,9 @@
|
|
32
21
|
{%- assign author_twitter = author.twitter | replace: "@", "" -%}
|
33
22
|
{%- endif -%}
|
34
23
|
|
35
|
-
{%- assign page_large_image = page.header.og_image | default: page.header.overlay_image | default: page.header.image | absolute_url -%}
|
36
|
-
{%- assign
|
37
|
-
|
38
|
-
{%- assign page_teaser_image = page.header.teaser | default: site.og_image | absolute_url -%}
|
39
|
-
{%- assign page_teaser_image = page_teaser_image | escape -%}
|
40
|
-
|
41
|
-
{%- assign site_og_image = site.og_image | absolute_url -%}
|
42
|
-
{%- assign site_og_image = site_og_image | escape -%}
|
24
|
+
{%- assign page_large_image = page.header.og_image | default: page.header.overlay_image | default: page.header.image | absolute_url | escape -%}
|
25
|
+
{%- assign page_teaser_image = page.header.teaser | default: site.og_image | absolute_url | escape -%}
|
26
|
+
{%- assign site_og_image = site.og_image | absolute_url | escape -%}
|
43
27
|
|
44
28
|
{%- if page.date -%}
|
45
29
|
{%- assign og_type = "article" -%}
|
@@ -47,7 +31,7 @@
|
|
47
31
|
{%- assign og_type = "website" -%}
|
48
32
|
{%- endif -%}
|
49
33
|
|
50
|
-
<title>{{ seo_title
|
34
|
+
<title>{{ seo_title }}{% if paginator %}{% unless paginator.page == 1 %} {{ title_separator }} {{ site.data.ui-text[site.locale].page | default: "Page" }} {{ paginator.page }}{% endunless %}{% endif %}</title>
|
51
35
|
<meta name="description" content="{{ seo_description }}">
|
52
36
|
|
53
37
|
{% if author.name %}
|
@@ -60,7 +44,7 @@
|
|
60
44
|
<meta property="og:type" content="{{ og_type }}">
|
61
45
|
<meta property="og:locale" content="{{ site.locale | replace: "-", "_" | default: "en_US" }}">
|
62
46
|
<meta property="og:site_name" content="{{ site.title }}">
|
63
|
-
<meta property="og:title" content="{{
|
47
|
+
<meta property="og:title" content="{{ page_title }}">
|
64
48
|
<meta property="og:url" content="{{ canonical_url }}">
|
65
49
|
|
66
50
|
{% if seo_description %}
|
@@ -75,7 +59,7 @@
|
|
75
59
|
|
76
60
|
{% if site.twitter.username %}
|
77
61
|
<meta name="twitter:site" content="@{{ site.twitter.username | replace: "@", "" }}">
|
78
|
-
<meta name="twitter:title" content="{{
|
62
|
+
<meta name="twitter:title" content="{{ page_title }}">
|
79
63
|
<meta name="twitter:description" content="{{ seo_description }}">
|
80
64
|
<meta name="twitter:url" content="{{ canonical_url }}">
|
81
65
|
|
@@ -121,21 +105,9 @@
|
|
121
105
|
<link rel="next" href="{{ paginator.next_page_path | absolute_url }}">
|
122
106
|
{% endif %}
|
123
107
|
|
124
|
-
|
125
|
-
{
|
126
|
-
|
127
|
-
{% if site.social.type == "Organization" %}
|
128
|
-
"@type": "Organization",
|
129
|
-
"url": {{ '/' | absolute_url | jsonify }}{% if site.og_image %},
|
130
|
-
"logo": {{ site_og_image | jsonify }}{% endif %}
|
131
|
-
{% else %}
|
132
|
-
"@type": "Person",
|
133
|
-
"name": {{ site.social.name | default: site.name | jsonify }},
|
134
|
-
"url": {{ '/' | absolute_url |jsonify }}{% if site.social.links %},
|
135
|
-
"sameAs": {{ site.social.links | jsonify }}{% endif %}
|
136
|
-
{% endif %}
|
137
|
-
}
|
138
|
-
</script>
|
108
|
+
{% if page.url == '/' %}
|
109
|
+
{% include schema.html %}
|
110
|
+
{% endif %}
|
139
111
|
|
140
112
|
{% if site.google_site_verification %}
|
141
113
|
<meta name="google-site-verification" content="{{ site.google_site_verification }}" />
|
data/_includes/toc.html
CHANGED
@@ -24,7 +24,7 @@
|
|
24
24
|
OTHER DEALINGS IN THE SOFTWARE.
|
25
25
|
{% endcomment %}
|
26
26
|
{% comment %}
|
27
|
-
Version 1.1
|
27
|
+
Version 1.2.1
|
28
28
|
https://github.com/allejo/jekyll-toc
|
29
29
|
|
30
30
|
"...like all things liquid - where there's a will, and ~36 hours to spare, there's usually a/some way" ~jaybe
|
@@ -47,6 +47,7 @@
|
|
47
47
|
* base_url (string) : '' - add a base url to the TOC links for when your TOC is on another page than the actual content
|
48
48
|
* anchor_class (string) : '' - add custom class(es) for each anchor element
|
49
49
|
* skip_no_ids (bool) : false - skip headers that do not have an `id` attribute
|
50
|
+
* flat_toc (bool) : false - when set to true, the TOC will be a single level list
|
50
51
|
|
51
52
|
Output:
|
52
53
|
An ordered or unordered list representing the table of contents of a markdown block. This snippet will only
|
@@ -69,6 +70,7 @@
|
|
69
70
|
|
70
71
|
{% capture jekyll_toc %}{% endcapture %}
|
71
72
|
{% assign orderedList = include.ordered | default: false %}
|
73
|
+
{% assign flatToc = include.flat_toc | default: false %}
|
72
74
|
{% assign baseURL = include.base_url | default: include.baseurl | default: '' %}
|
73
75
|
{% assign skipNoIDs = include.skip_no_ids | default: include.skipNoIDs | default: false %}
|
74
76
|
{% assign minHeader = include.h_min | default: 1 %}
|
@@ -138,9 +140,9 @@
|
|
138
140
|
{% capture listItem %}{{ anchorBody }}{% endcapture %}
|
139
141
|
{% endif %}
|
140
142
|
|
141
|
-
{% if currLevel > lastLevel %}
|
143
|
+
{% if currLevel > lastLevel and flatToc == false %}
|
142
144
|
{% capture jekyll_toc %}{{ jekyll_toc }}<{{ listModifier }}{{ subMenuClass }}>{% endcapture %}
|
143
|
-
{% elsif currLevel < lastLevel %}
|
145
|
+
{% elsif currLevel < lastLevel and flatToc == false %}
|
144
146
|
{% assign repeatCount = lastLevel | minus: currLevel %}
|
145
147
|
|
146
148
|
{% for i in (1..repeatCount) %}
|
@@ -158,8 +160,13 @@
|
|
158
160
|
{% assign firstHeader = false %}
|
159
161
|
{% endfor %}
|
160
162
|
|
161
|
-
{%
|
162
|
-
|
163
|
+
{% if flatToc == true %}
|
164
|
+
{% assign repeatCount = 1 %}
|
165
|
+
{% else %}
|
166
|
+
{% assign repeatCount = minHeader | minus: 1 %}
|
167
|
+
{% assign repeatCount = lastLevel | minus: repeatCount %}
|
168
|
+
{% endif %}
|
169
|
+
|
163
170
|
{% for i in (1..repeatCount) %}
|
164
171
|
{% capture jekyll_toc %}{{ jekyll_toc }}</li></{{ listModifier }}>{% endcapture %}
|
165
172
|
{% endfor %}
|
@@ -179,4 +186,4 @@
|
|
179
186
|
{% capture jekyll_toc %}<{{ listModifier }}{{ rootAttributes }}>{{ nodes | shift | join: '>' }}>{% endcapture %}
|
180
187
|
{% endif %}
|
181
188
|
{% endif %}
|
182
|
-
{% endcapture %}{% assign tocWorkspace = '' %}{{ deprecation_warnings }}{{ jekyll_toc }}
|
189
|
+
{% endcapture %}{% assign tocWorkspace = '' %}{{ deprecation_warnings }}{{ jekyll_toc -}}
|
data/_layouts/archive.html
CHANGED
data/_layouts/categories.html
CHANGED
@@ -4,40 +4,4 @@ layout: archive
|
|
4
4
|
|
5
5
|
{{ content }}
|
6
6
|
|
7
|
-
{%
|
8
|
-
{% for category in site.categories %}
|
9
|
-
{% if category[1].size > categories_max %}
|
10
|
-
{% assign categories_max = category[1].size %}
|
11
|
-
{% endif %}
|
12
|
-
{% endfor %}
|
13
|
-
|
14
|
-
<ul class="taxonomy__index">
|
15
|
-
{% for i in (1..categories_max) reversed %}
|
16
|
-
{% for category in site.categories %}
|
17
|
-
{% if category[1].size == i %}
|
18
|
-
<li>
|
19
|
-
<a href="#{{ category[0] | slugify }}">
|
20
|
-
<strong>{{ category[0] }}</strong> <span class="taxonomy__count">{{ i }}</span>
|
21
|
-
</a>
|
22
|
-
</li>
|
23
|
-
{% endif %}
|
24
|
-
{% endfor %}
|
25
|
-
{% endfor %}
|
26
|
-
</ul>
|
27
|
-
|
28
|
-
{% assign entries_layout = page.entries_layout | default: 'list' %}
|
29
|
-
{% for i in (1..categories_max) reversed %}
|
30
|
-
{% for category in site.categories %}
|
31
|
-
{% if category[1].size == i %}
|
32
|
-
<section id="{{ category[0] | slugify }}" class="taxonomy__section">
|
33
|
-
<h2 class="archive__subtitle">{{ category[0] }}</h2>
|
34
|
-
<div class="entries-{{ entries_layout }}">
|
35
|
-
{% for post in category.last %}
|
36
|
-
{% include archive-single.html type=entries_layout %}
|
37
|
-
{% endfor %}
|
38
|
-
</div>
|
39
|
-
<a href="#page-title" class="back-to-top">{{ site.data.ui-text[site.locale].back_to_top | default: 'Back to Top' }} ↑</a>
|
40
|
-
</section>
|
41
|
-
{% endif %}
|
42
|
-
{% endfor %}
|
43
|
-
{% endfor %}
|
7
|
+
{% include posts-taxonomy.html taxonomies=site.categories %}
|
data/_layouts/default.html
CHANGED
data/_layouts/single.html
CHANGED
@@ -21,8 +21,8 @@ layout: default
|
|
21
21
|
<div id="main" role="main">
|
22
22
|
{% include sidebar.html %}
|
23
23
|
|
24
|
-
<article class="page
|
25
|
-
{% if page.title %}<meta itemprop="headline" content="{{ page.title | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
|
24
|
+
<article class="page" itemscope itemtype="https://schema.org/CreativeWork">
|
25
|
+
{% if page.title %}<meta itemprop="headline" content="{{ page.title | replace: '|', '|' | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
|
26
26
|
{% if page.excerpt %}<meta itemprop="description" content="{{ page.excerpt | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
|
27
27
|
{% if page.date %}<meta itemprop="datePublished" content="{{ page.date | date_to_xmlschema }}">{% endif %}
|
28
28
|
{% if page.last_modified_at %}<meta itemprop="dateModified" content="{{ page.last_modified_at | date_to_xmlschema }}">{% endif %}
|
@@ -30,14 +30,16 @@ layout: default
|
|
30
30
|
<div class="page__inner-wrap">
|
31
31
|
{% unless page.header.overlay_color or page.header.overlay_image %}
|
32
32
|
<header>
|
33
|
-
{% if page.title
|
34
|
-
|
35
|
-
|
33
|
+
{% if page.title -%}
|
34
|
+
<h1 id="page-title" class="page__title" itemprop="headline">
|
35
|
+
<a href="{{ page.url | absolute_url }}" itemprop="url">{{ page.title | markdownify | remove: "<p>" | remove: "</p>" }}</a>
|
36
|
+
</h1>
|
37
|
+
{%- endif %}
|
36
38
|
{% include page__meta.html %}
|
37
39
|
</header>
|
38
40
|
{% endunless %}
|
39
41
|
|
40
|
-
<section class="page__content
|
42
|
+
<section class="page__content" itemprop="text">
|
41
43
|
{% if page.toc %}
|
42
44
|
<aside class="sidebar__right {% if page.toc_sticky %}sticky{% endif %}">
|
43
45
|
<nav class="toc">
|
@@ -70,26 +72,9 @@ layout: default
|
|
70
72
|
|
71
73
|
{% comment %}<!-- only show related on a post page when `related: true` -->{% endcomment %}
|
72
74
|
{% if page.id and page.related and site.related_posts.size > 0 %}
|
73
|
-
|
74
|
-
<h2 class="page__related-title">{{ site.data.ui-text[site.locale].related_label | default: "You May Also Enjoy" }}</h2>
|
75
|
-
<div class="grid__wrapper">
|
76
|
-
{% for post in site.related_posts limit:4 %}
|
77
|
-
{% include archive-single.html type="grid" %}
|
78
|
-
{% endfor %}
|
79
|
-
</div>
|
80
|
-
</div>
|
75
|
+
{% include page__related.html posts=site.related_posts %}
|
81
76
|
{% comment %}<!-- otherwise show recent posts if no related when `related: true` -->{% endcomment %}
|
82
77
|
{% elsif page.id and page.related %}
|
83
|
-
|
84
|
-
<h2 class="page__related-title">{{ site.data.ui-text[site.locale].related_label | default: "You May Also Enjoy" }}</h2>
|
85
|
-
<div class="grid__wrapper">
|
86
|
-
{% for post in site.posts limit:4 %}
|
87
|
-
{% if post.id == page.id %}
|
88
|
-
{% continue %}
|
89
|
-
{% endif %}
|
90
|
-
{% include archive-single.html type="grid" %}
|
91
|
-
{% endfor %}
|
92
|
-
</div>
|
93
|
-
</div>
|
78
|
+
{% include page__related.html posts=site.posts %}
|
94
79
|
{% endif %}
|
95
80
|
</div>
|
data/_layouts/tags.html
CHANGED
@@ -4,40 +4,4 @@ layout: archive
|
|
4
4
|
|
5
5
|
{{ content }}
|
6
6
|
|
7
|
-
{%
|
8
|
-
{% for tag in site.tags %}
|
9
|
-
{% if tag[1].size > tags_max %}
|
10
|
-
{% assign tags_max = tag[1].size %}
|
11
|
-
{% endif %}
|
12
|
-
{% endfor %}
|
13
|
-
|
14
|
-
<ul class="taxonomy__index">
|
15
|
-
{% for i in (1..tags_max) reversed %}
|
16
|
-
{% for tag in site.tags %}
|
17
|
-
{% if tag[1].size == i %}
|
18
|
-
<li>
|
19
|
-
<a href="#{{ tag[0] | slugify }}">
|
20
|
-
<strong>{{ tag[0] }}</strong> <span class="taxonomy__count">{{ i }}</span>
|
21
|
-
</a>
|
22
|
-
</li>
|
23
|
-
{% endif %}
|
24
|
-
{% endfor %}
|
25
|
-
{% endfor %}
|
26
|
-
</ul>
|
27
|
-
|
28
|
-
{% assign entries_layout = page.entries_layout | default: 'list' %}
|
29
|
-
{% for i in (1..tags_max) reversed %}
|
30
|
-
{% for tag in site.tags %}
|
31
|
-
{% if tag[1].size == i %}
|
32
|
-
<section id="{{ tag[0] | slugify | downcase }}" class="taxonomy__section">
|
33
|
-
<h2 class="archive__subtitle">{{ tag[0] }}</h2>
|
34
|
-
<div class="entries-{{ entries_layout }}">
|
35
|
-
{% for post in tag.last %}
|
36
|
-
{% include archive-single.html type=entries_layout %}
|
37
|
-
{% endfor %}
|
38
|
-
</div>
|
39
|
-
<a href="#page-title" class="back-to-top">{{ site.data.ui-text[site.locale].back_to_top | default: 'Back to Top' }} ↑</a>
|
40
|
-
</section>
|
41
|
-
{% endif %}
|
42
|
-
{% endfor %}
|
43
|
-
{% endfor %}
|
7
|
+
{% include posts-taxonomy.html taxonomies=site.tags %}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Minimal Mistakes Jekyll Theme 4.
|
2
|
+
* Minimal Mistakes Jekyll Theme 4.26.0 by Michael Rose
|
3
3
|
* Copyright 2013-2024 Michael Rose - mademistakes.com | @mmistakes
|
4
4
|
* Free for personal and commercial use under the MIT license
|
5
5
|
* https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE
|
@@ -591,3 +591,60 @@ a.reversefootnote {
|
|
591
591
|
position: static;
|
592
592
|
}
|
593
593
|
}
|
594
|
+
|
595
|
+
/*
|
596
|
+
Copy <pre> block to clipboard
|
597
|
+
========================================================================== */
|
598
|
+
|
599
|
+
// a <textarea> to hold text for document.execCommand("copy")
|
600
|
+
.clipboard-helper {
|
601
|
+
// Prevent zooming on iOS
|
602
|
+
font-size: 12pt !important;
|
603
|
+
border: 0 !important;
|
604
|
+
padding: 0 !important;
|
605
|
+
margin: 0 !important;
|
606
|
+
outline: none !important;
|
607
|
+
position: absolute;
|
608
|
+
}
|
609
|
+
|
610
|
+
pre {
|
611
|
+
.clipboard-copy-button {
|
612
|
+
display: block;
|
613
|
+
position: absolute;
|
614
|
+
top: 0.6em;
|
615
|
+
right: 0.5em;
|
616
|
+
z-index: 1;
|
617
|
+
background: none;
|
618
|
+
border: none;
|
619
|
+
outline: none;
|
620
|
+
border-radius: 0.1em;
|
621
|
+
padding: 0.2em 0.5em;
|
622
|
+
color: white;
|
623
|
+
opacity: 0.4;
|
624
|
+
transition: color 0.25s linear -0.25s, opacity 0.25s linear;
|
625
|
+
|
626
|
+
&:hover {
|
627
|
+
color: #ffffca;
|
628
|
+
}
|
629
|
+
|
630
|
+
&::before {
|
631
|
+
content: '';
|
632
|
+
position: absolute;
|
633
|
+
top: 0;
|
634
|
+
right: 0;
|
635
|
+
bottom: 0;
|
636
|
+
left: 0;
|
637
|
+
z-index: 2;
|
638
|
+
}
|
639
|
+
|
640
|
+
@at-root {
|
641
|
+
.no-copy & {
|
642
|
+
display: none;
|
643
|
+
}
|
644
|
+
}
|
645
|
+
}
|
646
|
+
|
647
|
+
&:hover .clipboard-copy-button {
|
648
|
+
opacity: 1;
|
649
|
+
}
|
650
|
+
}
|