jekyll-theme-chirpy 7.1.1 → 7.2.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.
- checksums.yaml +4 -4
- data/_data/locales/hu-HU.yml +20 -7
- data/_data/origin/cors.yml +4 -4
- data/_includes/analytics/cloudflare.html +0 -1
- data/_includes/analytics/fathom.html +2 -3
- data/_includes/analytics/google.html +1 -1
- data/_includes/analytics/matomo.html +6 -7
- data/_includes/comments/disqus.html +36 -29
- data/_includes/comments/giscus.html +14 -30
- data/_includes/comments/utterances.html +26 -37
- data/_includes/head.html +24 -5
- data/_includes/js-selector.html +3 -26
- data/_includes/jsdelivr-combine.html +4 -4
- data/_includes/pageviews/goatcounter.html +16 -14
- data/_includes/search-loader.html +22 -20
- data/_includes/sidebar.html +1 -3
- data/_includes/toc-status.html +10 -0
- data/_includes/toc.html +4 -8
- data/_layouts/default.html +8 -4
- data/_layouts/home.html +26 -19
- data/_layouts/post.html +29 -2
- data/_sass/abstracts/_breakpoints.scss +73 -0
- data/_sass/abstracts/_index.scss +4 -0
- data/_sass/abstracts/_mixins.scss +80 -0
- data/_sass/{addon/module.scss → abstracts/_placeholders.scss} +22 -55
- data/_sass/{addon/variables.scss → abstracts/_variables.scss} +0 -4
- data/_sass/base/_base.scss +476 -0
- data/_sass/base/_index.scss +4 -0
- data/_sass/base/_reset.scss +41 -0
- data/_sass/{addon/syntax.scss → base/_syntax.scss} +46 -85
- data/_sass/base/_typography.scss +266 -0
- data/_sass/components/_buttons.scss +51 -0
- data/_sass/components/_index.scss +2 -0
- data/_sass/components/_popups.scss +172 -0
- data/_sass/layout/_footer.scss +36 -0
- data/_sass/layout/_index.scss +4 -0
- data/_sass/layout/_panel.scss +70 -0
- data/_sass/layout/_sidebar.scss +258 -0
- data/_sass/layout/_topbar.scss +86 -0
- data/_sass/main.bundle.scss +2 -2
- data/_sass/main.scss +4 -13
- data/_sass/{layout/archives.scss → pages/_archives.scss} +12 -16
- data/_sass/{layout/categories.scss → pages/_categories.scss} +5 -6
- data/_sass/{layout/category-tag.scss → pages/_category-tag.scss} +11 -20
- data/_sass/{layout/home.scss → pages/_home.scss} +54 -70
- data/_sass/pages/_index.scss +7 -0
- data/_sass/{layout/post.scss → pages/_post.scss} +184 -49
- data/_sass/pages/_search.scss +184 -0
- data/_sass/{layout/tags.scss → pages/_tags.scss} +7 -3
- data/_sass/{colors/typography-dark.scss → themes/_dark.scss} +163 -7
- data/_sass/themes/_light.scss +313 -0
- data/_sass/vendors/_bootstrap.scss +5 -0
- data/assets/css/jekyll-theme-chirpy.scss +1 -1
- data/assets/feed.xml +1 -1
- data/assets/js/dist/app.min.js +1 -1
- data/assets/js/dist/categories.min.js +2 -2
- data/assets/js/dist/commons.min.js +2 -2
- data/assets/js/dist/home.min.js +2 -2
- data/assets/js/dist/misc.min.js +2 -2
- data/assets/js/dist/page.min.js +2 -2
- data/assets/js/dist/post.min.js +2 -2
- data/assets/js/dist/sw.min.js +1 -1
- data/assets/js/dist/theme.min.js +4 -0
- metadata +35 -22
- data/_includes/mermaid.html +0 -62
- data/_includes/mode-toggle.html +0 -116
- data/_sass/addon/commons.scss +0 -1542
- data/_sass/colors/syntax-dark.scss +0 -164
- data/_sass/colors/syntax-light.scss +0 -210
- data/_sass/colors/typography-light.scss +0 -112
- data/_sass/dist/bootstrap.css +0 -5
- data/_sass/variables-hook.scss +0 -3
- /data/_includes/{comments.html → comment.html} +0 -0
data/_layouts/home.html
CHANGED
@@ -5,38 +5,45 @@ refactor: true
|
|
5
5
|
|
6
6
|
{% include lang.html %}
|
7
7
|
|
8
|
-
{% assign
|
9
|
-
{% assign
|
8
|
+
{% assign all_pinned = site.posts | where: 'pin', 'true' %}
|
9
|
+
{% assign all_normal = site.posts | where_exp: 'item', 'item.pin != true and item.hidden != true' %}
|
10
10
|
|
11
11
|
{% assign posts = '' | split: '' %}
|
12
12
|
|
13
|
-
<!-- Get pinned posts -->
|
13
|
+
<!-- Get pinned posts on current page -->
|
14
14
|
|
15
|
-
{% assign
|
16
|
-
{% assign
|
15
|
+
{% assign visible_start = paginator.page | minus: 1 | times: paginator.per_page %}
|
16
|
+
{% assign visible_end = visible_start | plus: paginator.per_page %}
|
17
17
|
|
18
|
-
{% if
|
19
|
-
{%
|
20
|
-
{% assign
|
18
|
+
{% if all_pinned.size > visible_start %}
|
19
|
+
{% if all_pinned.size > visible_end %}
|
20
|
+
{% assign pinned_size = paginator.per_page %}
|
21
|
+
{% else %}
|
22
|
+
{% assign pinned_size = all_pinned.size | minus: visible_start %}
|
23
|
+
{% endif %}
|
24
|
+
|
25
|
+
{% for i in (visible_start..all_pinned.size) limit: pinned_size %}
|
26
|
+
{% assign posts = posts | push: all_pinned[i] %}
|
21
27
|
{% endfor %}
|
22
28
|
{% else %}
|
23
|
-
{% assign
|
29
|
+
{% assign pinned_size = 0 %}
|
24
30
|
{% endif %}
|
25
31
|
|
26
|
-
<!-- Get
|
32
|
+
<!-- Get normal posts on current page -->
|
27
33
|
|
28
|
-
{% assign
|
34
|
+
{% assign normal_size = paginator.posts | size | minus: pinned_size %}
|
29
35
|
|
30
|
-
{% if
|
31
|
-
{%
|
32
|
-
{%
|
36
|
+
{% if normal_size > 0 %}
|
37
|
+
{% if pinned_size > 0 %}
|
38
|
+
{% assign normal_start = 0 %}
|
39
|
+
{% else %}
|
40
|
+
{% assign normal_start = visible_start | minus: all_pinned.size %}
|
41
|
+
{% endif %}
|
33
42
|
|
34
|
-
{% assign
|
35
|
-
{% assign default_end = default_beg | plus: default_num | minus: 1 %}
|
43
|
+
{% assign normal_end = normal_start | plus: normal_size | minus: 1 %}
|
36
44
|
|
37
|
-
{%
|
38
|
-
|
39
|
-
{% assign posts = posts | push: default[i] %}
|
45
|
+
{% for i in (normal_start..normal_end) %}
|
46
|
+
{% assign posts = posts | push: all_normal[i] %}
|
40
47
|
{% endfor %}
|
41
48
|
{% endif %}
|
42
49
|
|
data/_layouts/post.html
CHANGED
@@ -6,12 +6,15 @@ panel_includes:
|
|
6
6
|
tail_includes:
|
7
7
|
- related-posts
|
8
8
|
- post-nav
|
9
|
-
|
9
|
+
script_includes:
|
10
|
+
- comment
|
10
11
|
---
|
11
12
|
|
12
13
|
{% include lang.html %}
|
13
14
|
|
14
|
-
|
15
|
+
{% include toc-status.html %}
|
16
|
+
|
17
|
+
<article class="px-1" data-toc="{{ enable_toc }}">
|
15
18
|
<header>
|
16
19
|
<h1 data-toc-skip>{{ page.title }}</h1>
|
17
20
|
{% if page.description %}
|
@@ -95,6 +98,30 @@ tail_includes:
|
|
95
98
|
</div>
|
96
99
|
</header>
|
97
100
|
|
101
|
+
{% if enable_toc %}
|
102
|
+
<div id="toc-bar" class="d-flex align-items-center justify-content-between invisible">
|
103
|
+
<span class="label text-truncate">{{ page.title }}</span>
|
104
|
+
<button type="button" class="toc-trigger btn me-1">
|
105
|
+
<i class="fa-solid fa-list-ul fa-fw"></i>
|
106
|
+
</button>
|
107
|
+
</div>
|
108
|
+
|
109
|
+
<button id="toc-solo-trigger" type="button" class="toc-trigger btn btn-outline-secondary btn-sm">
|
110
|
+
<span class="label ps-2 pe-1">{{- site.data.locales[lang].panel.toc -}}</span>
|
111
|
+
<i class="fa-solid fa-angle-right fa-fw"></i>
|
112
|
+
</button>
|
113
|
+
|
114
|
+
<dialog id="toc-popup" class="p-0">
|
115
|
+
<div class="header d-flex flex-row align-items-center justify-content-between">
|
116
|
+
<div class="label text-truncate py-2 ms-4">{{- page.title -}}</div>
|
117
|
+
<button id="toc-popup-close" type="button" class="btn mx-1 my-1 opacity-75">
|
118
|
+
<i class="fas fa-close"></i>
|
119
|
+
</button>
|
120
|
+
</div>
|
121
|
+
<div id="toc-popup-content" class="px-4 py-3 pb-4"></div>
|
122
|
+
</dialog>
|
123
|
+
{% endif %}
|
124
|
+
|
98
125
|
<div class="content">
|
99
126
|
{{ content }}
|
100
127
|
</div>
|
@@ -0,0 +1,73 @@
|
|
1
|
+
@use 'sass:map';
|
2
|
+
|
3
|
+
$-breakpoints: (
|
4
|
+
// 1 column
|
5
|
+
sm: 576px,
|
6
|
+
md: 768px,
|
7
|
+
// 2 columns
|
8
|
+
lg: 850px,
|
9
|
+
// 3 columns
|
10
|
+
xl: 1200px,
|
11
|
+
xxl: 1400px,
|
12
|
+
xxxl: 1650px
|
13
|
+
);
|
14
|
+
|
15
|
+
@function get($breakpoint) {
|
16
|
+
@return map.get($-breakpoints, $breakpoint);
|
17
|
+
}
|
18
|
+
|
19
|
+
/* Less than the given width */
|
20
|
+
@mixin lt($width) {
|
21
|
+
@media all and (max-width: calc(#{$width} - 1px)) {
|
22
|
+
@content;
|
23
|
+
}
|
24
|
+
}
|
25
|
+
|
26
|
+
/* Less than or equal to the given width */
|
27
|
+
@mixin lte($width) {
|
28
|
+
@media all and (max-width: $width) {
|
29
|
+
@content;
|
30
|
+
}
|
31
|
+
}
|
32
|
+
|
33
|
+
@mixin sm {
|
34
|
+
@media all and (min-width: get(sm)) {
|
35
|
+
@content;
|
36
|
+
}
|
37
|
+
}
|
38
|
+
|
39
|
+
@mixin md {
|
40
|
+
@media all and (min-width: get(md)) {
|
41
|
+
@content;
|
42
|
+
}
|
43
|
+
}
|
44
|
+
|
45
|
+
@mixin lg {
|
46
|
+
@media all and (min-width: get(lg)) {
|
47
|
+
@content;
|
48
|
+
}
|
49
|
+
}
|
50
|
+
|
51
|
+
@mixin xl {
|
52
|
+
@media all and (min-width: get(xl)) {
|
53
|
+
@content;
|
54
|
+
}
|
55
|
+
}
|
56
|
+
|
57
|
+
@mixin xxl {
|
58
|
+
@media all and (min-width: get(xxl)) {
|
59
|
+
@content;
|
60
|
+
}
|
61
|
+
}
|
62
|
+
|
63
|
+
@mixin xxxl {
|
64
|
+
@media all and (min-width: get(xxxl)) {
|
65
|
+
@content;
|
66
|
+
}
|
67
|
+
}
|
68
|
+
|
69
|
+
@mixin between($min, $max) {
|
70
|
+
@media all and (min-width: $min) and (max-width: $max) {
|
71
|
+
@content;
|
72
|
+
}
|
73
|
+
}
|
@@ -0,0 +1,80 @@
|
|
1
|
+
@mixin text-ellipsis {
|
2
|
+
overflow: hidden;
|
3
|
+
text-overflow: ellipsis;
|
4
|
+
white-space: nowrap;
|
5
|
+
}
|
6
|
+
|
7
|
+
@mixin mt-mb($value) {
|
8
|
+
margin-top: $value;
|
9
|
+
margin-bottom: $value;
|
10
|
+
}
|
11
|
+
|
12
|
+
@mixin ml-mr($value) {
|
13
|
+
margin-left: $value;
|
14
|
+
margin-right: $value;
|
15
|
+
}
|
16
|
+
|
17
|
+
@mixin pt-pb($val) {
|
18
|
+
padding-top: $val;
|
19
|
+
padding-bottom: $val;
|
20
|
+
}
|
21
|
+
|
22
|
+
@mixin pl-pr($val, $important: false) {
|
23
|
+
@if $important {
|
24
|
+
padding-left: $val !important;
|
25
|
+
padding-right: $val !important;
|
26
|
+
} @else {
|
27
|
+
padding-left: $val;
|
28
|
+
padding-right: $val;
|
29
|
+
}
|
30
|
+
}
|
31
|
+
|
32
|
+
@mixin placeholder {
|
33
|
+
color: var(--text-muted-color) !important;
|
34
|
+
}
|
35
|
+
|
36
|
+
@mixin placeholder-focus {
|
37
|
+
opacity: 0.6;
|
38
|
+
}
|
39
|
+
|
40
|
+
@mixin label($font-size: 1rem, $font-weight: 600, $color: var(--label-color)) {
|
41
|
+
color: $color;
|
42
|
+
font-size: $font-size;
|
43
|
+
font-weight: $font-weight;
|
44
|
+
}
|
45
|
+
|
46
|
+
@mixin align-center {
|
47
|
+
position: relative;
|
48
|
+
left: 50%;
|
49
|
+
transform: translateX(-50%);
|
50
|
+
}
|
51
|
+
|
52
|
+
@mixin prompt($type, $fa-content, $fa-style: 'solid', $rotate: 0) {
|
53
|
+
&.prompt-#{$type} {
|
54
|
+
background-color: var(--prompt-#{$type}-bg);
|
55
|
+
|
56
|
+
&::before {
|
57
|
+
content: $fa-content;
|
58
|
+
color: var(--prompt-#{$type}-icon-color);
|
59
|
+
font: var(--fa-font-#{$fa-style});
|
60
|
+
|
61
|
+
@if $rotate != 0 {
|
62
|
+
transform: rotate(#{$rotate}deg);
|
63
|
+
}
|
64
|
+
}
|
65
|
+
}
|
66
|
+
}
|
67
|
+
|
68
|
+
@mixin slide($append: null) {
|
69
|
+
$basic: transform 0.4s ease;
|
70
|
+
|
71
|
+
@if $append {
|
72
|
+
transition: $basic, $append;
|
73
|
+
} @else {
|
74
|
+
transition: $basic;
|
75
|
+
}
|
76
|
+
}
|
77
|
+
|
78
|
+
@mixin max-w-100 {
|
79
|
+
max-width: 100%;
|
80
|
+
}
|
@@ -1,13 +1,11 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
*/
|
4
|
-
|
5
|
-
/* ---------- scss placeholder --------- */
|
1
|
+
@use 'variables' as v;
|
2
|
+
@use 'mixins' as mx;
|
6
3
|
|
7
4
|
%heading {
|
8
5
|
color: var(--heading-color);
|
9
6
|
font-weight: 400;
|
10
|
-
font-family:
|
7
|
+
font-family: v.$font-family-heading;
|
8
|
+
scroll-margin-top: 3.5rem;
|
11
9
|
}
|
12
10
|
|
13
11
|
%anchor {
|
@@ -81,7 +79,7 @@
|
|
81
79
|
}
|
82
80
|
|
83
81
|
%rounded {
|
84
|
-
border-radius:
|
82
|
+
border-radius: v.$radius-lg;
|
85
83
|
}
|
86
84
|
|
87
85
|
%img-caption {
|
@@ -111,6 +109,10 @@
|
|
111
109
|
-webkit-box-orient: vertical;
|
112
110
|
}
|
113
111
|
|
112
|
+
%text-ellipsis {
|
113
|
+
@include mx.text-ellipsis;
|
114
|
+
}
|
115
|
+
|
114
116
|
%text-highlight {
|
115
117
|
color: var(--text-muted-highlight-color);
|
116
118
|
font-weight: 600;
|
@@ -134,60 +136,25 @@
|
|
134
136
|
}
|
135
137
|
}
|
136
138
|
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
margin-bottom: $value;
|
142
|
-
}
|
143
|
-
|
144
|
-
@mixin ml-mr($value) {
|
145
|
-
margin-left: $value;
|
146
|
-
margin-right: $value;
|
147
|
-
}
|
148
|
-
|
149
|
-
@mixin pt-pb($val) {
|
150
|
-
padding-top: $val;
|
151
|
-
padding-bottom: $val;
|
152
|
-
}
|
153
|
-
|
154
|
-
@mixin pl-pr($val) {
|
155
|
-
padding-left: $val;
|
156
|
-
padding-right: $val;
|
157
|
-
}
|
158
|
-
|
159
|
-
@mixin placeholder {
|
160
|
-
color: var(--text-muted-color) !important;
|
139
|
+
%btn-color {
|
140
|
+
button i {
|
141
|
+
color: #999999;
|
142
|
+
}
|
161
143
|
}
|
162
144
|
|
163
|
-
|
164
|
-
|
145
|
+
%code-snippet-bg {
|
146
|
+
background-color: var(--highlight-bg-color);
|
165
147
|
}
|
166
148
|
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
font-weight: $font-weight;
|
149
|
+
%code-snippet-padding {
|
150
|
+
padding-left: 1rem;
|
151
|
+
padding-right: 1.5rem;
|
171
152
|
}
|
172
153
|
|
173
|
-
|
174
|
-
|
175
|
-
left: 50%;
|
176
|
-
transform: translateX(-50%);
|
154
|
+
%max-w-100 {
|
155
|
+
max-width: 100%;
|
177
156
|
}
|
178
157
|
|
179
|
-
|
180
|
-
|
181
|
-
background-color: var(--prompt-#{$type}-bg);
|
182
|
-
|
183
|
-
&::before {
|
184
|
-
content: $fa-content;
|
185
|
-
color: var(--prompt-#{$type}-icon-color);
|
186
|
-
font: var(--fa-font-#{$fa-style});
|
187
|
-
|
188
|
-
@if $rotate != 0 {
|
189
|
-
transform: rotate(#{$rotate}deg);
|
190
|
-
}
|
191
|
-
}
|
192
|
-
}
|
158
|
+
%panel-border {
|
159
|
+
border-left: 1px solid var(--main-border-color);
|
193
160
|
}
|