type-on-strap 2.5.0 → 2.5.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 (87) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +11 -42
  3. data/_includes/blog/post_nav.liquid +2 -2
  4. data/_includes/default/head.liquid +12 -12
  5. data/_includes/default/navbar.liquid +2 -2
  6. data/_includes/gallery.html +5 -7
  7. data/_includes/portfolio.html +1 -1
  8. data/_includes/social/share_buttons.liquid +9 -9
  9. data/_layouts/default.html +1 -1
  10. data/_layouts/page.liquid +1 -7
  11. data/_layouts/post.liquid +1 -3
  12. data/_sass/base/_global.scss +7 -11
  13. data/_sass/base/_utility.scss +8 -29
  14. data/_sass/base/_variables.scss +43 -2
  15. data/_sass/external/_font-awesome.scss +1 -1
  16. data/_sass/external/_katex.scss +1 -1
  17. data/_sass/external/_pacifico.scss +3 -6
  18. data/_sass/external/font-awesome/_core.scss +1 -1
  19. data/_sass/external/font-awesome/_icons.scss +0 -1
  20. data/_sass/external/font-awesome/brands.scss +1 -1
  21. data/_sass/external/font-awesome/fontawesome.scss +1 -1
  22. data/_sass/external/font-awesome/regular.scss +1 -1
  23. data/_sass/external/font-awesome/solid.scss +1 -1
  24. data/_sass/external/font-awesome/v4-shims.scss +1 -1
  25. data/_sass/external/katex/katex.scss +151 -266
  26. data/_sass/includes/_blog_nav.scss +0 -4
  27. data/_sass/includes/_gallery.scss +12 -24
  28. data/_sass/includes/_navbar.scss +1 -7
  29. data/_sass/includes/_portfolio.scss +2 -4
  30. data/_sass/layouts/_blog.scss +7 -23
  31. data/_sass/layouts/_categories.scss +4 -3
  32. data/_sass/layouts/_page.scss +1 -1
  33. data/_sass/layouts/_posts.scss +13 -12
  34. data/_sass/layouts/_search.scss +6 -19
  35. data/_sass/type-on-strap.scss +10 -0
  36. data/assets/fonts/Pacifico/Pacifico.woff +0 -0
  37. data/assets/fonts/Pacifico/Pacifico.woff2 +0 -0
  38. data/assets/fonts/font-awesome/fa-brands-400.ttf +0 -0
  39. data/assets/fonts/font-awesome/fa-brands-400.woff2 +0 -0
  40. data/assets/fonts/font-awesome/fa-regular-400.ttf +0 -0
  41. data/assets/fonts/font-awesome/fa-regular-400.woff2 +0 -0
  42. data/assets/fonts/font-awesome/fa-solid-900.ttf +0 -0
  43. data/assets/fonts/font-awesome/fa-solid-900.woff2 +0 -0
  44. data/assets/js/comments-lazy-load.min.js +1 -1
  45. data/assets/js/main.min.js +1 -6
  46. data/assets/js/vendor/katex.auto-render.min.js +1 -1
  47. data/assets/js/vendor/katex.min.js +1 -1
  48. data/assets/js/vendor/mermaid.min.js +534 -323
  49. data/assets/js/vendor/simple-jekyll-search.min.js +2 -2
  50. metadata +16 -39
  51. data/assets/css/bootstrap-iso.less +0 -12
  52. data/assets/css/vendor/bootstrap-iso.css +0 -9121
  53. data/assets/css/vendor/bootstrap-iso.min.css +0 -6
  54. data/assets/css/vendor/bootstrap.css +0 -10007
  55. data/assets/fonts/Pacifico/Pacifico.eot +0 -0
  56. data/assets/fonts/Pacifico/Pacifico.svg +0 -10833
  57. data/assets/fonts/Pacifico/Pacifico.ttf +0 -0
  58. data/assets/fonts/Pacifico/original-pacifico-regular.ttf +0 -0
  59. data/assets/fonts/font-awesome/fa-v4compatibility.ttf +0 -0
  60. data/assets/fonts/font-awesome/fa-v4compatibility.woff2 +0 -0
  61. data/assets/fonts/katex/KaTeX_AMS-Regular.ttf +0 -0
  62. data/assets/fonts/katex/KaTeX_Caligraphic-Bold.ttf +0 -0
  63. data/assets/fonts/katex/KaTeX_Caligraphic-Regular.ttf +0 -0
  64. data/assets/fonts/katex/KaTeX_Fraktur-Bold.ttf +0 -0
  65. data/assets/fonts/katex/KaTeX_Fraktur-Regular.ttf +0 -0
  66. data/assets/fonts/katex/KaTeX_Main-Bold.ttf +0 -0
  67. data/assets/fonts/katex/KaTeX_Main-BoldItalic.ttf +0 -0
  68. data/assets/fonts/katex/KaTeX_Main-Italic.ttf +0 -0
  69. data/assets/fonts/katex/KaTeX_Main-Regular.ttf +0 -0
  70. data/assets/fonts/katex/KaTeX_Math-BoldItalic.ttf +0 -0
  71. data/assets/fonts/katex/KaTeX_Math-Italic.ttf +0 -0
  72. data/assets/fonts/katex/KaTeX_SansSerif-Bold.ttf +0 -0
  73. data/assets/fonts/katex/KaTeX_SansSerif-Italic.ttf +0 -0
  74. data/assets/fonts/katex/KaTeX_SansSerif-Regular.ttf +0 -0
  75. data/assets/fonts/katex/KaTeX_Script-Regular.ttf +0 -0
  76. data/assets/fonts/katex/KaTeX_Size1-Regular.ttf +0 -0
  77. data/assets/fonts/katex/KaTeX_Size2-Regular.ttf +0 -0
  78. data/assets/fonts/katex/KaTeX_Size3-Regular.ttf +0 -0
  79. data/assets/fonts/katex/KaTeX_Size4-Regular.ttf +0 -0
  80. data/assets/fonts/katex/KaTeX_Typewriter-Regular.ttf +0 -0
  81. data/assets/js/comments-lazy-load.js +0 -123
  82. data/assets/js/partials/cookie_consent_init.js +0 -60
  83. data/assets/js/partials/dark-mode.js +0 -57
  84. data/assets/js/partials/masonry_init.js +0 -22
  85. data/assets/js/partials/navbar.js +0 -26
  86. data/assets/js/vendor/imagesloaded.pkgd.min.js +0 -12
  87. data/assets/js/vendor/masonry.pkgd.min.js +0 -9
@@ -32,10 +32,6 @@
32
32
  font-size: initial;
33
33
  }
34
34
  }
35
-
36
- i .fa-chevron-left .fa-chevron-right {
37
- vertical-align: inherit;
38
- }
39
35
  }
40
36
 
41
37
  .previous {
@@ -13,36 +13,24 @@
13
13
  }
14
14
  }
15
15
 
16
- /* ---- .grid-item within masonry ---- */
16
+ /* ---- .grid-col ---- */
17
17
 
18
- .grid-sizer,
19
- .grid-item {
20
- /* state column width */
21
- width: 32.6%;
22
- }
23
-
24
- .grid-item {
18
+ .grid-col {
25
19
  float: left;
26
- border-radius: 5px;
20
+ width: $gallery-item-width;
21
+ margin-right: $gallery-gutter;
27
22
 
28
- img {
29
- /* for image formatting in the masonry */
30
- display: block;
31
- max-width: 100%;
32
- min-height: 30%;
23
+ &:last-of-type {
24
+ margin-right: 0;
33
25
  }
34
26
  }
35
27
 
36
- /* --- Masonry gutter size --- */
37
-
38
- .gutter-sizer {
39
- width: 1%;
40
- }
41
-
42
- .grid-item:first-of-type {
43
- margin-bottom: 1%;
44
- }
28
+ /* ---- .grid-item ---- */
45
29
 
46
30
  .grid-item {
47
- margin-bottom: 1%;
31
+ border-radius: 5px;
32
+ display: block;
33
+ max-width: 100%;
34
+ min-height: 30%;
35
+ margin-bottom: $gallery-gutter;
48
36
  }
@@ -1,7 +1,5 @@
1
1
  // To clear things when we float the element inside nav and ul
2
2
  .clear {
3
- *zoom: 1;
4
-
5
3
  &:after {
6
4
  clear: both;
7
5
  }
@@ -123,7 +121,7 @@ nav {
123
121
  overflow: hidden;
124
122
 
125
123
  /* fade out, then shrink */
126
- transition: opacity .25s 0s, font-size .25s 0s;
124
+ transition: opacity $transition-base 0s, font-size $transition-base 0s;
127
125
  transition-delay: 0s;
128
126
 
129
127
  &.hide {
@@ -142,10 +140,6 @@ nav {
142
140
  background-color: var(--background);
143
141
  backdrop-filter: brightness(0.98);
144
142
 
145
- &:nth-of-type(4n) {
146
- background-color: var(--background);
147
- }
148
-
149
143
  a {
150
144
  width: 100%;
151
145
  display: block;
@@ -2,7 +2,7 @@
2
2
  display: block;
3
3
  position: relative;
4
4
  margin: 0 auto;
5
- max-width: 400px;
5
+ max-width: $portfolio-max-width;
6
6
 
7
7
  .caption {
8
8
  margin: 0;
@@ -11,9 +11,7 @@
11
11
  height: 100%;
12
12
  text-align: center;
13
13
  opacity: 0;
14
- -webkit-transition: all ease .5s;
15
- -moz-transition: all ease .5s;
16
- transition: all ease .5s;
14
+ transition: all ease $transition-slow;
17
15
 
18
16
  &::before {
19
17
  content: ' ';
@@ -21,17 +21,9 @@
21
21
  background-size: 170% auto;
22
22
  }
23
23
 
24
- @media screen and (max-width: 450px) {
25
- background-size: 200% auto;
26
- }
27
-
28
- @media screen and (max-width: 400px) {
29
- background-size: 250% auto;
30
- }
31
-
32
- @media screen and (max-width: 380px) {
33
- background-size: 280% auto;
34
- }
24
+ @include respond-to('xs-l') { background-size: 200% auto; }
25
+ @include respond-to('xs-m') { background-size: 250% auto; }
26
+ @include respond-to('xs-s') { background-size: 280% auto; }
35
27
 
36
28
  p:last-child {
37
29
  margin-bottom: 0;
@@ -50,7 +42,7 @@
50
42
  margin-bottom: 0;
51
43
  display: inline-block;
52
44
  background-size: cover;
53
- border-bottom: 1px solid rgba(0, 0, 0, 0.1);
45
+ border-bottom: 1px solid var(--border);
54
46
 
55
47
  p a {
56
48
  @extend .body-link;
@@ -62,12 +54,12 @@
62
54
  overflow: hidden;
63
55
 
64
56
  @media (min-width: $break) {
65
- height: 250px;
57
+ height: $post-img-height;
66
58
  }
67
59
 
68
60
  //Smaller screen
69
61
  @media screen and (max-width: $break) {
70
- height: 150px;
62
+ height: $post-img-height-mobile;
71
63
  }
72
64
 
73
65
  img {
@@ -79,17 +71,9 @@
79
71
  }
80
72
 
81
73
  .post-img img {
82
- -moz-transition-timing-function: ease-out;
83
- -webkit-transition-timing-function: ease-out;
84
- transition-timing-function: ease-out;
85
-
86
- -moz-transition: all 2s;
87
- -webkit-transition: all 2s;
88
- transition: all 2s;
74
+ transition: all 2s ease-out;
89
75
 
90
76
  &:hover {
91
- -moz-transform: scale(1.1);
92
- -webkit-transform: scale(1.1);
93
77
  transform: scale(1.1);
94
78
  }
95
79
  }
@@ -14,7 +14,7 @@
14
14
  .category-link {
15
15
  color: var(--meta);
16
16
  text-decoration: underline;
17
- transition: color 0.2s ease;
17
+ transition: color $transition-base ease;
18
18
 
19
19
  &:hover {
20
20
  color: var(--link);
@@ -89,7 +89,7 @@
89
89
  font-size: 0.75rem;
90
90
  font-weight: 500;
91
91
  white-space: nowrap;
92
- transition: background-color 0.2s ease, color 0.2s ease, border 0.2s ease;
92
+ transition: background-color $transition-base ease, color $transition-base ease, border $transition-base ease;
93
93
  cursor: pointer;
94
94
  border: 1px solid transparent;
95
95
  }
@@ -103,6 +103,7 @@
103
103
  background-color: var(--selection);
104
104
  border-radius: 8px;
105
105
  height: 100%;
106
+ transition: background-color $transition-base ease;
106
107
  }
107
108
 
108
109
  .item-wrapper:hover::before {
@@ -124,7 +125,7 @@
124
125
  }
125
126
 
126
127
  .item-wrapper:hover .tag:hover {
127
- background-color: var(--page-background);
128
+ background-color: var(--background);
128
129
  color: var(--link);
129
130
  border-color: var(--link);
130
131
  }
@@ -9,7 +9,7 @@ h1.title {
9
9
 
10
10
 
11
11
  .subtitle {
12
+ @extend .subtle-txt-shadow;
12
13
  font-weight: normal;
13
14
  margin-top: 5px;
14
- text-shadow: 1px 1px 2px var(--text-shadow);
15
15
  }
@@ -1,6 +1,6 @@
1
1
  .comments {
2
2
  @extend %padding-post;
3
- border-bottom: 1px solid rgba(0, 0, 0, 0.1);
3
+ border-bottom: 1px solid var(--border);
4
4
  float: left;
5
5
  width: 100%;
6
6
 
@@ -46,7 +46,7 @@ footer {
46
46
  }
47
47
 
48
48
  header {
49
- h1 {
49
+ h1, h2 {
50
50
  margin: 0;
51
51
  }
52
52
  }
@@ -71,11 +71,17 @@ header {
71
71
  padding-right: 0.5em;
72
72
  display: inline-flex;
73
73
  flex-direction: column;
74
+ max-width: 100%;
75
+
76
+ .author-info {
77
+ display: flex;
78
+ align-items: center;
79
+ }
74
80
 
75
81
  .post-meta {
76
82
  display: flex;
77
83
  align-items: center;
78
- flex-wrap: nowrap;
84
+ flex-wrap: wrap;
79
85
 
80
86
  .meta:only-child {
81
87
  margin: 0 auto;
@@ -133,7 +139,7 @@ header {
133
139
 
134
140
  .meta, .meta-separator, .last-modified {
135
141
  color: var(--header-text);
136
- filter: opacity(0.7);
142
+ opacity: 0.7;
137
143
  }
138
144
  }
139
145
 
@@ -154,15 +160,12 @@ header {
154
160
 
155
161
  /*-- feature-image Responsive scrolling --*/
156
162
  .feature-image header {
157
- @media screen and (max-width: $break) {
158
- padding: $padding-large*1.5 $padding-small;
159
- }
160
-
161
163
  @media screen and (min-width: $break) {
162
164
  background-size: 120% auto;
163
165
  }
164
166
 
165
167
  @media screen and (max-width: $break) {
168
+ padding: $padding-large*1.5 $padding-small;
166
169
  background-size: 200% auto;
167
170
  }
168
171
 
@@ -179,9 +182,7 @@ header {
179
182
  h5 { color: var(--h5); }
180
183
  h6 { color: var(--h6); }
181
184
 
182
- a {
183
- :visited {
184
- filter: saturate(0.7);
185
- }
185
+ a:visited {
186
+ filter: saturate(0.7);
186
187
  }
187
188
  }
@@ -7,29 +7,20 @@
7
7
  line-height: 1.43;
8
8
  color: var(--text);
9
9
  background: var(--background) none;
10
- border: 1px solid #ccc;
11
- border-radius: 4px;
12
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
10
+ border: 1px solid var(--border);
11
+ border-radius: $border-radius;
13
12
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
14
- -webkit-transition: border-color ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s;
15
- -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
16
- transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
13
+ transition: border-color ease-in-out $transition-fast, box-shadow ease-in-out $transition-fast;
17
14
 
18
15
  &:focus,
19
16
  &:hover {
20
17
  border-color: var(--link);
21
18
  outline: 0;
22
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px var(--link);
23
19
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px var(--link);
24
- filter: opacity(0.6);
20
+ opacity: 0.6;
25
21
  }
26
22
 
27
- &::-moz-placeholder {
28
- color: var(--meta);
29
- opacity: 0.7;
30
- }
31
-
32
- &:-ms-input-placeholder,
23
+ &::placeholder,
33
24
  &::-webkit-input-placeholder {
34
25
  color: var(--meta);
35
26
  opacity: 0.7;
@@ -58,11 +49,7 @@
58
49
  }
59
50
 
60
51
  .search-highlight {
61
- background-color: rgba(255, 221, 76, 0.5);
52
+ background-color: var(--search-highlight);
62
53
  padding: 2px 4px;
63
54
  border-radius: 3px;
64
55
  }
65
-
66
- [data-theme="dark"] .search-highlight {
67
- background-color: rgba(167, 139, 250, 0.5); /* #a78bfa - violet with blue undertones */
68
- }
@@ -1,3 +1,13 @@
1
+ // NOTE: This file intentionally uses Sass @import (not @use/@forward).
2
+ // Migration is blocked until ALL of the following are resolved:
3
+ // 1. GitHub Pages / jekyll-sass-converter 1.5.2 uses Ruby Sass 3.7.4
4
+ // which has no @use/@forward support.
5
+ // 2. External deps (Font Awesome, KaTeX) ship @use-compatible partials.
6
+ // 3. Cross-module @extend (utility ↔ footer/posts/blog/post_nav) is
7
+ // converted to @mixin before modules can be isolated.
8
+ // quiet_deps: true in _config.yml silences Font Awesome's own @import
9
+ // deprecation warnings under Dart Sass.
10
+
1
11
  /* TYPE_ON_STRAP Main style sheet */
2
12
 
3
13
  /* Variables */
Binary file
Binary file
@@ -1 +1 @@
1
- !function(){"use strict";function t(t,e){const s=document.getElementById(t);if(!s||"true"!==s.getAttribute("data-lazy-load"))return;let n=!1;function c(){n||(n=!0,e(s))}if("IntersectionObserver"in window){const t=new IntersectionObserver((function(e){e.forEach((function(e){e.isIntersecting&&(c(),t.unobserve(s))}))}),{rootMargin:"400px"});t.observe(s)}else"complete"===document.readyState?c():window.addEventListener("load",c)}t("cusdis_thread",(function(t){const e=t.getAttribute("data-lang");if(e){const t=document.createElement("script");t.src="https://cusdis.com/js/widget/lang/"+e+".js",t.async=!0,document.body.appendChild(t)}const s=document.createElement("script");s.src="https://cusdis.com/js/cusdis.es.js",s.async=!0,document.body.appendChild(s)})),t("disqus_thread",(function(t){const e=t.getAttribute("data-shortname");if(!e)return void console.error("Disqus shortname not provided");window.disqus_shortname=e;const s=document.createElement("script");s.type="text/javascript",s.async=!0,s.src="//"+e+".disqus.com/embed.js",(document.getElementsByTagName("head")[0]||document.getElementsByTagName("body")[0]).appendChild(s)})),t("giscus_thread",(function(t){const e=document.createElement("script");e.src="https://giscus.app/client.js",e.async=!0,e.crossOrigin="anonymous";const s=t.attributes;for(let t=0;t<s.length;t++){const n=s[t];n.name.startsWith("data-")&&"data-lazy-load"!==n.name&&e.setAttribute(n.name,n.value)}t.appendChild(e)})),t("utterances_thread",(function(t){const e=document.createElement("script");e.src="https://utteranc.es/client.js",e.async=!0,e.crossOrigin="anonymous";const s=t.getAttribute("data-repo"),n=t.getAttribute("data-issue-term"),c=t.getAttribute("data-theme"),a=t.getAttribute("data-label");s&&e.setAttribute("repo",s),n&&e.setAttribute("issue-term",n),c&&e.setAttribute("theme",c),a&&e.setAttribute("label",a),t.appendChild(e)}))}();
1
+ (function(){"use strict";function a(s,t){const e=document.getElementById(s);if(!e||e.getAttribute("data-lazy-load")!=="true")return;let n=!1;function r(){n||(n=!0,t(e))}if("IntersectionObserver"in window){const i=new IntersectionObserver(function(c){c.forEach(function(o){o.isIntersecting&&(r(),i.unobserve(e))})},{rootMargin:"400px"});i.observe(e)}else document.readyState==="complete"?r():window.addEventListener("load",r)}a("cusdis_thread",function(s){const t=s.getAttribute("data-lang");if(t){const n=document.createElement("script");n.src="https://cusdis.com/js/widget/lang/"+t+".js",n.async=!0,document.body.appendChild(n)}const e=document.createElement("script");e.src="https://cusdis.com/js/cusdis.es.js",e.async=!0,document.body.appendChild(e)}),a("disqus_thread",function(s){const t=s.getAttribute("data-shortname");if(!t){console.error("Disqus shortname not provided");return}window.disqus_shortname=t;const e=document.createElement("script");e.type="text/javascript",e.async=!0,e.src="//"+t+".disqus.com/embed.js",(document.getElementsByTagName("head")[0]||document.getElementsByTagName("body")[0]).appendChild(e)}),a("giscus_thread",function(s){const t=document.createElement("script");t.src="https://giscus.app/client.js",t.async=!0,t.crossOrigin="anonymous";const e=s.attributes;for(let n=0;n<e.length;n++){const r=e[n];r.name.startsWith("data-")&&r.name!=="data-lazy-load"&&t.setAttribute(r.name,r.value)}s.appendChild(t)}),a("utterances_thread",function(s){const t=document.createElement("script");t.src="https://utteranc.es/client.js",t.async=!0,t.crossOrigin="anonymous";const e=s.getAttribute("data-repo"),n=s.getAttribute("data-issue-term"),r=s.getAttribute("data-theme"),i=s.getAttribute("data-label");e&&t.setAttribute("repo",e),n&&t.setAttribute("issue-term",n),r&&t.setAttribute("theme",r),i&&t.setAttribute("label",i),s.appendChild(t)})})();
@@ -1,6 +1 @@
1
- /* @preserve Cookie Consent Init */
2
- function createCookie(e,t,n){var o="";if(n){var a=new Date;a.setTime(a.getTime()+24*n*60*60*1e3),o="; expires="+a.toUTCString()}document.cookie=`${e}=${t}${o}; path=/`}function readCookie(e){for(var t=e+"=",n=document.cookie.split(";"),o=0;o<n.length;o++){for(var a=n[o];" "===a.charAt(0);)a=a.substring(1,a.length);if(0===a.indexOf(t))return a.substring(t.length,a.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(){if(""!==analyticsName.toLowerCase()){function e(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],e("js",new Date),e("config",analyticsName,{anonymize_ip:!0}),analyticsNameGA4&&e("config",analyticsNameGA4,{anonymize_ip:!0})}}"true"===isCookieConsent.toLowerCase()?(addCookieConsentListener(),"true"===readCookie(cookieName)?googleAnalytics():document.getElementById("cookie-notice").style.display="block"):googleAnalytics()
3
- /* @preserve Dark mode Init */;const themeButton={light:`<i class="fas fa-adjust" aria-hidden="true"></i><span class="navbar-label-with-icon"> ${darkBtn}</span>`,dark:`<i class="fas fa-adjust fa-rotate-180" aria-hidden="true"></i><span class="navbar-label-with-icon"> ${lightBtn}</span>`};function currentTheme(){return localStorage.getItem("theme")}function setMode(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e);const t=document.getElementById("theme-toggle");t&&(t.innerHTML=themeButton[e])}function themeToggle(){setMode("light"===currentTheme()?"dark":"light")}function bootstrapTheme(){if(isAutoTheme){if(!currentTheme()){let e=window.matchMedia("(prefers-color-scheme: dark)");e.matches&&localStorage.setItem("theme","dark"),e.addEventListener("change",(()=>{e.matches&&localStorage.setItem("theme","dark")}))}let e=currentTheme();setMode(e||"light")}}bootstrapTheme();
4
- /* @preserve Masonry Init */
5
- 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}
6
- /* @preserve Navbar */document.addEventListener("DOMContentLoaded",(function(e){const t=document.getElementById("pull"),n=document.querySelector("nav ul");["click","touch"].forEach((function(e){t?.addEventListener(e,(function(){n.classList.toggle("hide")}),!1)})),window.addEventListener("scroll",(function(){const e=-(window.scrollY||window.pageYOffset||document.body.scrollTop)/3,t=document.getElementById("main");t&&(t.style.backgroundPosition="100% "+(e-50)+"px, 0%, center top")}))}));
1
+ /* @preserve Cookie Consent Init */function createCookie(t,e,o){var i="";if(o){var n=new Date;n.setTime(n.getTime()+o*24*60*60*1e3),i="; expires="+n.toUTCString()}document.cookie=`${t}=${e}${i}; path=/`}function readCookie(t){for(var e=t+"=",o=document.cookie.split(";"),i=0;i<o.length;i++){for(var n=o[i];n.charAt(0)===" ";)n=n.substring(1,n.length);if(n.indexOf(e)===0)return n.substring(e.length,n.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(){if(analyticsName.toLowerCase()!==""){let e=function(){dataLayer.push(arguments)};var t=e;window.dataLayer=window.dataLayer||[],e("js",new Date),e("config",analyticsName,{anonymize_ip:!0}),analyticsNameGA4&&e("config",analyticsNameGA4,{anonymize_ip:!0})}}isCookieConsent.toLowerCase()==="true"?(addCookieConsentListener(),readCookie(cookieName)==="true"?googleAnalytics():document.getElementById("cookie-notice").style.display="block"):googleAnalytics();/* @preserve Dark mode Init */const themeButton={light:`<i class="fas fa-adjust" aria-hidden="true"></i><span class="navbar-label-with-icon"> ${darkBtn}</span>`,dark:`<i class="fas fa-adjust fa-rotate-180" aria-hidden="true"></i><span class="navbar-label-with-icon"> ${lightBtn}</span>`};function currentTheme(){return localStorage.getItem("theme")}function setMode(t){document.documentElement.setAttribute("data-theme",t),localStorage.setItem("theme",t);const e=document.getElementById("theme-toggle");e&&(e.innerHTML=themeButton[t])}function themeToggle(){let t=currentTheme();setMode(t==="light"?"dark":"light")}function bootstrapTheme(){if(isAutoTheme){if(!currentTheme()){let e=window.matchMedia("(prefers-color-scheme: dark)");e.matches&&localStorage.setItem("theme","dark"),e.addEventListener("change",()=>{e.matches&&localStorage.setItem("theme","dark")})}let t=currentTheme();setMode(t||"light")}}(function(){bootstrapTheme()})(),function(){var t=document.querySelector(".grid");if(!t)return;var e=[],o=[],i=[],n;function s(){return Array.from(t.querySelectorAll(".grid-col")).filter(function(a){return getComputedStyle(a).display!=="none"})}function l(){e=s(),o=e.map(function(){return 0}),i=Array.from(t.querySelectorAll(".grid-item")),i.forEach(function(a){var c=Math.min.apply(Math,o),r=o.indexOf(c);e[r].appendChild(a),o[r]+=a.offsetHeight||1})}function d(a){var c=t.getBoundingClientRect();e.forEach(function(r,m){if(!a||r.contains(a)){var u=r.lastElementChild;u&&(o[m]=u.getBoundingClientRect().bottom-c.top)}})}function f(){clearTimeout(n),n=setTimeout(function(){var a=s();(a.length!==e.length||a.some(function(c,r){return c!==e[r]}))&&(e=a,l())},100)}l(),window.addEventListener("resize",f),t.addEventListener("load",function(a){d(a.target)},!0)}();/* @preserve Navbar */document.addEventListener("DOMContentLoaded",function(t){const e=document.getElementById("pull"),o=document.querySelector("nav ul");["click","touch"].forEach(function(i){e?.addEventListener(i,function(){o.classList.toggle("hide")},!1)}),window.addEventListener("scroll",function(){const i=-(window.scrollY||window.pageYOffset||document.body.scrollTop)/3,n=document.getElementById("main");n&&(n.style.backgroundPosition="100% "+(i-50)+"px, 0%, center top")})});
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("katex")):"function"==typeof define&&define.amd?define(["katex"],t):"object"==typeof exports?exports.renderMathInElement=t(require("katex")):e.renderMathInElement=t(e.katex)}("undefined"!=typeof self?self:this,(function(e){return function(){"use strict";var t={757:function(t){t.exports=e}},n={};function r(e){var o=n[e];if(void 0!==o)return o.exports;var i=n[e]={exports:{}};return t[e](i,i.exports,r),i.exports}r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,{a:t}),t},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};var o={};r.d(o,{default:function(){return p}});var i=r(757),a=r.n(i);const l=function(e,t,n){let r=n,o=0;const i=e.length;for(;r<t.length;){const n=t[r];if(o<=0&&t.slice(r,r+i)===e)return r;"\\"===n?r++:"{"===n?o++:"}"===n&&o--,r++}return-1},s=/^\\begin{/;var d=function(e,t){let n;const r=[],o=new RegExp("("+t.map((e=>e.left.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"))).join("|")+")");for(;n=e.search(o),-1!==n;){n>0&&(r.push({type:"text",data:e.slice(0,n)}),e=e.slice(n));const o=t.findIndex((t=>e.startsWith(t.left)));if(n=l(t[o].right,e,t[o].left.length),-1===n)break;const i=e.slice(0,n+t[o].right.length),a=s.test(i)?i:e.slice(t[o].left.length,n);r.push({type:"math",data:a,rawData:i,display:t[o].display}),e=e.slice(n+t[o].right.length)}return""!==e&&r.push({type:"text",data:e}),r};const c=function(e,t){const n=d(e,t.delimiters);if(1===n.length&&"text"===n[0].type)return null;const r=document.createDocumentFragment();for(let e=0;e<n.length;e++)if("text"===n[e].type)r.appendChild(document.createTextNode(n[e].data));else{const o=document.createElement("span");let i=n[e].data;t.displayMode=n[e].display;try{t.preProcess&&(i=t.preProcess(i)),a().render(i,o,t)}catch(o){if(!(o instanceof a().ParseError))throw o;t.errorCallback("KaTeX auto-render: Failed to parse `"+n[e].data+"` with ",o),r.appendChild(document.createTextNode(n[e].rawData));continue}r.appendChild(o)}return r},f=function(e,t){for(let n=0;n<e.childNodes.length;n++){const r=e.childNodes[n];if(3===r.nodeType){let o=r.textContent,i=r.nextSibling,a=0;for(;i&&i.nodeType===Node.TEXT_NODE;)o+=i.textContent,i=i.nextSibling,a++;const l=c(o,t);if(l){for(let e=0;e<a;e++)r.nextSibling.remove();n+=l.childNodes.length-1,e.replaceChild(l,r)}else n+=a}else if(1===r.nodeType){const e=" "+r.className+" ";-1===t.ignoredTags.indexOf(r.nodeName.toLowerCase())&&t.ignoredClasses.every((t=>-1===e.indexOf(" "+t+" ")))&&f(r,t)}}};var p=function(e,t){if(!e)throw new Error("No element provided to render");const n={};for(const e in t)t.hasOwnProperty(e)&&(n[e]=t[e]);n.delimiters=n.delimiters||[{left:"$$",right:"$$",display:!0},{left:"\\(",right:"\\)",display:!1},{left:"\\begin{equation}",right:"\\end{equation}",display:!0},{left:"\\begin{align}",right:"\\end{align}",display:!0},{left:"\\begin{alignat}",right:"\\end{alignat}",display:!0},{left:"\\begin{gather}",right:"\\end{gather}",display:!0},{left:"\\begin{CD}",right:"\\end{CD}",display:!0},{left:"\\[",right:"\\]",display:!0}],n.ignoredTags=n.ignoredTags||["script","noscript","style","textarea","pre","code","option"],n.ignoredClasses=n.ignoredClasses||[],n.errorCallback=n.errorCallback||console.error,n.macros=n.macros||{},f(e,n)};return o=o.default}()}));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("katex")):"function"==typeof define&&define.amd?define(["katex"],t):"object"==typeof exports?exports.renderMathInElement=t(require("katex")):e.renderMathInElement=t(e.katex)}("undefined"!=typeof self?self:this,function(e){return function(){"use strict";var t={757:function(t){t.exports=e}},n={};function r(e){var o=n[e];if(void 0!==o)return o.exports;var i=n[e]={exports:{}};return t[e](i,i.exports,r),i.exports}r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,{a:t}),t},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};var o={};r.d(o,{default:function(){return p}});var i=r(757),a=r.n(i);const l=function(e,t,n){let r=n,o=0;const i=e.length;for(;r<t.length;){const n=t[r];if(o<=0&&t.slice(r,r+i)===e)return r;"\\"===n?r++:"{"===n?o++:"}"===n&&o--,r++}return-1},s=/^\\begin{/;var d=function(e,t){let n;const r=[],o=new RegExp("("+t.map(e=>e.left.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&")).join("|")+")");for(;n=e.search(o),-1!==n;){n>0&&(r.push({type:"text",data:e.slice(0,n)}),e=e.slice(n));const o=t.findIndex(t=>e.startsWith(t.left));if(n=l(t[o].right,e,t[o].left.length),-1===n)break;const i=e.slice(0,n+t[o].right.length),a=s.test(i)?i:e.slice(t[o].left.length,n);r.push({type:"math",data:a,rawData:i,display:t[o].display}),e=e.slice(n+t[o].right.length)}return""!==e&&r.push({type:"text",data:e}),r};const c=function(e,t){const n=d(e,t.delimiters);if(1===n.length&&"text"===n[0].type)return null;const r=document.createDocumentFragment();for(let e=0;e<n.length;e++)if("text"===n[e].type)r.appendChild(document.createTextNode(n[e].data));else{const o=document.createElement("span");let i=n[e].data;t.displayMode=n[e].display;try{t.preProcess&&(i=t.preProcess(i)),a().render(i,o,t)}catch(o){if(!(o instanceof a().ParseError))throw o;t.errorCallback("KaTeX auto-render: Failed to parse `"+n[e].data+"` with ",o),r.appendChild(document.createTextNode(n[e].rawData));continue}r.appendChild(o)}return r},f=function(e,t){for(let o=0;o<e.childNodes.length;o++){const i=e.childNodes[o];if(3===i.nodeType){var n;let a=null!=(n=i.textContent)?n:"",l=i.nextSibling,s=0;for(;l&&l.nodeType===Node.TEXT_NODE;){var r;a+=null!=(r=l.textContent)?r:"",l=l.nextSibling,s++}const d=c(a,t);if(d){for(let e=0;e<s;e++)i.nextSibling.remove();o+=d.childNodes.length-1,e.replaceChild(d,i)}else o+=s}else if(1===i.nodeType){const e=" "+i.className+" ";!t.ignoredTags.has(i.nodeName.toLowerCase())&&t.ignoredClasses.every(t=>!e.includes(" "+t+" "))&&f(i,t)}}};var p=function(e,t){if(!e)throw new Error("No element provided to render");const n={};Object.assign(n,t),n.delimiters=n.delimiters||[{left:"$$",right:"$$",display:!0},{left:"\\(",right:"\\)",display:!1},{left:"\\begin{equation}",right:"\\end{equation}",display:!0},{left:"\\begin{align}",right:"\\end{align}",display:!0},{left:"\\begin{alignat}",right:"\\end{alignat}",display:!0},{left:"\\begin{gather}",right:"\\end{gather}",display:!0},{left:"\\begin{CD}",right:"\\end{CD}",display:!0},{left:"\\[",right:"\\]",display:!0}],n.ignoredTags=new Set((null==t?void 0:t.ignoredTags)||["script","noscript","style","textarea","pre","code","option"]),n.ignoredClasses=n.ignoredClasses||[],n.errorCallback=n.errorCallback||console.error,n.macros=n.macros||{},f(e,n)};return o=o.default}()});