minimal-mistakes-jekyll 4.24.0 → 4.25.1

Sign up to get free protection for your applications and to get access to all the features.
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 -%}]