jekyll-theme-chirpy 5.5.2 → 5.6.0
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/README.md +59 -70
- data/_data/assets/cross_origin.yml +3 -3
- data/_data/assets/self_host.yml +19 -19
- data/_data/contact.yml +18 -20
- data/_data/locales/el-GR.yml +93 -0
- data/_data/share.yml +8 -10
- data/_includes/head.html +19 -18
- data/_includes/js-selector.html +42 -45
- data/_includes/mode-toggle.html +22 -31
- data/_includes/sidebar.html +20 -17
- data/_includes/toc.html +6 -6
- data/_layouts/default.html +1 -1
- data/_layouts/home.html +51 -52
- data/_sass/addon/commons.scss +107 -64
- data/_sass/addon/module.scss +2 -2
- data/_sass/addon/syntax.scss +13 -19
- data/_sass/addon/variables.scss +6 -6
- data/_sass/colors/dark-syntax.scss +6 -3
- data/_sass/colors/dark-typography.scss +19 -30
- data/_sass/colors/light-syntax.scss +1 -1
- data/_sass/colors/light-typography.scss +16 -12
- data/_sass/jekyll-theme-chirpy.scss +1 -1
- data/_sass/layout/archives.scss +13 -5
- data/_sass/layout/categories.scss +2 -1
- data/_sass/layout/category-tag.scss +9 -5
- data/_sass/layout/home.scss +45 -21
- data/_sass/layout/post.scss +53 -26
- data/assets/js/dist/categories.min.js +2 -2
- data/assets/js/dist/commons.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
- metadata +5 -7
- data/assets/js/dist/home.min.js +0 -6
- data/assets/js/dist/pvreport.min.js +0 -6
data/_includes/js-selector.html
CHANGED
@@ -1,6 +1,4 @@
|
|
1
|
-
<!--
|
2
|
-
JS selector for site.
|
3
|
-
-->
|
1
|
+
<!-- JS selector for site. -->
|
4
2
|
|
5
3
|
<!-- layout specified -->
|
6
4
|
|
@@ -8,51 +6,50 @@
|
|
8
6
|
{% if site.google_analytics.pv.proxy_endpoint or site.google_analytics.pv.cache_path %}
|
9
7
|
<!-- pv-report needs countup.js -->
|
10
8
|
<script async src="{{ site.data.assets[origin].countup.js | relative_url }}"></script>
|
11
|
-
<script defer src="{{ '/assets/js/dist/pvreport.min.js' | relative_url }}"></script>
|
12
9
|
{% endif %}
|
13
10
|
{% endif %}
|
14
11
|
|
15
12
|
{% if page.layout == 'post' or page.layout == 'page' %}
|
16
13
|
<!-- image lazy-loading & popup & clipboard -->
|
17
|
-
{% assign _urls = site.data.assets[origin]
|
18
|
-
|
19
|
-
|
14
|
+
{% assign _urls = site.data.assets[origin]['magnific-popup'].js
|
15
|
+
| append: ','
|
16
|
+
| append: site.data.assets[origin].lazysizes.js
|
17
|
+
| append: ','
|
18
|
+
| append: site.data.assets[origin].clipboard.js
|
20
19
|
%}
|
21
20
|
|
22
21
|
{% include jsdelivr-combine.html urls=_urls %}
|
23
22
|
{% endif %}
|
24
23
|
|
25
24
|
{% if page.layout == 'home'
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
25
|
+
or page.layout == 'post'
|
26
|
+
or page.layout == 'archives'
|
27
|
+
or page.layout == 'category'
|
28
|
+
or page.layout == 'tag'
|
29
|
+
%}
|
31
30
|
{% assign locale = site.lang | split: '-' | first %}
|
32
31
|
|
33
32
|
{% assign _urls = site.data.assets[origin].dayjs.js.common
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
33
|
+
| append: ','
|
34
|
+
| append: site.data.assets[origin].dayjs.js.locale
|
35
|
+
| replace: ':LOCALE', locale
|
36
|
+
| append: ','
|
37
|
+
| append: site.data.assets[origin].dayjs.js.relativeTime
|
38
|
+
| append: ','
|
39
|
+
| append: site.data.assets[origin].dayjs.js.localizedFormat
|
38
40
|
%}
|
39
41
|
|
40
42
|
{% include jsdelivr-combine.html urls=_urls %}
|
41
|
-
|
42
43
|
{% endif %}
|
43
44
|
|
44
|
-
{%
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
{%
|
50
|
-
|
51
|
-
|
52
|
-
{% assign type = "misc" %}
|
53
|
-
{% else %}
|
54
|
-
{% assign type = "commons" %}
|
55
|
-
{% endif %}
|
45
|
+
{% case page.layout %}
|
46
|
+
{% when 'categories', 'post', 'page' %}
|
47
|
+
{% assign type = page.layout %}
|
48
|
+
{% when 'home', 'archives', 'category', 'tag' %}
|
49
|
+
{% assign type = 'misc' %}
|
50
|
+
{% else %}
|
51
|
+
{% assign type = 'commons' %}
|
52
|
+
{% endcase %}
|
56
53
|
|
57
54
|
{% capture script %}/assets/js/dist/{{ type }}.min.js{% endcapture %}
|
58
55
|
<script defer src="{{ script | relative_url }}"></script>
|
@@ -60,23 +57,24 @@
|
|
60
57
|
{% if page.math %}
|
61
58
|
<!-- MathJax -->
|
62
59
|
<script>
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
[
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
[
|
73
|
-
|
74
|
-
|
75
|
-
|
60
|
+
/* see: <https://docs.mathjax.org/en/latest/options/input/tex.html#tex-options> */
|
61
|
+
MathJax = {
|
62
|
+
tex: {
|
63
|
+
/* start/end delimiter pairs for in-line math */
|
64
|
+
inlineMath: [
|
65
|
+
['$', '$'],
|
66
|
+
['\\(', '\\)']
|
67
|
+
],
|
68
|
+
/* start/end delimiter pairs for display math */
|
69
|
+
displayMath: [
|
70
|
+
['$$', '$$'],
|
71
|
+
['\\[', '\\]']
|
72
|
+
]
|
73
|
+
}
|
74
|
+
};
|
76
75
|
</script>
|
77
76
|
<script src="{{ site.data.assets[origin].polyfill.js | relative_url }}"></script>
|
78
|
-
<script id="MathJax-script" async src="{{ site.data.assets[origin].mathjax.js | relative_url }}">
|
79
|
-
</script>
|
77
|
+
<script id="MathJax-script" async src="{{ site.data.assets[origin].mathjax.js | relative_url }}"></script>
|
80
78
|
{% endif %}
|
81
79
|
|
82
80
|
<!-- commons -->
|
@@ -95,5 +93,4 @@
|
|
95
93
|
{% if site.google_analytics.id != empty and site.google_analytics.id %}
|
96
94
|
{% include google-analytics.html %}
|
97
95
|
{% endif %}
|
98
|
-
|
99
96
|
{% endif %}
|
data/_includes/mode-toggle.html
CHANGED
@@ -26,13 +26,12 @@
|
|
26
26
|
let self = this;
|
27
27
|
|
28
28
|
/* always follow the system prefers */
|
29
|
-
this.sysDarkPrefers.addEventListener(
|
29
|
+
this.sysDarkPrefers.addEventListener('change', () => {
|
30
30
|
if (self.hasMode) {
|
31
31
|
if (self.isDarkMode) {
|
32
32
|
if (!self.isSysDarkPrefer) {
|
33
33
|
self.setDark();
|
34
34
|
}
|
35
|
-
|
36
35
|
} else {
|
37
36
|
if (self.isSysDarkPrefer) {
|
38
37
|
self.setLight();
|
@@ -43,9 +42,7 @@
|
|
43
42
|
}
|
44
43
|
|
45
44
|
self.notify();
|
46
|
-
|
47
45
|
});
|
48
|
-
|
49
46
|
} /* constructor() */
|
50
47
|
|
51
48
|
get sysDarkPrefers() { return window.matchMedia("(prefers-color-scheme: dark)"); }
|
@@ -62,8 +59,7 @@
|
|
62
59
|
|
63
60
|
/* get the current mode on screen */
|
64
61
|
get modeStatus() {
|
65
|
-
if (this.isDarkMode
|
66
|
-
|| (!this.hasMode && this.isSysDarkPrefer)) {
|
62
|
+
if (this.isDarkMode || (!this.hasMode && this.isSysDarkPrefer)) {
|
67
63
|
return ModeToggle.DARK_MODE;
|
68
64
|
} else {
|
69
65
|
return ModeToggle.LIGHT_MODE;
|
@@ -93,37 +89,32 @@
|
|
93
89
|
}, "*");
|
94
90
|
}
|
95
91
|
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
toggle.clearMode();
|
92
|
+
flipMode() {
|
93
|
+
if (this.hasMode) {
|
94
|
+
if (this.isSysDarkPrefer) {
|
95
|
+
if (this.isLightMode) {
|
96
|
+
this.clearMode();
|
97
|
+
} else {
|
98
|
+
this.setLight();
|
99
|
+
}
|
105
100
|
} else {
|
106
|
-
|
101
|
+
if (this.isDarkMode) {
|
102
|
+
this.clearMode();
|
103
|
+
} else {
|
104
|
+
this.setDark();
|
105
|
+
}
|
107
106
|
}
|
108
|
-
|
109
107
|
} else {
|
110
|
-
if (
|
111
|
-
|
108
|
+
if (this.isSysDarkPrefer) {
|
109
|
+
this.setLight();
|
112
110
|
} else {
|
113
|
-
|
111
|
+
this.setDark();
|
114
112
|
}
|
115
113
|
}
|
116
114
|
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
} else {
|
121
|
-
toggle.setDark();
|
122
|
-
}
|
123
|
-
}
|
124
|
-
|
125
|
-
toggle.notify();
|
126
|
-
|
127
|
-
} /* flipMode() */
|
115
|
+
this.notify();
|
116
|
+
} /* flipMode() */
|
117
|
+
} /* ModeToggle */
|
128
118
|
|
119
|
+
const modeToggle = new ModeToggle();
|
129
120
|
</script>
|
data/_includes/sidebar.html
CHANGED
@@ -64,34 +64,37 @@
|
|
64
64
|
{% endunless %}
|
65
65
|
|
66
66
|
{% for entry in site.data.contact %}
|
67
|
-
{%
|
68
|
-
{
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
{
|
67
|
+
{% case entry.type %}
|
68
|
+
{% when 'github', 'twitter' %}
|
69
|
+
{%- capture url -%}
|
70
|
+
https://{{ entry.type }}.com/{{ site[entry.type].username }}
|
71
|
+
{%- endcapture -%}
|
72
|
+
{% when 'email' %}
|
73
73
|
{% assign email = site.social.email | split: '@' %}
|
74
|
-
|
75
|
-
|
76
|
-
{
|
77
|
-
{
|
78
|
-
{
|
79
|
-
{
|
80
|
-
|
74
|
+
{%- capture url -%}
|
75
|
+
javascript:location.href = 'mailto:' + ['{{ email[0] }}','{{ email[1] }}'].join('@')
|
76
|
+
{%- endcapture -%}
|
77
|
+
{% when 'rss' %}
|
78
|
+
{% assign url = '/feed.xml' | relative_url %}
|
79
|
+
{% else %}
|
80
|
+
{% assign url = entry.url %}
|
81
|
+
{% endcase %}
|
81
82
|
|
82
83
|
{% if url %}
|
83
84
|
<a href="{{ url }}" aria-label="{{ entry.type }}"
|
84
|
-
{% assign link_types =
|
85
|
+
{% assign link_types = '' %}
|
86
|
+
|
85
87
|
{% unless entry.noblank %}
|
86
|
-
{% assign link_types = link_types | append: " noopener" %}
|
87
88
|
target="_blank"
|
89
|
+
{% assign link_types = 'noopener noreferrer' %}
|
88
90
|
{% endunless %}
|
89
91
|
|
90
92
|
{% if entry.type == 'mastodon' %}
|
91
|
-
{% assign link_types = link_types | append:
|
93
|
+
{% assign link_types = link_types | append: ' me' | strip %}
|
92
94
|
{% endif %}
|
93
95
|
|
94
|
-
{%
|
96
|
+
{% unless link_types == empty %}rel="{{ link_types }}"{% endunless %}>
|
97
|
+
|
95
98
|
<i class="{{ entry.icon }}"></i>
|
96
99
|
</a>
|
97
100
|
{% endif %}
|
data/_includes/toc.html
CHANGED
@@ -6,11 +6,11 @@
|
|
6
6
|
{% endif %}
|
7
7
|
|
8
8
|
{% if enable_toc %}
|
9
|
-
|
10
|
-
<
|
9
|
+
<div id="toc-wrapper" class="pl-0 pr-4 mb-5">
|
10
|
+
<div class="panel-heading pl-3 pt-2 mb-2">{{- site.data.locales[site.lang].panel.toc -}}</div>
|
11
|
+
<nav id="toc"></nav>
|
12
|
+
</div>
|
11
13
|
|
12
|
-
|
13
|
-
<
|
14
|
-
<nav id="toc" data-toggle="toc"></nav>
|
15
|
-
</div>
|
14
|
+
<!-- toc.js will be loaded at medium priority -->
|
15
|
+
<script src="{{ site.data.assets[origin].toc.js | relative_url }}"></script>
|
16
16
|
{% endif %}
|
data/_layouts/default.html
CHANGED
data/_layouts/home.html
CHANGED
@@ -3,10 +3,10 @@ layout: page
|
|
3
3
|
# The Home page layout
|
4
4
|
---
|
5
5
|
|
6
|
-
{% assign pinned = site.posts | where:
|
7
|
-
{% assign default = site.posts | where_exp:
|
6
|
+
{% assign pinned = site.posts | where: 'pin', 'true' %}
|
7
|
+
{% assign default = site.posts | where_exp: 'item', 'item.pin != true and item.hidden != true' %}
|
8
8
|
|
9
|
-
{% assign posts =
|
9
|
+
{% assign posts = '' | split: '' %}
|
10
10
|
|
11
11
|
<!-- Get pinned posts -->
|
12
12
|
|
@@ -29,7 +29,7 @@ layout: page
|
|
29
29
|
{% assign default_beg = 0 %}
|
30
30
|
{% endif %}
|
31
31
|
|
32
|
-
{% assign default_num = paginator.posts | size | minus: pinned_num
|
32
|
+
{% assign default_num = paginator.posts | size | minus: pinned_num %}
|
33
33
|
{% assign default_end = default_beg | plus: default_num | minus: 1 %}
|
34
34
|
|
35
35
|
{% if default_num > 0 %}
|
@@ -39,55 +39,54 @@ layout: page
|
|
39
39
|
{% endif %}
|
40
40
|
|
41
41
|
<div id="post-list">
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
42
|
+
{% for post in posts %}
|
43
|
+
<div class="card post-preview">
|
44
|
+
<a href="{{ post.url | relative_url }}">
|
45
|
+
<div class="card-body">
|
46
|
+
<h1 class="card-title">
|
47
|
+
{{ post.title }}
|
48
|
+
</h1>
|
49
|
+
|
50
|
+
<div class="card-text post-content">
|
51
|
+
<p>
|
52
|
+
{% include no-linenos.html content=post.content %}
|
53
|
+
{{ content | markdownify | strip_html | truncate: 200 | escape }}
|
54
|
+
</p>
|
55
|
+
</div>
|
56
|
+
|
57
|
+
<div class="post-meta text-muted d-flex">
|
58
|
+
<div class="mr-auto">
|
59
|
+
<!-- posted date -->
|
60
|
+
<i class="far fa-calendar fa-fw"></i>
|
61
|
+
{% include datetime.html date=post.date %}
|
62
|
+
|
63
|
+
<!-- categories -->
|
64
|
+
{% if post.categories.size > 0 %}
|
65
|
+
<i class="far fa-folder-open fa-fw"></i>
|
66
|
+
<span>
|
67
|
+
{% for category in post.categories %}
|
68
|
+
{{ category }}
|
69
|
+
{%- unless forloop.last -%},{%- endunless -%}
|
70
|
+
{% endfor %}
|
71
|
+
</span>
|
72
|
+
{% endif %}
|
73
|
+
</div>
|
74
|
+
|
75
|
+
{% if post.pin %}
|
76
|
+
<div class="pin">
|
77
|
+
<i class="fas fa-thumbtack fa-fw"></i>
|
78
|
+
<span>{{ site.data.locales[site.lang].post.pin_prompt }}</span>
|
79
|
+
</div>
|
80
|
+
{% endif %}
|
81
|
+
</div>
|
82
|
+
<!-- .post-meta -->
|
83
|
+
</div>
|
84
|
+
</a>
|
55
85
|
</div>
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
<!-- posted date -->
|
61
|
-
<i class="far fa-calendar fa-fw"></i>
|
62
|
-
{% include datetime.html date=post.date %}
|
63
|
-
|
64
|
-
<!-- categories -->
|
65
|
-
{% if post.categories.size > 0 %}
|
66
|
-
<i class="far fa-folder-open fa-fw"></i>
|
67
|
-
<span>
|
68
|
-
{% for category in post.categories %}
|
69
|
-
{{ category }}
|
70
|
-
{%- unless forloop.last -%},{%- endunless -%}
|
71
|
-
{% endfor %}
|
72
|
-
</span>
|
73
|
-
{% endif %}
|
74
|
-
|
75
|
-
</div>
|
76
|
-
|
77
|
-
{% if post.pin %}
|
78
|
-
<div class="pin">
|
79
|
-
<i class="fas fa-thumbtack fa-fw"></i>
|
80
|
-
<span>{{ site.data.locales[site.lang].post.pin_prompt }}</span>
|
81
|
-
</div>
|
82
|
-
{% endif %}
|
83
|
-
|
84
|
-
</div> <!-- .post-meta -->
|
85
|
-
|
86
|
-
</div> <!-- .post-review -->
|
87
|
-
|
88
|
-
{% endfor %}
|
89
|
-
|
90
|
-
</div> <!-- #post-list -->
|
86
|
+
<!-- .post-review -->
|
87
|
+
{% endfor %}
|
88
|
+
</div>
|
89
|
+
<!-- #post-list -->
|
91
90
|
|
92
91
|
{% if paginator.total_pages > 0 %}
|
93
92
|
{% include post-paginator.html %}
|