jekyll-theme-chirpy 4.1.1 → 4.2.0

Sign up to get free protection for your applications and to get access to all the features.
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
  }