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.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +24 -23
  3. data/_data/locales/tr-TR.yml +4 -4
  4. data/_data/origin/cors.yml +11 -11
  5. data/_includes/comments/disqus.html +2 -1
  6. data/_includes/datetime.html +5 -4
  7. data/_includes/footer.html +30 -28
  8. data/_includes/head.html +1 -1
  9. data/_includes/notification.html +24 -0
  10. data/_includes/post-nav.html +9 -12
  11. data/_includes/post-paginator.html +77 -75
  12. data/_includes/post-sharing.html +6 -4
  13. data/_includes/related-posts.html +31 -39
  14. data/_includes/search-loader.html +10 -8
  15. data/_includes/search-results.html +1 -1
  16. data/_includes/sidebar.html +63 -60
  17. data/_includes/toc.html +3 -3
  18. data/_includes/topbar.html +17 -10
  19. data/_includes/trending-tags.html +3 -3
  20. data/_includes/update-list.html +4 -4
  21. data/_layouts/archives.html +18 -19
  22. data/_layouts/category.html +2 -2
  23. data/_layouts/default.html +51 -32
  24. data/_layouts/home.html +12 -11
  25. data/_layouts/page.html +21 -63
  26. data/_layouts/post.html +72 -70
  27. data/_layouts/tag.html +2 -2
  28. data/_sass/addon/commons.scss +118 -149
  29. data/_sass/addon/module.scss +12 -3
  30. data/_sass/addon/syntax.scss +51 -29
  31. data/_sass/addon/variables.scss +10 -5
  32. data/_sass/colors/syntax-dark.scss +138 -0
  33. data/_sass/colors/syntax-light.scss +179 -0
  34. data/_sass/colors/{dark-typography.scss → typography-dark.scss} +18 -19
  35. data/_sass/colors/{light-typography.scss → typography-light.scss} +17 -16
  36. data/_sass/layout/category-tag.scss +0 -5
  37. data/_sass/layout/home.scss +18 -35
  38. data/_sass/layout/post.scss +46 -51
  39. data/_sass/{jekyll-theme-chirpy.scss → main.scss} +2 -8
  40. data/assets/404.html +1 -3
  41. data/assets/css/{style.scss → jekyll-theme-chirpy.scss} +1 -1
  42. data/assets/js/data/swcache.js +32 -33
  43. data/assets/js/dist/categories.min.js +2 -4
  44. data/assets/js/dist/commons.min.js +2 -4
  45. data/assets/js/dist/home.min.js +2 -4
  46. data/assets/js/dist/misc.min.js +2 -4
  47. data/assets/js/dist/page.min.js +2 -4
  48. data/assets/js/dist/post.min.js +2 -4
  49. data/assets/js/pwa/sw.js +56 -57
  50. metadata +9 -11
  51. data/_data/authors.yml +0 -17
  52. data/_data/contact.yml +0 -28
  53. data/_data/share.yml +0 -25
  54. data/_sass/colors/dark-syntax.scss +0 -91
  55. 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 = site.posts[i] %}
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
- <!-- Fill with the other newlest posts -->
58
- {% assign less = TOTAL_SIZE | minus: index_list.size %}
59
-
60
- {% if less > 0 %}
61
- {% for i in (0..last_index) %}
62
- {% assign post = site.posts[i] %}
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 index_list.size > 0 %}
77
- <div id="related-posts" class="mb-2 mb-sm-4">
78
- <h3 class="pt-2 mb-4 ms-1" data-toc-skip>
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
- <div class="row row-cols-1 row-cols-md-2 row-cols-xl-3 g-4 mb-4">
82
- {% for entry in index_list %}
83
- {% assign index = entry | plus: 0 %}
84
- {% assign post = site.posts[index] %}
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" data-toc-skip>{{ post.title }}</h4>
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
- </div>
91
+ </article>
99
92
  {% endfor %}
100
- </div>
101
- <!-- .card-deck -->
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
- <div class="px-1 px-sm-2 px-lg-4 px-xl-0">
8
- <a href="{url}">{title}</a>
9
- <div class="post-meta d-flex flex-column flex-sm-row text-muted mt-1 mb-1">
10
- {categories}
11
- {tags}
12
- </div>
13
- <p>{snippet}</p>
14
- </div>
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 %}
@@ -1,7 +1,7 @@
1
1
  <!-- The Search results -->
2
2
 
3
3
  <div id="search-result-wrapper" class="d-flex justify-content-center unloaded">
4
- <div class="col-11 post-content">
4
+ <div class="col-11 content">
5
5
  <div id="search-hints">
6
6
  {% include_cached trending-tags.html %}
7
7
  </div>
@@ -1,7 +1,7 @@
1
1
  <!-- The Side Bar -->
2
2
 
3
- <div id="sidebar" class="d-flex flex-column align-items-end">
4
- <div class="profile-wrapper">
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
- <div class="site-title">
20
+ <h1 class="site-title">
21
21
  <a href="{{ '/' | relative_url }}">{{ site.title }}</a>
22
- </div>
23
- <div class="site-subtitle fst-italic">{{ site.tagline }}</div>
24
- </div>
22
+ </h1>
23
+ <p class="site-subtitle fst-italic mb-0">{{ site.tagline }}</p>
24
+ </header>
25
25
  <!-- .profile-wrapper -->
26
26
 
27
- <ul class="nav flex-column flex-grow-1 w-100 ps-0">
28
- <!-- home -->
29
- <li class="nav-item{% if page.layout == 'home' %}{{ " active" }}{% endif %}">
30
- <a href="{{ '/' | relative_url }}" class="nav-link">
31
- <i class="fa-fw fas fa-home"></i>
32
- <span>{{ site.data.locales[include.lang].tabs.home | upcase }}</span>
33
- </a>
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
- <!-- .nav-item -->
46
- {% endfor %}
47
- </ul>
48
- <!-- ul.nav.flex-column -->
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
- {% for entry in site.data.contact %}
62
- {% case entry.type %}
63
- {% when 'github', 'twitter' %}
64
- {%- capture url -%}
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
- {% when 'email' %}
68
- {% assign email = site.social.email | split: '@' %}
69
- {%- capture url -%}
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
- {% when 'rss' %}
73
- {% assign url = '/feed.xml' | relative_url %}
74
- {% else %}
75
- {% assign url = entry.url %}
76
- {% endcase %}
74
+ {% when 'rss' %}
75
+ {% assign url = '/feed.xml' | relative_url %}
76
+ {% else %}
77
+ {% assign url = entry.url %}
78
+ {% endcase %}
77
79
 
78
- {% if url %}
79
- <a
80
- href="{{ url }}"
81
- aria-label="{{ entry.type }}"
82
- {% assign link_types = '' %}
80
+ {% if url %}
81
+ <a
82
+ href="{{ url }}"
83
+ aria-label="{{ entry.type }}"
84
+ {% assign link_types = '' %}
83
85
 
84
- {% unless entry.noblank %}
85
- target="_blank"
86
- {% assign link_types = 'noopener noreferrer' %}
87
- {% endunless %}
86
+ {% unless entry.noblank %}
87
+ target="_blank"
88
+ {% assign link_types = 'noopener noreferrer' %}
89
+ {% endunless %}
88
90
 
89
- {% if entry.type == 'mastodon' %}
90
- {% assign link_types = link_types | append: ' me' | strip %}
91
- {% endif %}
91
+ {% if entry.type == 'mastodon' %}
92
+ {% assign link_types = link_types | append: ' me' | strip %}
93
+ {% endif %}
92
94
 
93
- {% unless link_types == empty %}
94
- rel="{{ link_types }}"
95
- {% endunless %}
96
- >
97
- <i class="{{ entry.icon }}"></i>
98
- </a>
99
- {% endif %}
100
- {% endfor %}
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
- </div>
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
- <div id="toc-wrapper" class="ps-0 pe-4 mb-5">
10
- <div class="panel-heading ps-3 pt-2 mb-2">{{- site.data.locales[include.lang].panel.toc -}}</div>
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
- </div>
12
+ </section>
13
13
  {% endif %}
@@ -1,11 +1,11 @@
1
1
  <!-- The Top Bar -->
2
2
 
3
- <div id="topbar-wrapper">
3
+ <header id="topbar-wrapper" aria-label="Top Bar">
4
4
  <div
5
5
  id="topbar"
6
- class="container d-flex align-items-center justify-content-between h-100"
6
+ class="d-flex align-items-center justify-content-between px-lg-3 h-100"
7
7
  >
8
- <span id="breadcrumb">
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
- </span>
40
+ </nav>
41
41
  <!-- endof #breadcrumb -->
42
42
 
43
- <i id="sidebar-trigger" class="fas fa-bars fa-fw"></i>
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
- <i id="search-trigger" class="fas fa-search fa-fw"></i>
57
- <span id="search-wrapper" class="align-items-center">
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
- </span>
68
- <span id="search-cancel">{{ site.data.locales[include.lang].search.cancel }}</span>
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
- </div>
77
+ </header>
@@ -34,13 +34,13 @@
34
34
  {% endfor %}
35
35
 
36
36
  {% if trending_tags.size > 0 %}
37
- <div id="access-tags">
38
- <div class="panel-heading">{{- site.data.locales[include.lang].panel.trending_tags -}}</div>
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
- </div>
45
+ </section>
46
46
  {% endif %}
@@ -22,9 +22,9 @@
22
22
  {% endfor %}
23
23
 
24
24
  {% if update_list.size > 0 %}
25
- <div id="access-lastmod" class="post">
26
- <div class="panel-heading">{{- site.data.locales[include.lang].panel.lastmod -}}</div>
27
- <ul class="post-content list-unstyled ps-0 pb-1 ms-1 mt-2">
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
- </div>
37
+ </section>
38
38
  <!-- #access-lastmod -->
39
39
  {% endif %}
@@ -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
- {% for post in site.posts %}
14
- {% capture cur_year %}{{ post.date | date: "%Y" }}{% endcapture %}
15
+ {% if cur_year != last_year %}
16
+ {% unless forloop.first %}</ul>{% endunless %}
15
17
 
16
- {% if cur_year != last_year %}
17
- {% unless forloop.first %}</ul>{% endunless %}
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
- <li>
24
- {% assign ts = post.date | date: '%s' %}
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
- {% if forloop.last %}</ul>{% endif %}
33
-
34
- {% endfor %}
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>
@@ -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="post-content ps-0">
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 wrap='span' class='text-muted small' lang=lang %}
20
+ {% include datetime.html date=post.date class='text-muted small text-nowrap' lang=lang %}
21
21
  </li>
22
22
  {% endfor %}
23
23
  </ul>
@@ -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 id="main" class="container px-xxl-5">
30
+ <div class="container px-xxl-5">
27
31
  {% include topbar.html lang=lang %}
28
- {{ content }}
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
- {% include_cached footer.html lang=lang %}
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
- <div
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: page
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
- <div id="post-list">
42
+ {% capture content %}
44
43
  {% for post in posts %}
45
- <a href="{{ post.url | relative_url }}" class="card-wrapper">
46
- <div class="card post-preview flex-md-row-reverse">
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 post-content mt-0 mb-2">
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
- </div>
103
- </a>
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