type-on-strap 2.4.13 → 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 (98) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +11 -44
  3. data/_includes/blog/blog.liquid +3 -3
  4. data/_includes/blog/blog_nav.liquid +1 -1
  5. data/_includes/blog/post_footer.liquid +1 -0
  6. data/_includes/blog/post_nav.liquid +2 -2
  7. data/_includes/default/category_list.liquid +22 -0
  8. data/_includes/default/head.liquid +17 -12
  9. data/_includes/default/navbar.liquid +2 -2
  10. data/_includes/default/tags_list.liquid +2 -2
  11. data/_includes/gallery.html +5 -7
  12. data/_includes/portfolio.html +5 -5
  13. data/_includes/social/cusdis.liquid +5 -5
  14. data/_includes/social/disqus.liquid +6 -11
  15. data/_includes/social/giscus.liquid +17 -17
  16. data/_includes/social/share_buttons.liquid +9 -9
  17. data/_includes/social/utterances.liquid +8 -8
  18. data/_layouts/categories.liquid +79 -17
  19. data/_layouts/default.html +3 -3
  20. data/_layouts/page.liquid +11 -11
  21. data/_layouts/post.liquid +11 -6
  22. data/_layouts/search.liquid +10 -3
  23. data/_sass/base/_global.scss +7 -11
  24. data/_sass/base/_utility.scss +8 -29
  25. data/_sass/base/_variables.scss +43 -2
  26. data/_sass/external/_font-awesome.scss +1 -1
  27. data/_sass/external/_katex.scss +1 -1
  28. data/_sass/external/_pacifico.scss +3 -6
  29. data/_sass/external/font-awesome/_core.scss +1 -1
  30. data/_sass/external/font-awesome/_icons.scss +0 -1
  31. data/_sass/external/font-awesome/brands.scss +1 -1
  32. data/_sass/external/font-awesome/fontawesome.scss +1 -1
  33. data/_sass/external/font-awesome/regular.scss +1 -1
  34. data/_sass/external/font-awesome/solid.scss +1 -1
  35. data/_sass/external/font-awesome/v4-shims.scss +1 -1
  36. data/_sass/external/katex/katex.scss +151 -266
  37. data/_sass/includes/_blog_nav.scss +0 -4
  38. data/_sass/includes/_gallery.scss +12 -24
  39. data/_sass/includes/_navbar.scss +1 -7
  40. data/_sass/includes/_portfolio.scss +2 -4
  41. data/_sass/layouts/_blog.scss +7 -23
  42. data/_sass/layouts/_categories.scss +80 -38
  43. data/_sass/layouts/_page.scss +1 -1
  44. data/_sass/layouts/_posts.scss +19 -12
  45. data/_sass/layouts/_search.scss +11 -14
  46. data/_sass/layouts/_tags.scss +12 -1
  47. data/_sass/type-on-strap.scss +10 -0
  48. data/assets/fonts/Pacifico/Pacifico.woff +0 -0
  49. data/assets/fonts/Pacifico/Pacifico.woff2 +0 -0
  50. data/assets/fonts/font-awesome/fa-brands-400.ttf +0 -0
  51. data/assets/fonts/font-awesome/fa-brands-400.woff2 +0 -0
  52. data/assets/fonts/font-awesome/fa-regular-400.ttf +0 -0
  53. data/assets/fonts/font-awesome/fa-regular-400.woff2 +0 -0
  54. data/assets/fonts/font-awesome/fa-solid-900.ttf +0 -0
  55. data/assets/fonts/font-awesome/fa-solid-900.woff2 +0 -0
  56. data/assets/js/comments-lazy-load.min.js +1 -0
  57. data/assets/js/main.min.js +1 -6
  58. data/assets/js/vendor/katex.auto-render.min.js +1 -1
  59. data/assets/js/vendor/katex.min.js +1 -1
  60. data/assets/js/vendor/mermaid.min.js +534 -323
  61. data/assets/js/vendor/simple-jekyll-search.min.js +3 -3
  62. metadata +18 -41
  63. data/assets/css/bootstrap-iso.less +0 -12
  64. data/assets/css/vendor/bootstrap-iso.css +0 -9121
  65. data/assets/css/vendor/bootstrap-iso.min.css +0 -6
  66. data/assets/css/vendor/bootstrap.css +0 -10007
  67. data/assets/fonts/Pacifico/Pacifico.eot +0 -0
  68. data/assets/fonts/Pacifico/Pacifico.svg +0 -10833
  69. data/assets/fonts/Pacifico/Pacifico.ttf +0 -0
  70. data/assets/fonts/Pacifico/original-pacifico-regular.ttf +0 -0
  71. data/assets/fonts/font-awesome/fa-v4compatibility.ttf +0 -0
  72. data/assets/fonts/font-awesome/fa-v4compatibility.woff2 +0 -0
  73. data/assets/fonts/katex/KaTeX_AMS-Regular.ttf +0 -0
  74. data/assets/fonts/katex/KaTeX_Caligraphic-Bold.ttf +0 -0
  75. data/assets/fonts/katex/KaTeX_Caligraphic-Regular.ttf +0 -0
  76. data/assets/fonts/katex/KaTeX_Fraktur-Bold.ttf +0 -0
  77. data/assets/fonts/katex/KaTeX_Fraktur-Regular.ttf +0 -0
  78. data/assets/fonts/katex/KaTeX_Main-Bold.ttf +0 -0
  79. data/assets/fonts/katex/KaTeX_Main-BoldItalic.ttf +0 -0
  80. data/assets/fonts/katex/KaTeX_Main-Italic.ttf +0 -0
  81. data/assets/fonts/katex/KaTeX_Main-Regular.ttf +0 -0
  82. data/assets/fonts/katex/KaTeX_Math-BoldItalic.ttf +0 -0
  83. data/assets/fonts/katex/KaTeX_Math-Italic.ttf +0 -0
  84. data/assets/fonts/katex/KaTeX_SansSerif-Bold.ttf +0 -0
  85. data/assets/fonts/katex/KaTeX_SansSerif-Italic.ttf +0 -0
  86. data/assets/fonts/katex/KaTeX_SansSerif-Regular.ttf +0 -0
  87. data/assets/fonts/katex/KaTeX_Script-Regular.ttf +0 -0
  88. data/assets/fonts/katex/KaTeX_Size1-Regular.ttf +0 -0
  89. data/assets/fonts/katex/KaTeX_Size2-Regular.ttf +0 -0
  90. data/assets/fonts/katex/KaTeX_Size3-Regular.ttf +0 -0
  91. data/assets/fonts/katex/KaTeX_Size4-Regular.ttf +0 -0
  92. data/assets/fonts/katex/KaTeX_Typewriter-Regular.ttf +0 -0
  93. data/assets/js/partials/cookie_consent_init.js +0 -60
  94. data/assets/js/partials/dark-mode.js +0 -57
  95. data/assets/js/partials/masonry_init.js +0 -22
  96. data/assets/js/partials/navbar.js +0 -26
  97. data/assets/js/vendor/imagesloaded.pkgd.min.js +0 -12
  98. 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
  }
@@ -1,41 +1,29 @@
1
1
  #archive,
2
2
  #categories {
3
- .archive-clouds,
4
- .category-clouds {
5
- margin: 30px 0 30px;
3
+ .category-list {
4
+ width: 100%;
5
+ padding-bottom: $padding-x-small;
6
+ text-align: center;
6
7
 
7
- li {
8
- background-color: var(--link);
9
- display: inline-block;
10
- margin-bottom: 10px;
11
- margin-right: 3px;
12
- padding: 0 15px;
13
- border-radius: 20px;
14
- color: var(--header-text);
15
- font-weight: 600;
16
- font-size: 0.8rem;
17
- line-height: 35px;
18
- letter-spacing: -0.03rem;
19
-
20
- .category-number {
21
- vertical-align: super;
22
- font-size: 0.625rem;
23
- }
24
-
25
- .p {
26
- opacity: 1;
27
- }
8
+ .category-links {
9
+ margin: 30px 0;
10
+ color: var(--meta);
11
+ font-size: 0.9em;
28
12
  }
29
13
 
30
- li:hover {
31
- background-color: var(--header-background) !important;
32
- color: var(--header-text);
14
+ .category-link {
15
+ color: var(--meta);
16
+ text-decoration: underline;
17
+ transition: color $transition-base ease;
18
+
19
+ &:hover {
20
+ color: var(--link);
21
+ text-decoration: underline;
22
+ }
33
23
  }
34
24
 
35
- .archive-anchor:hover,
36
- .category-anchor:hover {
37
- text-decoration: none !important;
38
- filter: none;
25
+ .separator {
26
+ color: var(--meta);
39
27
  }
40
28
  }
41
29
 
@@ -50,9 +38,26 @@
50
38
  .items {
51
39
  padding-left: $padding-medium;
52
40
 
53
- .item {
41
+ .item-wrapper {
54
42
  position: relative;
55
43
  margin: 25px 0;
44
+ display: flex;
45
+ justify-content: space-between;
46
+ align-items: center;
47
+ gap: 15px;
48
+ }
49
+
50
+ .category-post-link {
51
+ flex: 1;
52
+ min-width: 0;
53
+ text-decoration: none;
54
+ }
55
+
56
+ .item {
57
+ .item-content {
58
+ flex: 1;
59
+ min-width: 0;
60
+ }
56
61
 
57
62
  .meta {
58
63
  color: var(--meta);
@@ -65,7 +70,32 @@
65
70
  }
66
71
  }
67
72
 
68
- .item::before {
73
+ .item-tags {
74
+ display: flex;
75
+ flex-wrap: wrap;
76
+ gap: 5px;
77
+ align-items: center;
78
+ justify-content: flex-end;
79
+
80
+ .tag-link {
81
+ text-decoration: none;
82
+ }
83
+
84
+ .tag {
85
+ background-color: var(--selection);
86
+ color: var(--text);
87
+ padding: 3px 10px;
88
+ border-radius: 12px;
89
+ font-size: 0.75rem;
90
+ font-weight: 500;
91
+ white-space: nowrap;
92
+ transition: background-color $transition-base ease, color $transition-base ease, border $transition-base ease;
93
+ cursor: pointer;
94
+ border: 1px solid transparent;
95
+ }
96
+ }
97
+
98
+ .item-wrapper::before {
69
99
  content: "";
70
100
  position: absolute;
71
101
  left: -5%;
@@ -73,19 +103,31 @@
73
103
  background-color: var(--selection);
74
104
  border-radius: 8px;
75
105
  height: 100%;
106
+ transition: background-color $transition-base ease;
107
+ }
108
+
109
+ .item-wrapper:hover::before {
110
+ background-color: var(--link);
76
111
  }
77
112
 
78
- .archive-post-link:hover,
79
113
  .category-post-link:hover {
80
114
  text-decoration: none;
81
115
 
82
116
  .meta, .title {
83
- color: var(--header-background);
117
+ color: var(--link);
84
118
  }
119
+ }
85
120
 
86
- .item::before {
87
- background-color: var(--link);
88
- }
121
+ .item-wrapper:hover .tag {
122
+ background-color: var(--link);
123
+ color: var(--header-text);
124
+ border-color: transparent;
125
+ }
126
+
127
+ .item-wrapper:hover .tag:hover {
128
+ background-color: var(--background);
129
+ color: var(--link);
130
+ border-color: var(--link);
89
131
  }
90
132
  }
91
133
  }
@@ -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,8 +1,14 @@
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
+
7
+ iframe {
8
+ width: 100%;
9
+ border: none;
10
+ min-height: 500px;
11
+ }
6
12
  }
7
13
 
8
14
  article {
@@ -40,7 +46,7 @@ footer {
40
46
  }
41
47
 
42
48
  header {
43
- h1 {
49
+ h1, h2 {
44
50
  margin: 0;
45
51
  }
46
52
  }
@@ -65,11 +71,17 @@ header {
65
71
  padding-right: 0.5em;
66
72
  display: inline-flex;
67
73
  flex-direction: column;
74
+ max-width: 100%;
75
+
76
+ .author-info {
77
+ display: flex;
78
+ align-items: center;
79
+ }
68
80
 
69
81
  .post-meta {
70
82
  display: flex;
71
83
  align-items: center;
72
- flex-wrap: nowrap;
84
+ flex-wrap: wrap;
73
85
 
74
86
  .meta:only-child {
75
87
  margin: 0 auto;
@@ -127,7 +139,7 @@ header {
127
139
 
128
140
  .meta, .meta-separator, .last-modified {
129
141
  color: var(--header-text);
130
- filter: opacity(0.7);
142
+ opacity: 0.7;
131
143
  }
132
144
  }
133
145
 
@@ -148,15 +160,12 @@ header {
148
160
 
149
161
  /*-- feature-image Responsive scrolling --*/
150
162
  .feature-image header {
151
- @media screen and (max-width: $break) {
152
- padding: $padding-large*1.5 $padding-small;
153
- }
154
-
155
163
  @media screen and (min-width: $break) {
156
164
  background-size: 120% auto;
157
165
  }
158
166
 
159
167
  @media screen and (max-width: $break) {
168
+ padding: $padding-large*1.5 $padding-small;
160
169
  background-size: 200% auto;
161
170
  }
162
171
 
@@ -173,9 +182,7 @@ header {
173
182
  h5 { color: var(--h5); }
174
183
  h6 { color: var(--h6); }
175
184
 
176
- a {
177
- :visited {
178
- filter: saturate(0.7);
179
- }
185
+ a:visited {
186
+ filter: saturate(0.7);
180
187
  }
181
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;
@@ -56,3 +47,9 @@
56
47
  text-decoration: none;
57
48
  }
58
49
  }
50
+
51
+ .search-highlight {
52
+ background-color: var(--search-highlight);
53
+ padding: 2px 4px;
54
+ border-radius: 3px;
55
+ }
@@ -1,6 +1,17 @@
1
- .tag-list {
1
+ .tag-category-container {
2
+ display: flex;
3
+ flex-wrap: wrap;
4
+ justify-content: center;
5
+ align-items: flex-start;
6
+ gap: 1em;
2
7
  width: 100%;
3
8
  padding-bottom: $padding-x-small;
9
+ }
10
+
11
+ .tag-list,
12
+ .category-list {
13
+ flex: 0 1 auto;
14
+ padding-bottom: 0;
4
15
 
5
16
  a.button {
6
17
  margin: 0.1em;
@@ -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
@@ -0,0 +1 @@
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}()});