jekyll-theme-chirpy 4.1.1 → 4.2.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.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/_config.yml +3 -2
  3. data/_data/locales/en.yml +3 -4
  4. data/_data/locales/id-ID.yml +86 -0
  5. data/_data/locales/zh-CN.yml +3 -4
  6. data/_includes/disqus.html +42 -13
  7. data/_includes/footer.html +3 -3
  8. data/_includes/head.html +5 -5
  9. data/_includes/js-selector.html +1 -1
  10. data/_includes/lang.html +8 -0
  11. data/_includes/panel.html +5 -3
  12. data/_includes/post-nav.html +4 -4
  13. data/_includes/post-sharing.html +3 -3
  14. data/_includes/read-time.html +5 -4
  15. data/_includes/refactor-content.html +29 -13
  16. data/_includes/related-posts.html +1 -1
  17. data/_includes/search-loader.html +2 -2
  18. data/_includes/search-results.html +1 -1
  19. data/_includes/sidebar.html +2 -2
  20. data/_includes/timeago.html +3 -3
  21. data/_includes/topbar.html +9 -9
  22. data/_layouts/archives.html +3 -1
  23. data/_layouts/categories.html +5 -3
  24. data/_layouts/category.html +3 -1
  25. data/_layouts/default.html +3 -1
  26. data/_layouts/home.html +3 -1
  27. data/_layouts/page.html +1 -1
  28. data/_layouts/post.html +9 -7
  29. data/_layouts/tag.html +3 -1
  30. data/_sass/addon/commons.scss +20 -4
  31. data/_sass/addon/syntax.scss +74 -22
  32. data/_sass/colors/dark-syntax.scss +17 -14
  33. data/_sass/colors/dark-typography.scss +15 -13
  34. data/_sass/colors/light-syntax.scss +4 -1
  35. data/_sass/colors/light-typography.scss +12 -11
  36. data/_sass/jekyll-theme-chirpy.scss +1 -1
  37. data/_sass/layout/post.scss +0 -10
  38. data/assets/404.html +6 -4
  39. data/assets/feed.xml +1 -1
  40. data/assets/js/data/search.json +1 -1
  41. data/assets/js/dist/categories.min.js +1 -1
  42. data/assets/js/dist/commons.min.js +1 -1
  43. data/assets/js/dist/home.min.js +1 -1
  44. data/assets/js/dist/page.min.js +2 -2
  45. data/assets/js/dist/post.min.js +2 -2
  46. data/assets/js/dist/pvreport.min.js +1 -1
  47. metadata +4 -3
  48. data/assets/js/lib/jquery.disqusloader.min.js +0 -8
@@ -81,7 +81,7 @@
81
81
  {% if index_list.size > 0 %}
82
82
  <div id="related-posts" class="mt-5 mb-2 mb-sm-4">
83
83
  <h3 class="pt-2 mt-1 mb-4 ml-1"
84
- data-toc-skip>{{ site.data.locales[site.lang].post.relate_posts | default: 'Further Reading' }}</h3>
84
+ data-toc-skip>{{ site.data.locales[lang].post.relate_posts }}</h3>
85
85
  <div class="card-deck mb-4">
86
86
  {% for entry in index_list %}
87
87
  {% assign index = entry | plus: 0 %}
@@ -14,9 +14,9 @@
14
14
  </div>
15
15
  {% endcapture %}
16
16
 
17
- {% capture not_found %}<p class="mt-5">Oops! No result founds.</p>{% endcapture %}
17
+ {% capture not_found %}<p class="mt-5">{{ site.data.locales[lang].search.no_results }}</p>{% endcapture %}
18
18
 
19
- <script src="https://cdn.jsdelivr.net/npm/simple-jekyll-search@1.7.3/dest/simple-jekyll-search.min.js"></script>
19
+ <script src="https://cdn.jsdelivr.net/npm/simple-jekyll-search@1.10.0/dest/simple-jekyll-search.min.js"></script>
20
20
 
21
21
  <script>
22
22
  SimpleJekyllSearch({
@@ -4,7 +4,7 @@
4
4
  <div id="search-result-wrapper" class="d-flex justify-content-center unloaded">
5
5
  <div class="col-12 col-sm-11 post-content">
6
6
  <div id="search-hints">
7
- <h4 class="text-muted mb-4">{{ site.data.locales[site.lang].panel.trending_tags | default: 'Trending Tags' }}</h4>
7
+ <h4 class="text-muted mb-4">{{ site.data.locales[lang].panel.trending_tags }}</h4>
8
8
 
9
9
  {% include trending-tags.html %}
10
10
 
@@ -32,7 +32,7 @@
32
32
  <li class="nav-item{% if page.layout == 'home' %}{{ " active" }}{% endif %}">
33
33
  <a href="{{ '/' | relative_url }}" class="nav-link">
34
34
  <i class="fa-fw fas fa-home ml-xl-3 mr-xl-3 unloaded"></i>
35
- <span>{{ site.data.locales[site.lang].tabs.home | default: "home" | upcase }}</span>
35
+ <span>{{ site.data.locales[lang].tabs.home | upcase }}</span>
36
36
  </a>
37
37
  </li>
38
38
  <!-- the real tabs -->
@@ -42,7 +42,7 @@
42
42
  <i class="fa-fw {{ tab.icon }} ml-xl-3 mr-xl-3 unloaded"></i>
43
43
  {% capture tab_name %}{{ tab.url | split: '/' }}{% endcapture %}
44
44
 
45
- <span>{{ site.data.locales[site.lang].tabs.[tab_name] | default: tab.title | upcase }}</span>
45
+ <span>{{ site.data.locales[lang].tabs.[tab_name] | default: tab.title | upcase }}</span>
46
46
  </a>
47
47
  </li> <!-- .nav-item -->
48
48
  {% endfor %}
@@ -3,9 +3,9 @@
3
3
  See: /assets/js/_utils/timeage.js
4
4
  -->
5
5
 
6
- {% assign tooltip_df = site.data.locales[site.lang].date_format.tooltip | default: '%a, %b %e, %Y, %l:%M %p %z' %}
7
- {% assign post_long_df = site.data.locales[site.lang].date_format.post.long | default: '%b %e, %Y' %}
8
- {% assign post_short_df = site.data.locales[site.lang].date_format.post.short | default: '%b %e' %}
6
+ {% assign tooltip_df = site.data.locales[lang].date_format.tooltip %}
7
+ {% assign post_long_df = site.data.locales[lang].date_format.post.long %}
8
+ {% assign post_short_df = site.data.locales[lang].date_format.post.short %}
9
9
 
10
10
  {% if include.preposition %}
11
11
  {{ include.preposition }}
@@ -10,7 +10,7 @@
10
10
 
11
11
  {% if paths.size == 0 or page.layout == 'home' %}
12
12
  <!-- index page -->
13
- <span>{{ site.data.locales[site.lang].tabs.home | default: 'home' | capitalize }}</span>
13
+ <span>{{ site.data.locales[lang].tabs.home | capitalize }}</span>
14
14
 
15
15
  {% else %}
16
16
 
@@ -19,14 +19,14 @@
19
19
  {% if forloop.first %}
20
20
  <span>
21
21
  <a href="{{ '/' | relative_url }}">
22
- {{ site.data.locales[site.lang].tabs.home | default: 'home' | capitalize }}
22
+ {{ site.data.locales[lang].tabs.home | capitalize }}
23
23
  </a>
24
24
  </span>
25
25
 
26
26
  {% elsif forloop.last %}
27
27
 
28
28
  {% if page.collection == 'tabs' %}
29
- <span>{{ site.data.locales[site.lang].tabs[item] | default: page.title }}</span>
29
+ <span>{{ site.data.locales[lang].tabs[item] | default: page.title }}</span>
30
30
  {% else %}
31
31
  <span>{{ page.title }}</span>
32
32
  {% endif %}
@@ -34,7 +34,7 @@
34
34
  {% elsif page.layout == 'category' or page.layout == 'tag' %}
35
35
  <span>
36
36
  <a href="{{ item | relative_url }}">
37
- {{ site.data.locales[site.lang].tabs[item] | default: page.title }}
37
+ {{ site.data.locales[lang].tabs[item] | default: page.title }}
38
38
  </a>
39
39
  </span>
40
40
  {% endif %}
@@ -49,12 +49,12 @@
49
49
 
50
50
  <div id="topbar-title">
51
51
  {% if page.layout == 'home' %}
52
- {{- site.data.locales[site.lang].title | default: site.title -}}
52
+ {{- site.data.locales[lang].title | default: site.title -}}
53
53
  {% elsif page.collection == 'tabs' %}
54
54
  {%- capture tab_key -%}{{ page.url | split: '/' }}{%- endcapture -%}
55
- {{- site.data.locales[site.lang].tabs[tab_key] | default: page.title -}}
55
+ {{- site.data.locales[lang].tabs[tab_key] | default: page.title -}}
56
56
  {% else %}
57
- {{- site.data.locales[site.lang].layout[page.layout] | default: page.layout | capitalize -}}
57
+ {{- site.data.locales[lang].layout[page.layout] | default: page.layout | capitalize -}}
58
58
  {% endif %}
59
59
  </div>
60
60
 
@@ -62,10 +62,10 @@
62
62
  <span id="search-wrapper" class="align-items-center">
63
63
  <i class="fas fa-search fa-fw"></i>
64
64
  <input class="form-control" id="search-input" type="search"
65
- aria-label="search" autocomplete="off" placeholder="{{ site.data.locales[site.lang].search.hint | default: 'Search' | capitalize }}...">
65
+ aria-label="search" autocomplete="off" placeholder="{{ site.data.locales[lang].search.hint | capitalize }}...">
66
66
  <i class="fa fa-times-circle fa-fw" id="search-cleaner"></i>
67
67
  </span>
68
- <span id="search-cancel" >{{ site.data.locales[site.lang].search.cancel | default: 'Cancel' }}</span>
68
+ <span id="search-cancel" >{{ site.data.locales[lang].search.cancel }}</span>
69
69
  </div>
70
70
 
71
71
  </div>
@@ -3,6 +3,8 @@ layout: page
3
3
  # The Archives of posts.
4
4
  ---
5
5
 
6
+ {% include lang.html %}
7
+
6
8
  <div id="archives" class="pl-xl-2">
7
9
 
8
10
  {% for post in site.posts %}
@@ -17,7 +19,7 @@ layout: page
17
19
  <li>
18
20
  <div>
19
21
  {% capture this_day %}{{ post.date | date: "%d" }}{% endcapture %}
20
- {% capture _mth_df %}{{ site.data.locales[site.lang].date_format.post.archive_month | default: "%b" }}{% endcapture %}
22
+ {% capture _mth_df %}{{ site.data.locales[lang].date_format.post.archive_month }}{% endcapture %}
21
23
  {% capture this_month %}{{ post.date | date: _mth_df }}{% endcapture %}
22
24
  <span class="date day">{{ this_day }}</span>
23
25
  <span class="date month small text-muted">{% include no-zero-date.html date_str=this_month %}</span>
@@ -3,6 +3,8 @@ layout: page
3
3
  # All the Categories of posts
4
4
  ---
5
5
 
6
+ {% include lang.html %}
7
+
6
8
  {% assign HEAD_PREFIX = "h_" %}
7
9
  {% assign LIST_PREFIX = "l_" %}
8
10
 
@@ -45,10 +47,10 @@ layout: page
45
47
  <span class="text-muted small font-weight-light">
46
48
  {% if sub_categories_size > 0 %}
47
49
  {{ sub_categories_size }}
48
- {{ site.data.locales[site.lang].categories.category_measure | default: 'categories' }},
50
+ {{ site.data.locales[lang].categories.category_measure }},
49
51
  {% endif %}
50
52
  {{ top_posts_size }}
51
- {{ site.data.locales[site.lang].categories.post_measure | default: 'posts' }}
53
+ {{ site.data.locales[lang].categories.post_measure }}
52
54
  </span>
53
55
  </span>
54
56
 
@@ -81,7 +83,7 @@ layout: page
81
83
  {% assign posts_size = site.categories[sub_category] | size %}
82
84
  <span class="text-muted small font-weight-light">
83
85
  {{ posts_size }}
84
- {{ site.data.locales[site.lang].categories.post_measure | default: 'posts' }}
86
+ {{ site.data.locales[lang].categories.post_measure }}
85
87
  </span>
86
88
  </li>
87
89
  {% endfor %}
@@ -3,6 +3,8 @@ layout: page
3
3
  # The Category layout
4
4
  ---
5
5
 
6
+ {% include lang.html %}
7
+
6
8
  <div id="page-category">
7
9
  <h1 class="pl-lg-2">
8
10
  <i class="far fa-folder-open fa-fw text-muted"></i>
@@ -11,7 +13,7 @@ layout: page
11
13
  </h1>
12
14
 
13
15
  <ul class="post-content pl-0">
14
- {% assign post_df = site.data.locales[site.lang].date_format.post.long | default: '%b %e, %Y' %}
16
+ {% assign post_df = site.data.locales[lang].date_format.post.long %}
15
17
 
16
18
  {% for post in page.posts %}
17
19
  <li class="d-flex justify-content-between pl-md-3 pr-md-3">
@@ -5,13 +5,15 @@ layout: compress
5
5
 
6
6
  <!DOCTYPE html>
7
7
 
8
+ {% include lang.html %}
9
+
8
10
  {% capture prefer_mode %}
9
11
  {% if site.theme_mode %}
10
12
  mode="{{ site.theme_mode }}"
11
13
  {% endif %}
12
14
  {% endcapture %}
13
15
 
14
- <html lang="{{ site.lang | default: 'en' }}" {{ prefer_mode }}>
16
+ <html lang="{{ site.lang }}" {{ prefer_mode }}>
15
17
 
16
18
  {% include head.html %}
17
19
 
data/_layouts/home.html CHANGED
@@ -3,6 +3,8 @@ layout: page
3
3
  # The Home page layout
4
4
  ---
5
5
 
6
+ {% include lang.html %}
7
+
6
8
  {% assign pinned = site.posts | where: "pin", "true" %}
7
9
  {% assign default = site.posts | where_exp: "item", "item.pin != true" %}
8
10
 
@@ -78,7 +80,7 @@ layout: page
78
80
  {% if post.pin %}
79
81
  <div class="pin">
80
82
  <i class="fas fa-thumbtack fa-fw"></i>
81
- <span>{{ site.data.locales[site.lang].post.pin_prompt | default: 'Pinned' }}</span>
83
+ <span>{{ site.data.locales[lang].post.pin_prompt }}</span>
82
84
  </div>
83
85
  {% endif %}
84
86
 
data/_layouts/page.html CHANGED
@@ -10,7 +10,7 @@ layout: default
10
10
  <h1 class="dynamic-title">
11
11
  {% if page.collection == 'tabs' %}
12
12
  {%- capture tab_key -%}{{ page.url | split: '/' }}{%- endcapture -%}
13
- {{- site.data.locales[site.lang].tabs[tab_key] | default: page.title -}}
13
+ {{- site.data.locales[lang].tabs[tab_key] | default: page.title -}}
14
14
  {% else %}
15
15
  {{- page.title -}}
16
16
  {% endif %}
data/_layouts/post.html CHANGED
@@ -3,6 +3,8 @@ layout: default
3
3
  # The posts' layout
4
4
  ---
5
5
 
6
+ {% include lang.html %}
7
+
6
8
  <div class="row">
7
9
 
8
10
  <div id="post-wrapper" class="col-12 col-lg-11 col-xl-8">
@@ -17,7 +19,7 @@ layout: default
17
19
  <span class="semi-bold">
18
20
  {{ page.author | default: site.social.name }}
19
21
  </span>
20
- {% capture _preposition %}{{ site.data.locales[site.lang].post.published | default: 'on' }}{% endcapture %}
22
+ {% capture _preposition %}{{ site.data.locales[lang].post.published }}{% endcapture %}
21
23
  {% include timeago.html date=page.date tooltip=true preposition=_preposition %}
22
24
  </div>
23
25
 
@@ -25,7 +27,7 @@ layout: default
25
27
  <!-- lastmod -->
26
28
  {% if page.last_modified_at %}
27
29
  <span>
28
- {{ site.data.locales[site.lang].post.updated | default: 'Updated' }}
30
+ {{ site.data.locales[lang].post.updated }}
29
31
  {% include timeago.html date=page.last_modified_at class="lastmod" tooltip=true %}
30
32
  </span>
31
33
  {% endif %}
@@ -38,7 +40,7 @@ layout: default
38
40
  <span id="pv" class="pageviews">
39
41
  <i class="fas fa-spinner fa-spin fa-fw"></i>
40
42
  </span>
41
- {{ site.data.locales[site.lang].post.pageview_measure | default: "views" }}
43
+ {{ site.data.locales[lang].post.pageview_measure }}
42
44
  {% endif %}
43
45
 
44
46
  </div>
@@ -89,13 +91,13 @@ layout: default
89
91
  <div class="post-tail-bottom
90
92
  d-flex justify-content-between align-items-center mt-3 pt-5 pb-2">
91
93
  <div class="license-wrapper">
92
- {% if site.data.locales[site.lang].copyright.license.template %}
94
+ {% if site.data.locales[lang].copyright.license.template %}
93
95
  {% capture _replacement %}
94
- <a href="{{ site.data.locales[site.lang].copyright.license.link }}">
95
- {{ site.data.locales[site.lang].copyright.license.name }}
96
+ <a href="{{ site.data.locales[lang].copyright.license.link }}">
97
+ {{ site.data.locales[lang].copyright.license.name }}
96
98
  </a>
97
99
  {% endcapture %}
98
- {{ site.data.locales[site.lang].copyright.license.template | replace: ':LICENSE_NAME', _replacement }}
100
+ {{ site.data.locales[lang].copyright.license.template | replace: ':LICENSE_NAME', _replacement }}
99
101
  {% endif %}
100
102
  </div>
101
103
 
data/_layouts/tag.html CHANGED
@@ -3,6 +3,8 @@ layout: page
3
3
  # The layout for Tag page
4
4
  ---
5
5
 
6
+ {% include lang.html %}
7
+
6
8
  <div id="page-tag">
7
9
  <h1 class="pl-lg-2">
8
10
  <i class="fa fa-tag fa-fw text-muted"></i>
@@ -10,7 +12,7 @@ layout: page
10
12
  <span class="lead text-muted pl-2">{{ page.posts | size }}</span>
11
13
  </h1>
12
14
  <ul class="post-content pl-0">
13
- {% assign post_df = site.data.locales[site.lang].date_format.post.long | default: '%b %e, %Y' %}
15
+ {% assign post_df = site.data.locales[lang].date_format.post.long %}
14
16
 
15
17
  {% for post in page.posts %}
16
18
  <li class="d-flex justify-content-between pl-md-3 pr-md-3">
@@ -53,6 +53,26 @@ body {
53
53
  font-family: 'Source Sans Pro', 'Microsoft Yahei', sans-serif;
54
54
  }
55
55
 
56
+ /* --- Scrollbar --- */
57
+
58
+ $scrollbar-size: 7px;
59
+
60
+ ::-webkit-scrollbar {
61
+ width: $scrollbar-size;
62
+ height: $scrollbar-size;
63
+ }
64
+
65
+ ::-webkit-scrollbar-track {
66
+ @at-root body#{&} {
67
+ -webkit-box-shadow: inset 0 0 6px var(--scrollbar-track-bg);
68
+ }
69
+ }
70
+
71
+ ::-webkit-scrollbar-thumb {
72
+ background-color: var(--scrollbar-thumb-bg);
73
+ border-radius: calc(#{$scrollbar-size} / 2);
74
+ }
75
+
56
76
  /* --- Typography --- */
57
77
 
58
78
  h1 {
@@ -460,10 +480,6 @@ footer {
460
480
  padding-left: 2rem;
461
481
 
462
482
  li {
463
- + li {
464
- margin-top: 0.3rem;
465
- }
466
-
467
483
  ol,
468
484
  ul { // sub list
469
485
  padding-left: 2rem;
@@ -27,16 +27,18 @@ html[mode=dark] {
27
27
 
28
28
  /* -- Codes Snippet -- */
29
29
 
30
+ $code-radius: 6px;
31
+
30
32
  %code-snippet-bg {
31
33
  background: var(--highlight-bg-color);
32
34
  }
33
35
 
34
36
  %code-snippet-radius {
35
- border-radius: 6px;
37
+ border-radius: $code-radius;
36
38
  }
37
39
 
38
40
  %code-snippet-padding {
39
- padding: 1.5rem;
41
+ padding: 1.2rem;
40
42
  }
41
43
 
42
44
  div > pre {
@@ -86,12 +88,10 @@ div > pre {
86
88
  }
87
89
 
88
90
  .lineno {
89
- margin-left: 0.2rem;
90
91
  padding-right: 0.5rem;
91
92
  min-width: 2.2rem;
92
93
  text-align: right;
93
94
  color: var(--highlight-lineno-color);
94
- border-right: 1px solid var(--highlight-lineno-border-color);
95
95
  -webkit-user-select: none;
96
96
  -khtml-user-select: none;
97
97
  -moz-user-select: none;
@@ -135,7 +135,7 @@ code {
135
135
  }
136
136
 
137
137
  td.rouge-code {
138
- padding: 1.5rem 1.5rem 1.5rem 1rem;
138
+ padding: 1.2rem 1.5rem 1.2rem 1rem;
139
139
 
140
140
  // Prevent some browser extends from
141
141
  // changing the URL string of code block.
@@ -152,7 +152,8 @@ div {
152
152
  &[class^='highlighter-rouge'],
153
153
  &.language-plaintext.highlighter-rouge,
154
154
  &.language-console.highlighter-rouge,
155
- &.language-terminal.highlighter-rouge {
155
+ &.language-terminal.highlighter-rouge,
156
+ &.nolineno {
156
157
  pre.lineno {
157
158
  display: none;
158
159
  }
@@ -162,25 +163,76 @@ div {
162
163
  }
163
164
  }
164
165
 
165
- div[class^='language-']::before {
166
- content: attr(lang);
167
- position: absolute;
168
- right: 2rem;
169
- margin-top: 3px;
170
- font-size: 0.7rem;
171
- font-weight: 600;
172
- color: var(--highlight-lineno-color);
173
- text-transform: uppercase;
174
- }
166
+ .code-header {
167
+ background: var(--code-header-bg);
168
+ border-top-left-radius: $code-radius;
169
+ border-top-right-radius: $code-radius;
170
+ display: flex;
171
+ justify-content: space-between;
172
+ align-items: center;
173
+ line-height: 1.85rem;
174
+
175
+ // text data
176
+ &::before {
177
+ content: attr(text-data);
178
+ color: var(--lang-badge-color);
179
+ padding-left: 1em;
180
+
181
+ // language
182
+ font-size: 0.75rem;
183
+ font-weight: 600;
184
+ text-transform: uppercase;
185
+
186
+ // file name
187
+ @at-root [file] #{&} {
188
+ font-size: 0.85rem;
189
+ text-transform: none;
190
+ }
191
+ }
192
+
193
+ // clipboard
194
+ button {
195
+ border: 1px solid var(--code-header-bg);
196
+ border-radius: $code-radius;
197
+ padding: 0;
198
+ width: 1.95rem;
199
+ background-color: inherit;
200
+ color: var(--highlight-lineno-color);
201
+
202
+ &[locked=true] {
203
+ color: var(--clipboard-checked-color);
204
+ border-color: var(--clipboard-checked-color);
205
+ }
206
+
207
+ &:not([locked]):hover {
208
+ background-color: gray;
209
+ color: white;
210
+ }
211
+
212
+ &:focus {
213
+ outline: none;
214
+ }
215
+
216
+ i {
217
+ font-size: 0.9rem;
218
+ }
175
219
 
176
- @media (min-width: 768px) {
177
- div[class^='language-']::before {
178
- right: 3.1rem;
179
220
  }
221
+
180
222
  }
181
223
 
182
- @media (min-width: 1650px) {
183
- div[class^='language-']::before {
184
- right: 3.5rem;
224
+ @media all and (max-width: 576px) {
225
+ .post-content {
226
+ > div[class^='language-'] {
227
+ @include ml-mr(-1.25rem);
228
+
229
+ border-radius: 0;
230
+
231
+ .code-header {
232
+ border-radius: 0;
233
+ padding-left: 0.4rem;
234
+ padding-right: 0.5rem;
235
+ }
236
+ }
185
237
  }
186
238
  }