jekyll-theme-chirpy 6.1.0 → 6.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/README.md +24 -23
- data/_data/locales/tr-TR.yml +4 -4
- data/_data/origin/cors.yml +11 -11
- data/_includes/comments/disqus.html +2 -1
- data/_includes/datetime.html +5 -4
- data/_includes/footer.html +30 -28
- data/_includes/head.html +1 -1
- data/_includes/notification.html +24 -0
- data/_includes/post-nav.html +9 -12
- data/_includes/post-paginator.html +77 -75
- data/_includes/post-sharing.html +6 -4
- data/_includes/related-posts.html +31 -39
- data/_includes/search-loader.html +10 -8
- data/_includes/search-results.html +1 -1
- data/_includes/sidebar.html +63 -60
- data/_includes/toc.html +3 -3
- data/_includes/topbar.html +17 -10
- data/_includes/trending-tags.html +3 -3
- data/_includes/update-list.html +4 -4
- data/_layouts/archives.html +18 -19
- data/_layouts/category.html +2 -2
- data/_layouts/default.html +51 -32
- data/_layouts/home.html +12 -11
- data/_layouts/page.html +21 -63
- data/_layouts/post.html +72 -70
- data/_layouts/tag.html +2 -2
- data/_sass/addon/commons.scss +118 -149
- data/_sass/addon/module.scss +12 -3
- data/_sass/addon/syntax.scss +51 -29
- data/_sass/addon/variables.scss +10 -5
- data/_sass/colors/syntax-dark.scss +138 -0
- data/_sass/colors/syntax-light.scss +179 -0
- data/_sass/colors/{dark-typography.scss → typography-dark.scss} +18 -19
- data/_sass/colors/{light-typography.scss → typography-light.scss} +17 -16
- data/_sass/layout/category-tag.scss +0 -5
- data/_sass/layout/home.scss +18 -35
- data/_sass/layout/post.scss +46 -51
- data/_sass/{jekyll-theme-chirpy.scss → main.scss} +2 -8
- data/assets/404.html +1 -3
- data/assets/css/{style.scss → jekyll-theme-chirpy.scss} +1 -1
- data/assets/js/data/swcache.js +32 -33
- data/assets/js/dist/categories.min.js +2 -4
- data/assets/js/dist/commons.min.js +2 -4
- data/assets/js/dist/home.min.js +2 -4
- data/assets/js/dist/misc.min.js +2 -4
- data/assets/js/dist/page.min.js +2 -4
- data/assets/js/dist/post.min.js +2 -4
- data/assets/js/pwa/sw.js +56 -57
- metadata +9 -11
- data/_data/authors.yml +0 -17
- data/_data/contact.yml +0 -28
- data/_data/share.yml +0 -25
- data/_sass/colors/dark-syntax.scss +0 -91
- data/_sass/colors/light-syntax.scss +0 -83
@@ -1,7 +1,4 @@
|
|
1
|
-
<!--
|
2
|
-
Recommend the other 3 posts according to the tags and categories of the current post,
|
3
|
-
if the number is not enough, use the other latest posts to supplement.
|
4
|
-
-->
|
1
|
+
<!-- Recommend the other 3 posts according to the tags and categories of the current post. -->
|
5
2
|
|
6
3
|
<!-- The total size of related posts -->
|
7
4
|
{% assign TOTAL_SIZE = 3 %}
|
@@ -14,11 +11,21 @@
|
|
14
11
|
|
15
12
|
{% assign SEPARATOR = ':' %}
|
16
13
|
|
14
|
+
{% assign match_posts = '' | split: '' %}
|
15
|
+
|
16
|
+
{% for category in page.categories %}
|
17
|
+
{% assign match_posts = match_posts | push: site.categories[category] | uniq %}
|
18
|
+
{% endfor %}
|
19
|
+
|
20
|
+
{% for tag in page.tags %}
|
21
|
+
{% assign match_posts = match_posts | push: site.tags[tag] | uniq %}
|
22
|
+
{% endfor %}
|
23
|
+
|
24
|
+
{% assign last_index = match_posts.size | minus: 1 %}
|
17
25
|
{% assign score_list = '' | split: '' %}
|
18
|
-
{% assign last_index = site.posts.size | minus: 1 %}
|
19
26
|
|
20
27
|
{% for i in (0..last_index) %}
|
21
|
-
{% assign post =
|
28
|
+
{% assign post = match_posts[i] %}
|
22
29
|
|
23
30
|
{% if post.url == page.url %}
|
24
31
|
{% continue %}
|
@@ -54,39 +61,25 @@
|
|
54
61
|
{% endfor %}
|
55
62
|
{% endif %}
|
56
63
|
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
{%
|
61
|
-
{%
|
62
|
-
|
63
|
-
{% if post.url != page.url %}
|
64
|
-
{% capture cur_index %}{{ i }}{% endcapture %}
|
65
|
-
{% unless index_list contains cur_index %}
|
66
|
-
{% assign index_list = index_list | push: cur_index %}
|
67
|
-
{% assign less = less | minus: 1 %}
|
68
|
-
{% if less <= 0 %}
|
69
|
-
{% break %}
|
70
|
-
{% endif %}
|
71
|
-
{% endunless %}
|
72
|
-
{% endif %}
|
73
|
-
{% endfor %}
|
74
|
-
{% endif %}
|
64
|
+
{% assign relate_posts = '' | split: '' %}
|
65
|
+
|
66
|
+
{% for index in index_list %}
|
67
|
+
{% assign i = index | to_integer %}
|
68
|
+
{% assign relate_posts = relate_posts | push: match_posts[i] %}
|
69
|
+
{% endfor %}
|
75
70
|
|
76
|
-
{% if
|
77
|
-
<
|
78
|
-
<h3 class="
|
79
|
-
{{ site.data.locales[include.lang].post.relate_posts }}
|
71
|
+
{% if relate_posts.size > 0 %}
|
72
|
+
<aside id="related-posts" aria-labelledby="related-label">
|
73
|
+
<h3 class="mb-4" id="related-label">
|
74
|
+
{{- site.data.locales[include.lang].post.relate_posts -}}
|
80
75
|
</h3>
|
81
|
-
<
|
82
|
-
{% for
|
83
|
-
|
84
|
-
|
85
|
-
<div class="col">
|
86
|
-
<a href="{{ post.url | relative_url }}" class="card post-preview h-100">
|
76
|
+
<nav class="row row-cols-1 row-cols-md-2 row-cols-xl-3 g-4 mb-4">
|
77
|
+
{% for post in relate_posts %}
|
78
|
+
<article class="col">
|
79
|
+
<a href="{{ post.url | relative_url }}" class="post-preview card h-100">
|
87
80
|
<div class="card-body">
|
88
81
|
{% include datetime.html date=post.date class="small" lang=include.lang %}
|
89
|
-
<h4 class="pt-0 my-2"
|
82
|
+
<h4 class="pt-0 my-2">{{ post.title }}</h4>
|
90
83
|
<div class="text-muted small">
|
91
84
|
<p>
|
92
85
|
{% include no-linenos.html content=post.content %}
|
@@ -95,10 +88,9 @@
|
|
95
88
|
</div>
|
96
89
|
</div>
|
97
90
|
</a>
|
98
|
-
</
|
91
|
+
</article>
|
99
92
|
{% endfor %}
|
100
|
-
</
|
101
|
-
|
102
|
-
</div>
|
93
|
+
</nav>
|
94
|
+
</aside>
|
103
95
|
<!-- #related-posts -->
|
104
96
|
{% endif %}
|
@@ -4,14 +4,16 @@
|
|
4
4
|
-->
|
5
5
|
|
6
6
|
{% capture result_elem %}
|
7
|
-
<
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
</
|
7
|
+
<article class="px-1 px-sm-2 px-lg-4 px-xl-0">
|
8
|
+
<header>
|
9
|
+
<h2><a href="{url}">{title}</a></h2>
|
10
|
+
<div class="post-meta d-flex flex-column flex-sm-row text-muted mt-1 mb-1">
|
11
|
+
{categories}
|
12
|
+
{tags}
|
13
|
+
</div>
|
14
|
+
</header>
|
15
|
+
<p>{snippet}</p>
|
16
|
+
</article>
|
15
17
|
{% endcapture %}
|
16
18
|
|
17
19
|
{% capture not_found %}<p class="mt-5">{{ site.data.locales[include.lang].search.no_results }}</p>{% endcapture %}
|
data/_includes/sidebar.html
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
<!-- The Side Bar -->
|
2
2
|
|
3
|
-
<
|
4
|
-
<
|
3
|
+
<aside aria-label="Sidebar" id="sidebar" class="d-flex flex-column align-items-end">
|
4
|
+
<header class="profile-wrapper">
|
5
5
|
<a href="{{ '/' | relative_url }}" id="avatar" class="rounded-circle">
|
6
6
|
{% if site.avatar != empty and site.avatar %}
|
7
7
|
{% capture avatar_url %}
|
@@ -17,39 +17,40 @@
|
|
17
17
|
{% endif %}
|
18
18
|
</a>
|
19
19
|
|
20
|
-
<
|
20
|
+
<h1 class="site-title">
|
21
21
|
<a href="{{ '/' | relative_url }}">{{ site.title }}</a>
|
22
|
-
</
|
23
|
-
<
|
24
|
-
</
|
22
|
+
</h1>
|
23
|
+
<p class="site-subtitle fst-italic mb-0">{{ site.tagline }}</p>
|
24
|
+
</header>
|
25
25
|
<!-- .profile-wrapper -->
|
26
26
|
|
27
|
-
<
|
28
|
-
|
29
|
-
|
30
|
-
<
|
31
|
-
<
|
32
|
-
|
33
|
-
|
34
|
-
</li>
|
35
|
-
<!-- the real tabs -->
|
36
|
-
{% for tab in site.tabs %}
|
37
|
-
<li class="nav-item{% if tab.url == page.url %}{{ " active" }}{% endif %}">
|
38
|
-
<a href="{{ tab.url | relative_url }}" class="nav-link">
|
39
|
-
<i class="fa-fw {{ tab.icon }}"></i>
|
40
|
-
{% capture tab_name %}{{ tab.url | split: '/' }}{% endcapture %}
|
41
|
-
|
42
|
-
<span>{{ site.data.locales[include.lang].tabs.[tab_name] | default: tab.title | upcase }}</span>
|
27
|
+
<nav class="flex-column flex-grow-1 w-100 ps-0">
|
28
|
+
<ul class="nav">
|
29
|
+
<!-- home -->
|
30
|
+
<li class="nav-item{% if page.layout == 'home' %}{{ " active" }}{% endif %}">
|
31
|
+
<a href="{{ '/' | relative_url }}" class="nav-link">
|
32
|
+
<i class="fa-fw fas fa-home"></i>
|
33
|
+
<span>{{ site.data.locales[include.lang].tabs.home | upcase }}</span>
|
43
34
|
</a>
|
44
35
|
</li>
|
45
|
-
<!--
|
46
|
-
|
47
|
-
|
48
|
-
|
36
|
+
<!-- the real tabs -->
|
37
|
+
{% for tab in site.tabs %}
|
38
|
+
<li class="nav-item{% if tab.url == page.url %}{{ " active" }}{% endif %}">
|
39
|
+
<a href="{{ tab.url | relative_url }}" class="nav-link">
|
40
|
+
<i class="fa-fw {{ tab.icon }}"></i>
|
41
|
+
{% capture tab_name %}{{ tab.url | split: '/' }}{% endcapture %}
|
42
|
+
|
43
|
+
<span>{{ site.data.locales[include.lang].tabs.[tab_name] | default: tab.title | upcase }}</span>
|
44
|
+
</a>
|
45
|
+
</li>
|
46
|
+
<!-- .nav-item -->
|
47
|
+
{% endfor %}
|
48
|
+
</ul>
|
49
|
+
</nav>
|
49
50
|
|
50
51
|
<div class="sidebar-bottom d-flex flex-wrap align-items-center w-100">
|
51
52
|
{% unless site.theme_mode %}
|
52
|
-
<button class="mode-toggle btn" aria-label="Switch Mode">
|
53
|
+
<button type="button" class="mode-toggle btn" aria-label="Switch Mode">
|
53
54
|
<i class="fas fa-adjust"></i>
|
54
55
|
</button>
|
55
56
|
|
@@ -58,47 +59,49 @@
|
|
58
59
|
{% endif %}
|
59
60
|
{% endunless %}
|
60
61
|
|
61
|
-
|
62
|
-
{%
|
63
|
-
{%
|
64
|
-
{
|
62
|
+
<address class="d-flex mb-0">
|
63
|
+
{% for entry in site.data.contact %}
|
64
|
+
{% case entry.type %}
|
65
|
+
{% when 'github', 'twitter' %}
|
66
|
+
{%- capture url -%}
|
65
67
|
https://{{ entry.type }}.com/{{ site[entry.type].username }}
|
66
68
|
{%- endcapture -%}
|
67
|
-
|
68
|
-
|
69
|
-
|
69
|
+
{% when 'email' %}
|
70
|
+
{% assign email = site.social.email | split: '@' %}
|
71
|
+
{%- capture url -%}
|
70
72
|
javascript:location.href = 'mailto:' + ['{{ email[0] }}','{{ email[1] }}'].join('@')
|
71
73
|
{%- endcapture -%}
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
74
|
+
{% when 'rss' %}
|
75
|
+
{% assign url = '/feed.xml' | relative_url %}
|
76
|
+
{% else %}
|
77
|
+
{% assign url = entry.url %}
|
78
|
+
{% endcase %}
|
77
79
|
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
80
|
+
{% if url %}
|
81
|
+
<a
|
82
|
+
href="{{ url }}"
|
83
|
+
aria-label="{{ entry.type }}"
|
84
|
+
{% assign link_types = '' %}
|
83
85
|
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
86
|
+
{% unless entry.noblank %}
|
87
|
+
target="_blank"
|
88
|
+
{% assign link_types = 'noopener noreferrer' %}
|
89
|
+
{% endunless %}
|
88
90
|
|
89
|
-
|
90
|
-
|
91
|
-
|
91
|
+
{% if entry.type == 'mastodon' %}
|
92
|
+
{% assign link_types = link_types | append: ' me' | strip %}
|
93
|
+
{% endif %}
|
92
94
|
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
95
|
+
{% unless link_types == empty %}
|
96
|
+
rel="{{ link_types }}"
|
97
|
+
{% endunless %}
|
98
|
+
>
|
99
|
+
<i class="{{ entry.icon }}"></i>
|
100
|
+
</a>
|
101
|
+
{% endif %}
|
102
|
+
{% endfor %}
|
103
|
+
</address>
|
101
104
|
</div>
|
102
105
|
<!-- .sidebar-bottom -->
|
103
|
-
</
|
106
|
+
</aside>
|
104
107
|
<!-- #sidebar -->
|
data/_includes/toc.html
CHANGED
@@ -6,8 +6,8 @@
|
|
6
6
|
{% endif %}
|
7
7
|
|
8
8
|
{% if enable_toc %}
|
9
|
-
<
|
10
|
-
<
|
9
|
+
<section id="toc-wrapper" class="ps-0 pe-4 mb-5">
|
10
|
+
<h2 class="panel-heading ps-3 pt-2 mb-2">{{- site.data.locales[include.lang].panel.toc -}}</h2>
|
11
11
|
<nav id="toc"></nav>
|
12
|
-
</
|
12
|
+
</section>
|
13
13
|
{% endif %}
|
data/_includes/topbar.html
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
<!-- The Top Bar -->
|
2
2
|
|
3
|
-
<
|
3
|
+
<header id="topbar-wrapper" aria-label="Top Bar">
|
4
4
|
<div
|
5
5
|
id="topbar"
|
6
|
-
class="
|
6
|
+
class="d-flex align-items-center justify-content-between px-lg-3 h-100"
|
7
7
|
>
|
8
|
-
<
|
8
|
+
<nav id="breadcrumb" aria-label="Breadcrumb">
|
9
9
|
{% assign paths = page.url | split: '/' %}
|
10
10
|
|
11
11
|
{% if paths.size == 0 or page.layout == 'home' %}
|
@@ -37,10 +37,12 @@
|
|
37
37
|
{% endif %}
|
38
38
|
{% endfor %}
|
39
39
|
{% endif %}
|
40
|
-
</
|
40
|
+
</nav>
|
41
41
|
<!-- endof #breadcrumb -->
|
42
42
|
|
43
|
-
<
|
43
|
+
<button type="button" id="sidebar-trigger" class="btn btn-link">
|
44
|
+
<i class="fas fa-bars fa-fw"></i>
|
45
|
+
</button>
|
44
46
|
|
45
47
|
<div id="topbar-title">
|
46
48
|
{% if page.layout == 'home' %}
|
@@ -53,8 +55,11 @@
|
|
53
55
|
{% endif %}
|
54
56
|
</div>
|
55
57
|
|
56
|
-
<
|
57
|
-
|
58
|
+
<button type="button" id="search-trigger" class="btn btn-link">
|
59
|
+
<i class="fas fa-search fa-fw"></i>
|
60
|
+
</button>
|
61
|
+
|
62
|
+
<search class="align-items-center ms-3 ms-lg-0">
|
58
63
|
<i class="fas fa-search fa-fw"></i>
|
59
64
|
<input
|
60
65
|
class="form-control"
|
@@ -64,7 +69,9 @@
|
|
64
69
|
autocomplete="off"
|
65
70
|
placeholder="{{ site.data.locales[include.lang].search.hint | capitalize }}..."
|
66
71
|
>
|
67
|
-
</
|
68
|
-
<
|
72
|
+
</search>
|
73
|
+
<button type="button" class="btn btn-link text-decoration-none" id="search-cancel">
|
74
|
+
{{- site.data.locales[include.lang].search.cancel -}}
|
75
|
+
</button>
|
69
76
|
</div>
|
70
|
-
</
|
77
|
+
</header>
|
@@ -34,13 +34,13 @@
|
|
34
34
|
{% endfor %}
|
35
35
|
|
36
36
|
{% if trending_tags.size > 0 %}
|
37
|
-
<
|
38
|
-
<
|
37
|
+
<section>
|
38
|
+
<h2 class="panel-heading">{{- site.data.locales[include.lang].panel.trending_tags -}}</h2>
|
39
39
|
<div class="d-flex flex-wrap mt-3 mb-1 me-3">
|
40
40
|
{% for tag_name in trending_tags %}
|
41
41
|
{% assign url = tag_name | slugify | url_encode | prepend: '/tags/' | append: '/' %}
|
42
42
|
<a class="post-tag btn btn-outline-primary" href="{{ url | relative_url }}">{{ tag_name }}</a>
|
43
43
|
{% endfor %}
|
44
44
|
</div>
|
45
|
-
</
|
45
|
+
</section>
|
46
46
|
{% endif %}
|
data/_includes/update-list.html
CHANGED
@@ -22,9 +22,9 @@
|
|
22
22
|
{% endfor %}
|
23
23
|
|
24
24
|
{% if update_list.size > 0 %}
|
25
|
-
<
|
26
|
-
<
|
27
|
-
<ul class="
|
25
|
+
<section id="access-lastmod">
|
26
|
+
<h2 class="panel-heading">{{- site.data.locales[include.lang].panel.lastmod -}}</h2>
|
27
|
+
<ul class="content list-unstyled ps-0 pb-1 ms-1 mt-2">
|
28
28
|
{% for item in update_list %}
|
29
29
|
{% assign index = item | split: '::' | last | plus: 0 %}
|
30
30
|
{% assign post = site.posts[index] %}
|
@@ -34,6 +34,6 @@
|
|
34
34
|
</li>
|
35
35
|
{% endfor %}
|
36
36
|
</ul>
|
37
|
-
</
|
37
|
+
</section>
|
38
38
|
<!-- #access-lastmod -->
|
39
39
|
{% endif %}
|
data/_layouts/archives.html
CHANGED
@@ -9,28 +9,27 @@ layout: page
|
|
9
9
|
{% assign df_dayjs_m = site.data.locales[lang].df.archives.dayjs | default: '/ MM' %}
|
10
10
|
|
11
11
|
<div id="archives" class="pl-xl-3">
|
12
|
+
{% for post in site.posts %}
|
13
|
+
{% assign cur_year = post.date | date: '%Y' %}
|
12
14
|
|
13
|
-
{%
|
14
|
-
|
15
|
+
{% if cur_year != last_year %}
|
16
|
+
{% unless forloop.first %}</ul>{% endunless %}
|
15
17
|
|
16
|
-
|
17
|
-
|
18
|
-
<div class="year lead">{{ cur_year }}</div>
|
19
|
-
<ul class="list-unstyled">
|
20
|
-
{% assign last_year = cur_year %}
|
21
|
-
{% endif %}
|
18
|
+
<time class="year lead d-block">{{ cur_year }}</time>
|
19
|
+
{{ '<ul class="list-unstyled">' }}
|
22
20
|
|
23
|
-
|
24
|
-
|
25
|
-
<span class="date day" data-ts="{{ ts }}" data-df="DD">{{ post.date | date: "%d" }}</span>
|
26
|
-
<span class="date month small text-muted ms-1" data-ts="{{ ts }}" data-df="{{ df_dayjs_m }}">
|
27
|
-
{{ post.date | date: df_strftime_m }}
|
28
|
-
</span>
|
29
|
-
<a href="{{ post.url | relative_url }}">{{ post.title }}</a>
|
30
|
-
</li>
|
21
|
+
{% assign last_year = cur_year %}
|
22
|
+
{% endif %}
|
31
23
|
|
32
|
-
|
33
|
-
|
34
|
-
{
|
24
|
+
<li>
|
25
|
+
{% assign ts = post.date | date: '%s' %}
|
26
|
+
<span class="date day" data-ts="{{ ts }}" data-df="DD">{{ post.date | date: '%d' }}</span>
|
27
|
+
<span class="date month small text-muted ms-1" data-ts="{{ ts }}" data-df="{{ df_dayjs_m }}">
|
28
|
+
{{ post.date | date: df_strftime_m }}
|
29
|
+
</span>
|
30
|
+
<a href="{{ post.url | relative_url }}">{{ post.title }}</a>
|
31
|
+
</li>
|
35
32
|
|
33
|
+
{% if forloop.last %}</ul>{% endif %}
|
34
|
+
{% endfor %}
|
36
35
|
</div>
|
data/_layouts/category.html
CHANGED
@@ -12,12 +12,12 @@ layout: page
|
|
12
12
|
<span class="lead text-muted ps-2">{{ page.posts | size }}</span>
|
13
13
|
</h1>
|
14
14
|
|
15
|
-
<ul class="
|
15
|
+
<ul class="content ps-0">
|
16
16
|
{% for post in page.posts %}
|
17
17
|
<li class="d-flex justify-content-between px-md-3">
|
18
18
|
<a href="{{ post.url | relative_url }}">{{ post.title }}</a>
|
19
19
|
<span class="dash flex-grow-1"></span>
|
20
|
-
{% include datetime.html date=post.date
|
20
|
+
{% include datetime.html date=post.date class='text-muted small text-nowrap' lang=lang %}
|
21
21
|
</li>
|
22
22
|
{% endfor %}
|
23
23
|
</ul>
|
data/_layouts/default.html
CHANGED
@@ -15,6 +15,10 @@ layout: compress
|
|
15
15
|
{% endif %}
|
16
16
|
{% endcapture %}
|
17
17
|
|
18
|
+
{% if layout.tail_includes %}
|
19
|
+
{% assign has_tail = true %}
|
20
|
+
{% endif %}
|
21
|
+
|
18
22
|
<!-- `site.alt_lang` can specify a language different from the UI -->
|
19
23
|
<html lang="{{ site.alt_lang | default: site.lang }}" {{ prefer_mode }}>
|
20
24
|
{% include head.html %}
|
@@ -23,48 +27,63 @@ layout: compress
|
|
23
27
|
{% include sidebar.html lang=lang %}
|
24
28
|
|
25
29
|
<div id="main-wrapper" class="d-flex justify-content-center">
|
26
|
-
<div
|
30
|
+
<div class="container px-xxl-5">
|
27
31
|
{% include topbar.html lang=lang %}
|
28
|
-
|
32
|
+
|
33
|
+
<div class="row">
|
34
|
+
<main
|
35
|
+
aria-label="Main Content"
|
36
|
+
class="col-12 col-lg-11 col-xl-9 px-md-4{% unless has_tail %} pb-5{% endunless %}"
|
37
|
+
>
|
38
|
+
{{ content }}
|
39
|
+
</main>
|
40
|
+
|
41
|
+
<!-- panel -->
|
42
|
+
<aside aria-label="Panel" id="panel-wrapper" class="col-xl-3 ps-2 text-muted">
|
43
|
+
<div class="access">
|
44
|
+
{% include_cached update-list.html lang=lang %}
|
45
|
+
{% include_cached trending-tags.html lang=lang %}
|
46
|
+
</div>
|
47
|
+
|
48
|
+
{% for _include in layout.panel_includes %}
|
49
|
+
{% assign _include_path = _include | append: '.html' %}
|
50
|
+
{% include {{ _include_path }} lang=lang %}
|
51
|
+
{% endfor %}
|
52
|
+
</aside>
|
53
|
+
</div>
|
54
|
+
|
55
|
+
<div class="row">
|
56
|
+
<!-- tail -->
|
57
|
+
<div id="tail-wrapper" class="col-12 col-lg-11 col-xl-9 px-md-4">
|
58
|
+
{% if has_tail %}
|
59
|
+
{% for _include in layout.tail_includes %}
|
60
|
+
{% assign _include_path = _include | append: '.html' %}
|
61
|
+
{% include {{ _include_path }} lang=lang %}
|
62
|
+
{% endfor %}
|
63
|
+
{% endif %}
|
64
|
+
|
65
|
+
{% include_cached footer.html lang=lang %}
|
66
|
+
</div>
|
67
|
+
</div>
|
68
|
+
|
29
69
|
{% include_cached search-results.html lang=lang %}
|
30
70
|
</div>
|
31
|
-
</div>
|
32
71
|
|
33
|
-
|
72
|
+
<aside aria-label="Scroll to Top">
|
73
|
+
<button id="back-to-top" type="button" class="btn btn-lg btn-box-shadow">
|
74
|
+
<i class="fas fa-angle-up"></i>
|
75
|
+
</button>
|
76
|
+
</aside>
|
77
|
+
</div>
|
34
78
|
|
35
79
|
<div id="mask"></div>
|
36
80
|
|
37
|
-
<button id="back-to-top" aria-label="back-to-top" class="btn btn-lg btn-box-shadow">
|
38
|
-
<i class="fas fa-angle-up"></i>
|
39
|
-
</button>
|
40
|
-
|
41
81
|
{% if site.pwa.enabled %}
|
42
|
-
|
43
|
-
id="notification"
|
44
|
-
class="toast"
|
45
|
-
role="alert"
|
46
|
-
aria-live="assertive"
|
47
|
-
aria-atomic="true"
|
48
|
-
data-bs-animation="true"
|
49
|
-
data-bs-autohide="false"
|
50
|
-
>
|
51
|
-
<div class="toast-header">
|
52
|
-
<button
|
53
|
-
type="button"
|
54
|
-
class="btn-close ms-auto"
|
55
|
-
data-bs-dismiss="toast"
|
56
|
-
aria-label="Close"
|
57
|
-
></button>
|
58
|
-
</div>
|
59
|
-
<div class="toast-body text-center pt-0">
|
60
|
-
<p class="px-2 mb-3">{{ site.data.locales[lang].notification.update_found }}</p>
|
61
|
-
<button type="button" class="btn btn-primary" aria-label="Update">
|
62
|
-
{{ site.data.locales[lang].notification.update }}
|
63
|
-
</button>
|
64
|
-
</div>
|
65
|
-
</div>
|
82
|
+
{% include_cached notification.html lang=lang %}
|
66
83
|
{% endif %}
|
67
84
|
|
85
|
+
<!-- JavaScripts -->
|
86
|
+
|
68
87
|
{% include js-selector.html %}
|
69
88
|
|
70
89
|
{% if page.mermaid %}
|
data/_layouts/home.html
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
---
|
2
|
-
layout:
|
3
|
-
refactor: true
|
2
|
+
layout: default
|
4
3
|
---
|
5
4
|
|
6
5
|
{% include lang.html %}
|
@@ -40,10 +39,10 @@ refactor: true
|
|
40
39
|
{% endfor %}
|
41
40
|
{% endif %}
|
42
41
|
|
43
|
-
|
42
|
+
{% capture content %}
|
44
43
|
{% for post in posts %}
|
45
|
-
<
|
46
|
-
<
|
44
|
+
<article class="card-wrapper">
|
45
|
+
<a href="{{ post.url | relative_url }}" class="card post-preview flex-md-row-reverse">
|
47
46
|
{% if post.image %}
|
48
47
|
{% if post.image.lqip %}
|
49
48
|
{% capture lqip %}lqip="{{ post.image.lqip }}"{% endcapture %}
|
@@ -60,11 +59,9 @@ refactor: true
|
|
60
59
|
{% endif %}
|
61
60
|
|
62
61
|
<div class="card-body d-flex flex-column">
|
63
|
-
<h1 class="card-title my-2 mt-md-0">
|
64
|
-
{{ post.title }}
|
65
|
-
</h1>
|
62
|
+
<h1 class="card-title my-2 mt-md-0">{{ post.title }}</h1>
|
66
63
|
|
67
|
-
<div class="card-text
|
64
|
+
<div class="card-text content mt-0 mb-2">
|
68
65
|
<p>
|
69
66
|
{% include no-linenos.html content=post.content %}
|
70
67
|
{{ content | markdownify | strip_html | truncate: 200 | escape }}
|
@@ -99,9 +96,13 @@ refactor: true
|
|
99
96
|
<!-- .post-meta -->
|
100
97
|
</div>
|
101
98
|
<!-- .card-body -->
|
102
|
-
</
|
103
|
-
</
|
99
|
+
</a>
|
100
|
+
</article>
|
104
101
|
{% endfor %}
|
102
|
+
{% endcapture %}
|
103
|
+
|
104
|
+
<div id="post-list" class="flex-grow-1 pe-xl-2">
|
105
|
+
{% include refactor-content.html content=content lang=lang %}
|
105
106
|
</div>
|
106
107
|
<!-- #post-list -->
|
107
108
|
|