minimal-mistakes-jekyll 4.24.0 → 4.25.1

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.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +324 -243
  3. data/README.md +27 -19
  4. data/_data/ui-text.yml +149 -39
  5. data/_includes/after-content.html +0 -0
  6. data/_includes/author-profile-custom-links.html +1 -1
  7. data/_includes/author-profile.html +36 -42
  8. data/_includes/before-related.html +0 -0
  9. data/_includes/breadcrumbs.html +3 -2
  10. data/_includes/category-list.html +1 -1
  11. data/_includes/comments-providers/giscus.html +11 -1
  12. data/_includes/comments-providers/utterances.html +1 -0
  13. data/_includes/comments.html +30 -12
  14. data/_includes/copyright.html +6 -0
  15. data/_includes/copyright.js +6 -0
  16. data/_includes/footer.html +1 -1
  17. data/_includes/head.html +3 -3
  18. data/_includes/page__date.html +3 -3
  19. data/_includes/page__related.html +15 -0
  20. data/_includes/paginator.html +2 -1
  21. data/_includes/search/algolia-search-scripts.html +72 -51
  22. data/_includes/search/search_form.html +2 -2
  23. data/_includes/social-share.html +1 -1
  24. data/_includes/tag-list.html +1 -1
  25. data/_includes/toc.html +13 -6
  26. data/_includes/video +1 -1
  27. data/_layouts/categories.html +1 -1
  28. data/_layouts/default.html +2 -8
  29. data/_layouts/single.html +12 -23
  30. data/_sass/minimal-mistakes/_base.scss +0 -18
  31. data/_sass/minimal-mistakes/_copyright.scss +6 -0
  32. data/_sass/minimal-mistakes/_navigation.scss +2 -2
  33. data/_sass/minimal-mistakes/_notices.scss +4 -0
  34. data/_sass/minimal-mistakes/_page.scss +19 -0
  35. data/_sass/minimal-mistakes/_sidebar.scss +7 -0
  36. data/_sass/minimal-mistakes.scss +2 -5
  37. data/assets/css/main.scss +1 -0
  38. data/assets/js/_main.js +7 -7
  39. data/assets/js/lunr/lunr-store.js +36 -1
  40. data/assets/js/main.min.js +5 -4
  41. data/assets/js/plugins/jquery.greedy-navigation.js +2 -2
  42. data/assets/js/vendor/jquery/{jquery-3.5.1.js → jquery-3.6.0.js} +118 -109
  43. metadata +11 -5
  44. data/_includes/browser-upgrade.html +0 -3
@@ -2,7 +2,7 @@
2
2
  {%- assign search_provider = site.search_provider | default: "lunr" -%}
3
3
  {%- case search_provider -%}
4
4
  {%- when "lunr" -%}
5
- <form class="search-content__form" onkeydown="return event.key != 'Enter';">
5
+ <form class="search-content__form" onkeydown="return event.key != 'Enter';" role="search">
6
6
  <label class="sr-only" for="search">
7
7
  {{ site.data.ui-text[site.locale].search_label_text | default: 'Enter your search term...' }}
8
8
  </label>
@@ -10,7 +10,7 @@
10
10
  </form>
11
11
  <div id="results" class="results"></div>
12
12
  {%- when "google" -%}
13
- <form onsubmit="return googleCustomSearchExecute();" id="cse-search-box-form-id">
13
+ <form onsubmit="return googleCustomSearchExecute();" id="cse-search-box-form-id" role="search">
14
14
  <label class="sr-only" for="cse-search-input-box-id">
15
15
  {{ site.data.ui-text[site.locale].search_label_text | default: 'Enter your search term...' }}
16
16
  </label>
@@ -7,5 +7,5 @@
7
7
 
8
8
  <a href="https://www.facebook.com/sharer/sharer.php?u={{ page.url | absolute_url | url_encode }}" class="btn btn--facebook" onclick="window.open(this.href, 'window', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} Facebook"><i class="fab fa-fw fa-facebook" aria-hidden="true"></i><span> Facebook</span></a>
9
9
 
10
- <a href="https://www.linkedin.com/shareArticle?mini=true&url={{ page.url | absolute_url | url_encode }}" class="btn btn--linkedin" onclick="window.open(this.href, 'window', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} LinkedIn"><i class="fab fa-fw fa-linkedin" aria-hidden="true"></i><span> LinkedIn</span></a>
10
+ <a href="https://www.linkedin.com/shareArticle?mini=true&url={{ page.url | absolute_url }}" class="btn btn--linkedin" onclick="window.open(this.href, 'window', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} LinkedIn"><i class="fab fa-fw fa-linkedin" aria-hidden="true"></i><span> LinkedIn</span></a>
11
11
  </section>
@@ -12,7 +12,7 @@
12
12
  <strong><i class="fas fa-fw fa-tags" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].tags_label | default: "Tags:" }} </strong>
13
13
  <span itemprop="keywords">
14
14
  {% for tag_word in tags_sorted %}
15
- <a href="{{ tag_word | slugify | prepend: path_type | prepend: site.tag_archive.path | relative_url }}" class="page__taxonomy-item" rel="tag">{{ tag_word }}</a>{% unless forloop.last %}<span class="sep">, </span>{% endunless %}
15
+ <a href="{{ tag_word | slugify | prepend: path_type | prepend: site.tag_archive.path | relative_url }}" class="page__taxonomy-item p-category" rel="tag">{{ tag_word }}</a>{% unless forloop.last %}<span class="sep">, </span>{% endunless %}
16
16
  {% endfor %}
17
17
  </span>
18
18
  </p>
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.0
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
- {% assign repeatCount = minHeader | minus: 1 %}
162
- {% assign repeatCount = lastLevel | minus: repeatCount %}
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/_includes/video CHANGED
@@ -16,7 +16,7 @@
16
16
  {% endcapture %}
17
17
  {% assign video_src = video_src | strip %}
18
18
 
19
- <!-- Courtesy of embedresponsively.com //-->
19
+ <!-- Courtesy of embedresponsively.com -->
20
20
  {% unless video_src == "" %}
21
21
  <div class="responsive-video-container">
22
22
  <iframe src="{{ video_src }}" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowfullscreen></iframe>
@@ -29,7 +29,7 @@ layout: archive
29
29
  {% for i in (1..categories_max) reversed %}
30
30
  {% for category in site.categories %}
31
31
  {% if category[1].size == i %}
32
- <section id="{{ category[0] | slugify | downcase }}" class="taxonomy__section">
32
+ <section id="{{ category[0] | slugify }}" class="taxonomy__section">
33
33
  <h2 class="archive__subtitle">{{ category[0] }}</h2>
34
34
  <div class="entries-{{ entries_layout }}">
35
35
  {% for post in category.last %}
@@ -2,12 +2,7 @@
2
2
  ---
3
3
 
4
4
  <!doctype html>
5
- <!--
6
- Minimal Mistakes Jekyll Theme 4.24.0 by Michael Rose
7
- Copyright 2013-2020 Michael Rose - mademistakes.com | @mmistakes
8
- Free for personal and commercial use under the MIT license
9
- https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE
10
- -->
5
+ {% include copyright.html %}
11
6
  <html lang="{{ site.locale | slice: 0,2 | default: "en" }}" class="no-js">
12
7
  <head>
13
8
  {% include head.html %}
@@ -16,11 +11,11 @@
16
11
 
17
12
  <body class="layout--{{ page.layout | default: layout.layout }}{% if page.classes or layout.classes %}{{ page.classes | default: layout.classes | join: ' ' | prepend: ' ' }}{% endif %}">
18
13
  {% include_cached skip-links.html %}
19
- {% include_cached browser-upgrade.html %}
20
14
  {% include_cached masthead.html %}
21
15
 
22
16
  <div class="initial-content">
23
17
  {{ content }}
18
+ {% include after-content.html %}
24
19
  </div>
25
20
 
26
21
  {% if site.search == true %}
@@ -37,6 +32,5 @@
37
32
  </div>
38
33
 
39
34
  {% include scripts.html %}
40
-
41
35
  </body>
42
36
  </html>
data/_layouts/single.html CHANGED
@@ -8,7 +8,11 @@ layout: default
8
8
  {% include page__hero_video.html %}
9
9
  {% endif %}
10
10
 
11
- {% if page.url != "/" and site.breadcrumbs %}
11
+ {% assign breadcrumbs_enabled = site.breadcrumbs %}
12
+ {% if page.breadcrumbs != null %}
13
+ {% assign breadcrumbs_enabled = page.breadcrumbs %}
14
+ {% endif %}
15
+ {% if page.url != "/" and breadcrumbs_enabled %}
12
16
  {% unless paginator %}
13
17
  {% include breadcrumbs.html %}
14
18
  {% endunless %}
@@ -17,7 +21,7 @@ layout: default
17
21
  <div id="main" role="main">
18
22
  {% include sidebar.html %}
19
23
 
20
- <article class="page" itemscope itemtype="https://schema.org/CreativeWork">
24
+ <article class="page h-entry" itemscope itemtype="https://schema.org/CreativeWork">
21
25
  {% if page.title %}<meta itemprop="headline" content="{{ page.title | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
22
26
  {% if page.excerpt %}<meta itemprop="description" content="{{ page.excerpt | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
23
27
  {% if page.date %}<meta itemprop="datePublished" content="{{ page.date | date_to_xmlschema }}">{% endif %}
@@ -26,12 +30,14 @@ layout: default
26
30
  <div class="page__inner-wrap">
27
31
  {% unless page.header.overlay_color or page.header.overlay_image %}
28
32
  <header>
29
- {% if page.title %}<h1 id="page-title" class="page__title" itemprop="headline">{{ page.title | markdownify | remove: "<p>" | remove: "</p>" }}</h1>{% endif %}
33
+ {% if page.title %}<h1 id="page-title" class="page__title p-name" itemprop="headline">
34
+ <a href="{{ page.url | absolute_url }}" class="u-url" itemprop="url">{{ page.title | markdownify | remove: "<p>" | remove: "</p>" }}</a>
35
+ </h1>{% endif %}
30
36
  {% include page__meta.html %}
31
37
  </header>
32
38
  {% endunless %}
33
39
 
34
- <section class="page__content" itemprop="text">
40
+ <section class="page__content e-content" itemprop="text">
35
41
  {% if page.toc %}
36
42
  <aside class="sidebar__right {% if page.toc_sticky %}sticky{% endif %}">
37
43
  <nav class="toc">
@@ -64,26 +70,9 @@ layout: default
64
70
 
65
71
  {% comment %}<!-- only show related on a post page when `related: true` -->{% endcomment %}
66
72
  {% if page.id and page.related and site.related_posts.size > 0 %}
67
- <div class="page__related">
68
- <h4 class="page__related-title">{{ site.data.ui-text[site.locale].related_label | default: "You May Also Enjoy" }}</h4>
69
- <div class="grid__wrapper">
70
- {% for post in site.related_posts limit:4 %}
71
- {% include archive-single.html type="grid" %}
72
- {% endfor %}
73
- </div>
74
- </div>
73
+ {% include page__related.html posts=site.related_posts %}
75
74
  {% comment %}<!-- otherwise show recent posts if no related when `related: true` -->{% endcomment %}
76
75
  {% elsif page.id and page.related %}
77
- <div class="page__related">
78
- <h4 class="page__related-title">{{ site.data.ui-text[site.locale].related_label | default: "You May Also Enjoy" }}</h4>
79
- <div class="grid__wrapper">
80
- {% for post in site.posts limit:4 %}
81
- {% if post.id == page.id %}
82
- {% continue %}
83
- {% endif %}
84
- {% include archive-single.html type="grid" %}
85
- {% endfor %}
86
- </div>
87
- </div>
76
+ {% include page__related.html posts=site.posts %}
88
77
  {% endif %}
89
78
  </div>
@@ -160,24 +160,6 @@ pre {
160
160
  overflow-x: auto; /* add scrollbars to wide code blocks*/
161
161
  }
162
162
 
163
- p > code,
164
- a > code,
165
- li > code,
166
- figcaption > code,
167
- td > code {
168
- padding-top: 0.1rem;
169
- padding-bottom: 0.1rem;
170
- font-size: 0.8em;
171
- background: $code-background-color;
172
- border-radius: $border-radius;
173
-
174
- &:before,
175
- &:after {
176
- letter-spacing: -0.2em;
177
- content: "\00a0"; /* non-breaking space*/
178
- }
179
- }
180
-
181
163
  /* horizontal rule */
182
164
 
183
165
  hr {
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * Minimal Mistakes Jekyll Theme 4.25.1 by Michael Rose
3
+ * Copyright 2013-2024 Michael Rose - mademistakes.com | @mmistakes
4
+ * Free for personal and commercial use under the MIT license
5
+ * https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE
6
+ */
@@ -200,8 +200,8 @@
200
200
  margin-left: 0;
201
201
  }
202
202
  }
203
-
204
- img{
203
+
204
+ img {
205
205
  -webkit-transition: none;
206
206
  transition: none;
207
207
  }
@@ -53,6 +53,10 @@
53
53
  }
54
54
  }
55
55
 
56
+ @at-root #{selector-unify(&, "blockquote")} {
57
+ border-left-color: mix(#000, $notice-color, 10%);
58
+ }
59
+
56
60
  code {
57
61
  background-color: mix($background-color, $notice-color, $code-notice-background-mix)
58
62
  }
@@ -72,6 +72,11 @@ body {
72
72
  margin-top: 0;
73
73
  line-height: 1;
74
74
 
75
+ a {
76
+ color: $text-color;
77
+ text-decoration: none;
78
+ }
79
+
75
80
  & + .page__meta {
76
81
  margin-top: -0.5em;
77
82
  }
@@ -134,6 +139,20 @@ body {
134
139
  }
135
140
  }
136
141
 
142
+ :not(pre) > code {
143
+ padding-top: 0.1rem;
144
+ padding-bottom: 0.1rem;
145
+ font-size: 0.8em;
146
+ background: $code-background-color;
147
+ border-radius: $border-radius;
148
+
149
+ &::before,
150
+ &::after {
151
+ letter-spacing: -0.2em;
152
+ content: "\00a0"; /* non-breaking space*/
153
+ }
154
+ }
155
+
137
156
  dt {
138
157
  margin-top: 1em;
139
158
  font-family: $sans-serif;
@@ -89,6 +89,13 @@
89
89
  position: sticky;
90
90
  top: 2em;
91
91
  float: right;
92
+
93
+ .toc {
94
+ .toc__menu {
95
+ overflow-y: auto;
96
+ max-height: calc(100vh - 7em);
97
+ }
98
+ }
92
99
  }
93
100
  }
94
101
 
@@ -1,8 +1,5 @@
1
- /*!
2
- * Minimal Mistakes Jekyll Theme 4.24.0 by Michael Rose
3
- * Copyright 2013-2020 Michael Rose - mademistakes.com | @mmistakes
4
- * Licensed under MIT (https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE)
5
- */
1
+ /* Copyright comment */
2
+ @import "minimal-mistakes/copyright";
6
3
 
7
4
  /* Variables */
8
5
  @import "minimal-mistakes/variables";
data/assets/css/main.scss CHANGED
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  # Only the main Sass file needs front matter (the dashes are enough)
3
+ search: false
3
4
  ---
4
5
 
5
6
  @charset "utf-8";
data/assets/js/_main.js CHANGED
@@ -2,16 +2,16 @@
2
2
  jQuery plugin settings and other scripts
3
3
  ========================================================================== */
4
4
 
5
- $(document).ready(function() {
5
+ $(function() {
6
6
  // FitVids init
7
7
  $("#main").fitVids();
8
8
 
9
9
  // Sticky sidebar
10
10
  var stickySideBar = function() {
11
11
  var show =
12
- $(".author__urls-wrapper button").length === 0
12
+ $(".author__urls-wrapper").find("button").length === 0
13
13
  ? $(window).width() > 1024 // width should match $large Sass variable
14
- : !$(".author__urls-wrapper button").is(":visible");
14
+ : !$(".author__urls-wrapper").find("button").is(":visible");
15
15
  if (show) {
16
16
  // fix
17
17
  $(".sidebar").addClass("sticky");
@@ -28,9 +28,9 @@ $(document).ready(function() {
28
28
  });
29
29
 
30
30
  // Follow menu drop down
31
- $(".author__urls-wrapper button").on("click", function() {
31
+ $(".author__urls-wrapper").find("button").on("click", function() {
32
32
  $(".author__urls").toggleClass("is--visible");
33
- $(".author__urls-wrapper button").toggleClass("open");
33
+ $(".author__urls-wrapper").find("button").toggleClass("open");
34
34
  });
35
35
 
36
36
  // Close search screen with Esc key
@@ -49,7 +49,7 @@ $(document).ready(function() {
49
49
  $(".initial-content").toggleClass("is--hidden");
50
50
  // set focus on input
51
51
  setTimeout(function() {
52
- $(".search-content input").focus();
52
+ $(".search-content").find("input").focus();
53
53
  }, 400);
54
54
  });
55
55
 
@@ -84,7 +84,7 @@ $(document).ready(function() {
84
84
  // add lightbox class to all image links
85
85
  $(
86
86
  "a[href$='.jpg'],a[href$='.jpeg'],a[href$='.JPG'],a[href$='.png'],a[href$='.gif'],a[href$='.webp']"
87
- ).addClass("image-popup");
87
+ ).has("> img").addClass("image-popup");
88
88
 
89
89
  // Magnific-Popup options
90
90
  $(".image-popup").magnificPopup({
@@ -46,4 +46,39 @@ var store = [
46
46
  "teaser": {{ teaser | relative_url | jsonify }}
47
47
  }{%- unless forloop.last and l -%},{%- endunless -%}
48
48
  {%- endfor -%}
49
- {%- endfor -%}]
49
+ {%- endfor -%}{%- if site.lunr.search_within_pages -%},
50
+ {%- assign pages = site.pages | where_exp: 'doc', 'doc.search != false' | where_exp: 'doc', 'doc.title != null' -%}
51
+ {%- for doc in pages -%}
52
+ {%- if forloop.last -%}
53
+ {%- assign l = true -%}
54
+ {%- endif -%}
55
+ {
56
+ "title": {{ doc.title | jsonify }},
57
+ "excerpt":
58
+ {%- if site.search_full_content == true -%}
59
+ {{ doc.content | newline_to_br |
60
+ replace:"<br />", " " |
61
+ replace:"</p>", " " |
62
+ replace:"</h1>", " " |
63
+ replace:"</h2>", " " |
64
+ replace:"</h3>", " " |
65
+ replace:"</h4>", " " |
66
+ replace:"</h5>", " " |
67
+ replace:"</h6>", " "|
68
+ strip_html | strip_newlines | jsonify }},
69
+ {%- else -%}
70
+ {{ doc.content | newline_to_br |
71
+ replace:"<br />", " " |
72
+ replace:"</p>", " " |
73
+ replace:"</h1>", " " |
74
+ replace:"</h2>", " " |
75
+ replace:"</h3>", " " |
76
+ replace:"</h4>", " " |
77
+ replace:"</h5>", " " |
78
+ replace:"</h6>", " "|
79
+ strip_html | strip_newlines | truncatewords: 50 | jsonify }},
80
+ {%- endif -%}
81
+ "url": {{ doc.url | absolute_url | jsonify }}
82
+ }{%- unless forloop.last and l -%},{%- endunless -%}
83
+ {%- endfor -%}
84
+ {%- endif -%}]