type-on-strap 2.3.11 → 2.4.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a37ea279425397cd545055ca109d642aadf5c3f55293a4525458da89b3fdb280
4
- data.tar.gz: '081204be20380cfac5444debfdc2a86c7792e17b7358afcfb594656b212451cc'
3
+ metadata.gz: 4b4bbb13277b77d2a93d2837456b45e0350026ce480a4a980c216cb2ab6b694b
4
+ data.tar.gz: a54cdf0f90bf33af04b42bd27fed0c29f1a409df5e8e857382b12eed7145deb9
5
5
  SHA512:
6
- metadata.gz: 5a44d150d46b3f7aa736a1c1fd15dfff1e1bb107125249c6577534f847d4bea0213e068268f78340873720aa963f8eab44f2e1d468bd18ac1bd8f1c668b030b1
7
- data.tar.gz: d3991649b3e7138e93c1963e75a89b2502c11398ef670b0c59542dfdf9f3f7c19e0d08a35f25b441554989a82da05e2f604908437ce2f4c4255a14f37cae2fac
6
+ metadata.gz: a9c51c7fbdfe7c4a5ea6d460fdca02b156df66a46371517ba5d0d116a12fcd2c510fc461e0c0019f51c85ed6a1af70e4aedc09629c9e4a8f774395490a0e66ba
7
+ data.tar.gz: 5beac4a06c5a55a8571a8d089364d07bef4095509a422579c739beff8f1f7390858d482a5c67c4b26daeb9fb294c40a545297dda9d579915f5becc1fb465146c
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2016-2021 Sylhare
3
+ Copyright (c) 2016-2022 Sylhare
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -141,12 +141,24 @@ Customize your site header/footer with these variables in `_config.yml`:
141
141
 
142
142
  ```yml
143
143
  header_text: Welcome to my Jekyll blog
144
- header_feature_image: assets/img/sample3.png
145
144
  footer_text: Copyright 2017
146
145
  ```
147
146
 
148
147
  If you don't want anything, replace the value by `" "`.
149
148
 
149
+ #### Header's image
150
+
151
+ The header's image (tested with 2480x1280) can be set as one image with `header_feature_image`
152
+ but can also be responsive:
153
+
154
+ ```yml
155
+ header_feature_image: assets/img/header/my-header-image.png
156
+ header_feature_image_responsive: true
157
+ ```
158
+
159
+ By setting `header_feature_image_responsive` to true, it will look for images
160
+ with suffix `-small` (620x320) and `-medium` (1240x640) to display on smaller screen.
161
+
150
162
  #### Localisation string
151
163
 
152
164
  Localization string is a way to quickly change the template language for text like *Next Post* or *Follow on*, ...
@@ -616,4 +628,4 @@ remote_theme: sylhare/Type-on-Strap
616
628
  This theme is licensed under the [The MIT License (MIT)](/LICENSE)
617
629
 
618
630
  - Pictures from [Pexels](https://www.pexels.com/) are under Creative Commons Zero (CC0) license
619
- - Fonts are licensed under the [SIL Open Font License (OFL)](https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL)
631
+ - Fonts are licensed under the [SIL Open Font License (OFL)](https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL)
@@ -41,12 +41,12 @@
41
41
  <script defer src="{{ '/assets/js/vendor/auto-render.min.js' | relative_url }}" onload="renderMathInElement(document.body);"></script>
42
42
  {% endif %}
43
43
 
44
- <!-- Mermaid 8.9.2 -->
44
+ <!-- Mermaid 9.1.0 -->
45
45
  {% if site.mermaid %}
46
46
  <script defer src="{{ '/assets/js/vendor/mermaid.min.js' | relative_url }}" onload="mermaid.initialize({startOnLoad:true});"></script>
47
47
  {% endif %}
48
48
 
49
- <!-- Simple Jekyll Search 1.9.1 -->
49
+ <!-- Simple Jekyll Search 1.10.0 -->
50
50
  <script src="{{ '/assets/js/vendor/simple-jekyll-search.min.js' | relative_url }}" type="text/javascript"></script>
51
51
 
52
52
  <!-- Google Analytics / Cookie Consent -->
@@ -10,7 +10,7 @@
10
10
  {% endif %}
11
11
 
12
12
  {% for tag in tags %}
13
- <li><a class="button" href="#{{ tag | cgi_escape }}">
13
+ <li><a class="button" href="{% unless 'Tags' == page.title %}{{ site.baseurl }}/tags{% endunless %}#{{ tag | cgi_escape }}">
14
14
  <p><i class="fas fa-tag fa-fw fa-sm"></i> {{ tag }}</p>
15
15
  </a></li>
16
16
  {% endfor %}
@@ -1,7 +1,7 @@
1
1
  <style>
2
2
  /* force scrollbar */
3
3
  html { overflow-y: scroll; }
4
-
4
+
5
5
  /* To overwrite page's padding, to get bigger images */
6
6
  /* article {padding:2%;} */
7
7
  </style>
@@ -13,10 +13,10 @@ html { overflow-y: scroll; }
13
13
  {% if image.path contains include.gallery_path %}
14
14
  {% unless image.path contains '.md' %}
15
15
  <img src="{{ image.path | relative_url }}" alt="" class="grid-item" style="padding: 0;">
16
- {% endunless %}
16
+ {% endunless %}
17
17
  {% endif %}
18
18
  {% endfor %}
19
- </div>
19
+ </div>
20
20
 
21
- <script src="{{ '/assets/js/vendor/imagesloaded.min.js' | relative_url }}" type="text/javascript"></script>
21
+ <script src="{{ '/assets/js/vendor/imagesloaded.pkgd.min.js' | relative_url }}" type="text/javascript"></script>
22
22
  <script src="{{ '/assets/js/vendor/masonry.pkgd.min.js' | relative_url }}" type="text/javascript"></script>
@@ -1,6 +1,6 @@
1
1
  <!DOCTYPE html>
2
2
  <!--
3
- Type on Strap jekyll theme v2.3.11
3
+ Type on Strap jekyll theme v2.4.2
4
4
  Theme free for personal and commercial use under the MIT license
5
5
  https://github.com/sylhare/Type-on-Strap/blob/master/LICENSE
6
6
  -->
data/_layouts/home.liquid CHANGED
@@ -3,9 +3,25 @@ layout: default
3
3
  ---
4
4
 
5
5
  <div class="home">
6
-
7
- <div id="main" class="call-out"
8
- style="background-image: url('{{ site.header_feature_image | relative_url }}')">
6
+ <style scoped>
7
+ {% assign image = site.header_feature_image | relative_url | split: '.' %}
8
+ .call-out_img {
9
+ background-image: url('{{ image | join: '.' }}');
10
+ }
11
+ {% if site.header_feature_image_responsive %}
12
+ @media screen and (max-width: 768px) {
13
+ .call-out_img {
14
+ background-image: url('{{ image[0] | append: '-medium.' | append: image[1] | default: image}}');
15
+ }
16
+ }
17
+ @media screen and (max-width: 576px) {
18
+ .call-out_img {
19
+ background-image: url('{{ image[0] | append: '-small.' | append: image[1] }}');
20
+ }
21
+ }
22
+ {% endif %}
23
+ </style>
24
+ <div id="main" class="call-out call-out_img">
9
25
  <h1> {{ site.header_text | default: "Change <code>header_text</code> in <code>_config.yml</code>"}} </h1>
10
26
  </div>
11
27
 
data/_layouts/post.liquid CHANGED
@@ -56,10 +56,19 @@ layout: default
56
56
  }
57
57
 
58
58
  {% if page.color %}
59
- .feature-image a { color: {{ page.color }} !important; }
59
+ .post-content a { color: {{ page.color }} !important; }
60
+ .share-buttons a { color: {{ page.color }} !important; }
61
+ .tag-list a:not(:hover) { color: {{ page.color }} !important; }
60
62
  div#post-nav a { color: {{ page.color }} !important; }
61
63
  footer a { color: {{ page.color }} !important; }
62
64
  .site-header nav a:hover { color: {{ page.color }} !important; }
65
+ a.button:hover {
66
+ background: {{ page.color }} !important;
67
+ border: 1px solid {{ page.color }} !important;
68
+ color: white;
69
+ text-decoration: none;
70
+ filter: none;
71
+ }
63
72
  header#main {
64
73
  background-color: {{ page.color }} !important;
65
74
  background-image: url('{{ site.color_image | relative_url }}');
@@ -7,7 +7,7 @@ figure.highlight,
7
7
  .highlight code {
8
8
  position: relative;
9
9
  background: var(--base00);
10
- color: var(--base05);
10
+ color: var(--base07);
11
11
  font-family: $monospace;
12
12
  font-size: $font-size-code;
13
13
  line-height: $font-height-code;
@@ -121,7 +121,7 @@ table.rouge-table {
121
121
  .ge{ /* Generic.Emph */
122
122
  font-style: italic }
123
123
  .gh{ /* Generic.Heading */
124
- color: var(--base05);font-weight: bold }
124
+ color: var(--base07);font-weight: bold }
125
125
  .gi{ /* Generic.Inserted */
126
126
  color: var(--base0a) }
127
127
  .gp{ /* Generic.Prompt */
@@ -135,7 +135,7 @@ table.rouge-table {
135
135
  .k { /* Keyword */
136
136
  color: var(--base0d) }
137
137
  .kc{ /* Keyword.Constant */
138
- color: var(--base0d) }
138
+ color: var(--base0f) }
139
139
  .kd{ /* Keyword.Declaration */
140
140
  color: var(--base0d) }
141
141
  .kn{ /* Keyword.Namespace */
@@ -163,19 +163,19 @@ table.rouge-table {
163
163
  .mo{ /* Literal.Number.Oct */
164
164
  color: var(--base0e) }
165
165
  .n{ /* Name */
166
- color: var(--base05) }
166
+ color: var(--base07) }
167
167
  .na{ /* Name.Attribute */
168
- color: var(--base0b) }
168
+ color: var(--base0c) }
169
169
  .nb{ /* Name.Builtin */
170
170
  color: var(--base0c) }
171
171
  .nc{ /* Name.Class */
172
- color: var(--base05) }
172
+ color: var(--base07) }
173
173
  .no{ /* Name.Constant */
174
- color: var(--base05) }
174
+ color: var(--base07) }
175
175
  .nd{ /* Name.Decorator */
176
176
  color: var(--base0f) }
177
177
  .ni{ /* Name.Entity */
178
- color: var(--base05) }
178
+ color: var(--base07) }
179
179
  .ne{ /* Name.Exception */
180
180
  color: var(--base0c) }
181
181
  .nf{ /* Name.Function */
@@ -183,27 +183,31 @@ table.rouge-table {
183
183
  .nl{ /* Name.Label */
184
184
  color: var(--base0c) }
185
185
  .nn{ /* Name.Namespace */
186
- color: var(--base05) }
186
+ color: var(--base07) }
187
187
  .nt{ /* Name.Tag */
188
188
  color: var(--base08) }
189
189
  .nv{ /* Name.Variable */
190
190
  color: var(--base0c) }
191
191
  .nx{ /* Name.Other */
192
- color: var(--base05) }
192
+ color: var(--base07) }
193
193
  .o{ /* Operator */
194
194
  color: var(--base08) }
195
195
  .ow{ /* Operator.Word */
196
196
  color: var(--base0d) }
197
197
  .p{ /* Punctuation */
198
198
  color: var(--base05) }
199
+ .pi{ /* Name.Property */
200
+ color: var(--base07) }
199
201
  .py{ /* Name.Property */
200
- color: var(--base05) }
202
+ color: var(--base0d) }
201
203
  .s{ /* Literal.String */
202
204
  color: var(--base0a) }
205
+ .sa{ /* Literal.String.raw */
206
+ color: var(--base0a) }
203
207
  .sb{ /* Literal.String.Backtick */
204
208
  color: var(--base0a) }
205
209
  .sc{ /* Literal.String.Char */
206
- color: var(--base05) }
210
+ color: var(--base07) }
207
211
  .sd{ /* Literal.String.Doc */
208
212
  color: var(--base04) }
209
213
  .s2{ /* Literal.String.Double */
@@ -229,7 +233,7 @@ table.rouge-table {
229
233
  .vi{ /* Name.Variable.Instance */
230
234
  color: var(--base0c) }
231
235
  .w{ /* Text.Whitespace */
232
- color: var(--base05) }
236
+ color: var(--base07) }
233
237
  }
234
238
 
235
239
  // Fix Github syntax display
@@ -68,13 +68,13 @@ a.button {
68
68
  border: 1px solid var(--link);
69
69
  color: var(--background);
70
70
  text-decoration: none;
71
+ filter: none;
71
72
  }
72
73
  }
73
74
 
74
75
  .body-link {
75
76
  &:hover {
76
77
  text-decoration: underline;
77
- color: var(--link);
78
78
  filter: brightness(0.85);
79
79
  }
80
80
  }
@@ -83,7 +83,6 @@ a.button {
83
83
  &:hover {
84
84
  text-decoration: none;
85
85
  color: var(--link);
86
- filter: brightness(1.1);
87
86
  }
88
87
  }
89
88
 
@@ -33,7 +33,7 @@ html, html[data-theme="light"] {
33
33
  --blockquote: #eef7fa;
34
34
  --selection: #d4d4d4;
35
35
  --meta: #595959;
36
- --link: #337ab7;
36
+ --link: #0072B5;
37
37
  --header-background: #24292e;
38
38
  --header-text: #ffffff;
39
39
  --header-link: #383838;
@@ -81,11 +81,11 @@ html, html[data-theme="light"] {
81
81
  --base01: #2e3c43; // Lighter Background (Used for status bars) - NOT USED
82
82
  --base02: #314549; // Selection Background
83
83
  --base03: #546e7a; // Comments, Invisible, Line Highlighting
84
- --base04: #b2ccd6; // Dark Foreground (Used for status bars) - NOT USED
85
- --base05: #eeffff; // Light Foreground (Not often used)
86
- --base06: #eeffff; // Light Background (Not often used)
84
+ --base04: #b2ccd6; // Dark Foreground (Used for status bars)
85
+ --base05: #eeffff; // Punctuation
86
+ --base06: #eeffff; // Highlight, Light Background
87
87
  --base07: #ffffff; // Default Foreground, Default text color
88
- --base08: #f07178; // Parenthesis, Caret, Delimiters, Operators
88
+ --base08: #f07178; // Operators (and Parenthesis, Caret, Delimiters)
89
89
  --base09: #f78c6c; // Classes, Markup Bold, Search Text Background
90
90
  --base0a: #ffcb6b; // Strings, Inherited Class, Markup Code, Diff Inserted
91
91
  --base0b: #98c379; // Functions, Methods, Attribute IDs, Headings
@@ -20,15 +20,10 @@
20
20
  color: var(--link);
21
21
  }
22
22
 
23
- @media (prefers-color-scheme: dark) {
24
- a {
25
- color: var(--meta);
26
- }
27
- }
28
-
29
23
  a:hover {
30
- color: var(--link);
31
- filter: brightness(0.85);
24
+ .fa-circle {
25
+ filter: brightness(0.85);
26
+ }
32
27
  }
33
28
  }
34
29
  }
@@ -17,20 +17,20 @@
17
17
  }
18
18
 
19
19
  /* --- Responsive --- */
20
- @media screen and (min-width: $break) {
21
- background-size: 120% auto;
20
+ @media screen and (max-width: $m-break) {
21
+ background-size: 170% auto;
22
22
  }
23
23
 
24
- @media screen and (max-width: $break) {
24
+ @media screen and (max-width: 450px) {
25
25
  background-size: 200% auto;
26
26
  }
27
27
 
28
- @media screen and (max-width: $sm-break) {
28
+ @media screen and (max-width: 400px) {
29
29
  background-size: 250% auto;
30
30
  }
31
31
 
32
- @media screen and (max-width: $x-sm-break) {
33
- background-size: 300% auto;
32
+ @media screen and (max-width: 380px) {
33
+ background-size: 280% auto;
34
34
  }
35
35
 
36
36
  p:last-child {
@@ -69,6 +69,10 @@ header {
69
69
  img {
70
70
  height: auto;
71
71
  }
72
+
73
+ &:hover {
74
+ text-decoration: none;
75
+ }
72
76
  }
73
77
 
74
78
  img {
@@ -62,10 +62,10 @@
62
62
  font-size: 0.8em;
63
63
  line-height: normal;
64
64
  }
65
- }
66
65
 
67
- @media screen and (max-width: $sm-break) {
68
- .tag-posts .meta {
69
- display: none;
66
+ @media screen and (max-width: $sm-break) {
67
+ .meta {
68
+ display: none;
69
+ }
70
70
  }
71
71
  }
@@ -1 +1 @@
1
- function createCookie(e,t,o){var n,i="";o&&((n=new Date).setTime(n.getTime()+24*o*60*60*1e3),i="; expires="+n.toUTCString()),document.cookie=`${e}=${t}${i}; path=/`}function readCookie(e){for(var t=e+"=",o=document.cookie.split(";"),n=0;n<o.length;n++){for(var i=o[n];" "===i.charAt(0);)i=i.substring(1,i.length);if(0===i.indexOf(t))return i.substring(t.length,i.length)}return null}function addCookieConsentListener(){document.getElementById("cookie-notice-accept").addEventListener("click",function(){createCookie(cookieName,"true",31),document.getElementById("cookie-notice").style.display="none",location.reload()})}function googleAnalytics(){function e(){dataLayer.push(arguments)}""!==analyticsName.toLowerCase()&&(window.dataLayer=window.dataLayer||[],e("js",new Date),e("config",analyticsName),window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)},ga.l=+new Date,ga("create",analyticsName,"auto"),ga("send","pageview"))}"true"===isCookieConsent.toLowerCase()?(addCookieConsentListener(),"true"===readCookie(cookieName)?googleAnalytics():document.getElementById("cookie-notice").style.display="block"):googleAnalytics();const themeButton={light:'<i class="fas fa-adjust" aria-hidden="true"></i>',dark:'<i class="fas fa-adjust fa-rotate-180" aria-hidden="true"></i>'},currentTheme=()=>sessionStorage.getItem("theme");function setMode(e){document.documentElement.setAttribute("data-theme",e),sessionStorage.setItem("theme",e),document.getElementById("theme-toggle").innerHTML=themeButton[e]}function themeToggle(){setMode("light"===currentTheme()?"dark":"light")}window.onload=function(){if(isAutoTheme){if(!currentTheme()){let e=window.matchMedia("(prefers-color-scheme: dark)");e.addEventListener("change",()=>{e.matches&&sessionStorage.setItem("theme","dark")})}var e=currentTheme();setMode(e||"light")}};try{var elem=document.querySelector(".grid"),msnry=new Masonry(elem,{itemSelector:".grid-item",columnWidth:".grid-sizer",gutter:".gutter-sizer",percentPosition:!0}),imgLoad=imagesLoaded(elem);imgLoad.on("progress",function(e,t){msnry.layout()})}catch(e){if(!(e instanceof ReferenceError))throw e}document.addEventListener("DOMContentLoaded",function(e){var t=document.getElementById("pull"),o=document.querySelector("nav ul");["click","touch"].forEach(function(e){t.addEventListener(e,function(){o.classList.toggle("hide")},!1)}),window.addEventListener("scroll",function(){var e=-(window.scrollY||window.pageYOffset||document.body.scrollTop)/3;document.getElementById("main").style.backgroundPosition="100% "+(e-50)+"px, 0%, center top"})});
1
+ function createCookie(e,t,o){var n,i="";o&&((n=new Date).setTime(n.getTime()+24*o*60*60*1e3),i="; expires="+n.toUTCString()),document.cookie=`${e}=${t}${i}; path=/`}function readCookie(e){for(var t=e+"=",o=document.cookie.split(";"),n=0;n<o.length;n++){for(var i=o[n];" "===i.charAt(0);)i=i.substring(1,i.length);if(0===i.indexOf(t))return i.substring(t.length,i.length)}return null}function addCookieConsentListener(){document.getElementById("cookie-notice-accept").addEventListener("click",function(){createCookie(cookieName,"true",31),document.getElementById("cookie-notice").style.display="none",location.reload()})}function googleAnalytics(){function e(){dataLayer.push(arguments)}""!==analyticsName.toLowerCase()&&(window.dataLayer=window.dataLayer||[],e("js",new Date),e("config",analyticsName),window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)},ga.l=+new Date,ga("create",analyticsName,"auto"),ga("send","pageview"))}"true"===isCookieConsent.toLowerCase()?(addCookieConsentListener(),"true"===readCookie(cookieName)?googleAnalytics():document.getElementById("cookie-notice").style.display="block"):googleAnalytics();const themeButton={light:'<i class="fas fa-adjust" aria-hidden="true"></i>',dark:'<i class="fas fa-adjust fa-rotate-180" aria-hidden="true"></i>'},currentTheme=()=>sessionStorage.getItem("theme");function setMode(e){document.documentElement.setAttribute("data-theme",e),sessionStorage.setItem("theme",e),document.getElementById("theme-toggle").innerHTML=themeButton[e]}function themeToggle(){setMode("light"===currentTheme()?"dark":"light")}window.onload=function(){if(isAutoTheme){if(!currentTheme()){let e=window.matchMedia("(prefers-color-scheme: dark)");e.addEventListener("change",()=>{e.matches&&sessionStorage.setItem("theme","dark")})}var e=currentTheme();setMode(e||"light")}};try{var elem=document.querySelector(".grid"),msnry=new Masonry(elem,{itemSelector:".grid-item",columnWidth:".grid-sizer",gutter:".gutter-sizer",percentPosition:!0}),imgLoad=imagesLoaded(elem);imgLoad.on("progress",function(e,t){msnry.layout()})}catch(e){if(!(e instanceof ReferenceError))throw e}document.addEventListener("DOMContentLoaded",function(e){const t=document.getElementById("pull"),o=document.querySelector("nav ul");["click","touch"].forEach(function(e){t.addEventListener(e,function(){o.classList.toggle("hide")},!1)}),window.addEventListener("scroll",function(){var e=-(window.scrollY||window.pageYOffset||document.body.scrollTop)/3;document.getElementById("main").style.backgroundPosition="100% "+(e-50)+"px, 0%, center top"})});
@@ -4,8 +4,8 @@ document.addEventListener("DOMContentLoaded", function (event) {
4
4
  /*
5
5
  * Display the menu items on smaller screens
6
6
  */
7
- var pull = document.getElementById('pull');
8
- var menu = document.querySelector('nav ul');
7
+ const pull = document.getElementById('pull');
8
+ const menu = document.querySelector('nav ul');
9
9
 
10
10
  ['click', 'touch'].forEach(function (e) {
11
11
  pull.addEventListener(e, function () {
@@ -17,7 +17,7 @@ document.addEventListener("DOMContentLoaded", function (event) {
17
17
  * Make the header images move on scroll
18
18
  */
19
19
  window.addEventListener('scroll', function () {
20
- var offset = -(window.scrollY || window.pageYOffset || document.body.scrollTop) / 3;
20
+ const offset = -(window.scrollY || window.pageYOffset || document.body.scrollTop) / 3;
21
21
  document.getElementById("main").style.backgroundPosition = '100% ' + (offset - 50) + 'px' + ', 0%, center top';
22
22
  });
23
23
  });
@@ -0,0 +1,12 @@
1
+ /*!
2
+ * imagesLoaded PACKAGED v5.0.0
3
+ * JavaScript is all like "You images are done yet or what?"
4
+ * MIT License
5
+ */
6
+ !function(t,e){"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}("undefined"!=typeof window?window:this,(function(){function t(){}let e=t.prototype;return e.on=function(t,e){if(!t||!e)return this;let i=this._events=this._events||{},s=i[t]=i[t]||[];return s.includes(e)||s.push(e),this},e.once=function(t,e){if(!t||!e)return this;this.on(t,e);let i=this._onceEvents=this._onceEvents||{};return(i[t]=i[t]||{})[e]=!0,this},e.off=function(t,e){let i=this._events&&this._events[t];if(!i||!i.length)return this;let s=i.indexOf(e);return-1!=s&&i.splice(s,1),this},e.emitEvent=function(t,e){let i=this._events&&this._events[t];if(!i||!i.length)return this;i=i.slice(0),e=e||[];let s=this._onceEvents&&this._onceEvents[t];for(let n of i){s&&s[n]&&(this.off(t,n),delete s[n]),n.apply(this,e)}return this},e.allOff=function(){return delete this._events,delete this._onceEvents,this},t})),
7
+ /*!
8
+ * imagesLoaded v5.0.0
9
+ * JavaScript is all like "You images are done yet or what?"
10
+ * MIT License
11
+ */
12
+ function(t,e){"object"==typeof module&&module.exports?module.exports=e(t,require("ev-emitter")):t.imagesLoaded=e(t,t.EvEmitter)}("undefined"!=typeof window?window:this,(function(t,e){let i=t.jQuery,s=t.console;function n(t,e,o){if(!(this instanceof n))return new n(t,e,o);let r=t;var h;("string"==typeof t&&(r=document.querySelectorAll(t)),r)?(this.elements=(h=r,Array.isArray(h)?h:"object"==typeof h&&"number"==typeof h.length?[...h]:[h]),this.options={},"function"==typeof e?o=e:Object.assign(this.options,e),o&&this.on("always",o),this.getImages(),i&&(this.jqDeferred=new i.Deferred),setTimeout(this.check.bind(this))):s.error(`Bad element for imagesLoaded ${r||t}`)}n.prototype=Object.create(e.prototype),n.prototype.getImages=function(){this.images=[],this.elements.forEach(this.addElementImages,this)};const o=[1,9,11];n.prototype.addElementImages=function(t){"IMG"===t.nodeName&&this.addImage(t),!0===this.options.background&&this.addElementBackgroundImages(t);let{nodeType:e}=t;if(!e||!o.includes(e))return;let i=t.querySelectorAll("img");for(let t of i)this.addImage(t);if("string"==typeof this.options.background){let e=t.querySelectorAll(this.options.background);for(let t of e)this.addElementBackgroundImages(t)}};const r=/url\((['"])?(.*?)\1\)/gi;function h(t){this.img=t}function d(t,e){this.url=t,this.element=e,this.img=new Image}return n.prototype.addElementBackgroundImages=function(t){let e=getComputedStyle(t);if(!e)return;let i=r.exec(e.backgroundImage);for(;null!==i;){let s=i&&i[2];s&&this.addBackground(s,t),i=r.exec(e.backgroundImage)}},n.prototype.addImage=function(t){let e=new h(t);this.images.push(e)},n.prototype.addBackground=function(t,e){let i=new d(t,e);this.images.push(i)},n.prototype.check=function(){if(this.progressedCount=0,this.hasAnyBroken=!1,!this.images.length)return void this.complete();let t=(t,e,i)=>{setTimeout((()=>{this.progress(t,e,i)}))};this.images.forEach((function(e){e.once("progress",t),e.check()}))},n.prototype.progress=function(t,e,i){this.progressedCount++,this.hasAnyBroken=this.hasAnyBroken||!t.isLoaded,this.emitEvent("progress",[this,t,e]),this.jqDeferred&&this.jqDeferred.notify&&this.jqDeferred.notify(this,t),this.progressedCount===this.images.length&&this.complete(),this.options.debug&&s&&s.log(`progress: ${i}`,t,e)},n.prototype.complete=function(){let t=this.hasAnyBroken?"fail":"done";if(this.isComplete=!0,this.emitEvent(t,[this]),this.emitEvent("always",[this]),this.jqDeferred){let t=this.hasAnyBroken?"reject":"resolve";this.jqDeferred[t](this)}},h.prototype=Object.create(e.prototype),h.prototype.check=function(){this.getIsImageComplete()?this.confirm(0!==this.img.naturalWidth,"naturalWidth"):(this.proxyImage=new Image,this.img.crossOrigin&&(this.proxyImage.crossOrigin=this.img.crossOrigin),this.proxyImage.addEventListener("load",this),this.proxyImage.addEventListener("error",this),this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.proxyImage.src=this.img.currentSrc||this.img.src)},h.prototype.getIsImageComplete=function(){return this.img.complete&&this.img.naturalWidth},h.prototype.confirm=function(t,e){this.isLoaded=t;let{parentNode:i}=this.img,s="PICTURE"===i.nodeName?i:this.img;this.emitEvent("progress",[this,s,e])},h.prototype.handleEvent=function(t){let e="on"+t.type;this[e]&&this[e](t)},h.prototype.onload=function(){this.confirm(!0,"onload"),this.unbindEvents()},h.prototype.onerror=function(){this.confirm(!1,"onerror"),this.unbindEvents()},h.prototype.unbindEvents=function(){this.proxyImage.removeEventListener("load",this),this.proxyImage.removeEventListener("error",this),this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},d.prototype=Object.create(h.prototype),d.prototype.check=function(){this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.img.src=this.url,this.getIsImageComplete()&&(this.confirm(0!==this.img.naturalWidth,"naturalWidth"),this.unbindEvents())},d.prototype.unbindEvents=function(){this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},d.prototype.confirm=function(t,e){this.isLoaded=t,this.emitEvent("progress",[this,this.element,e])},n.makeJQueryPlugin=function(e){(e=e||t.jQuery)&&(i=e,i.fn.imagesLoaded=function(t,e){return new n(this,t,e).jqDeferred.promise(i(this))})},n.makeJQueryPlugin(),n}));