jekyll-theme-satellite 1.1.0 → 1.2.4

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 (43) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +24 -11
  3. data/_includes/footer.html +2 -3
  4. data/_includes/head.html +37 -8
  5. data/_includes/navigation.html +45 -30
  6. data/_includes/pagination.html +1 -1
  7. data/_includes/post.html +4 -4
  8. data/_includes/search_event.html +1 -175
  9. data/_includes/sidebar.html +6 -10
  10. data/_layouts/page.html +5 -6
  11. data/_sass/darkmode.scss +115 -122
  12. data/_sass/layout.scss +40 -40
  13. data/_sass/navigation.scss +133 -138
  14. data/_sass/pagination.scss +198 -211
  15. data/_sass/post.scss +553 -552
  16. data/_sass/search.scss +185 -204
  17. data/_sass/sidebar.scss +253 -254
  18. data/_sass/toc.scss +41 -41
  19. data/assets/css/404.scss +35 -35
  20. data/assets/css/highlight.min.css +2 -0
  21. data/assets/css/style.scss +22 -44
  22. data/assets/fonts/Lato-Regular.woff2 +0 -0
  23. data/assets/fonts/NunitoSans-Regular.woff2 +0 -0
  24. data/assets/fonts/Righteous-Regular.woff2 +0 -0
  25. data/assets/img/favicon.webp +0 -0
  26. data/assets/img/icon/house.webp +0 -0
  27. data/assets/img/loading.webp +0 -0
  28. data/assets/img/profile.webp +0 -0
  29. data/assets/js/background.js +1 -700
  30. data/assets/js/common.js +194 -21
  31. data/assets/js/post.js +171 -126
  32. data/assets/js/subject.js +1 -1
  33. metadata +58 -14
  34. data/assets/css/fonts.scss +0 -29
  35. data/assets/css/highlight-dark.min.css +0 -1
  36. data/assets/css/highlight-default.min.css +0 -1
  37. data/assets/fonts/Lato-Regular.ttf +0 -0
  38. data/assets/fonts/NunitoSans-Regular.ttf +0 -0
  39. data/assets/fonts/Righteous-Regular.ttf +0 -0
  40. data/assets/img/profile.jpg +0 -0
  41. data/assets/js/search.js +0 -168
  42. data/assets/js/sweet-scroll.min.js +0 -2
  43. data/assets/js/tocbot.min.js +0 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f61521ac4ceb6e2957520d1c92d27f2c1c34d42d585a34e202f422496416d5b9
4
- data.tar.gz: c1456cb304615bcf4aae2c4d67628faddb16a126923c816cf3b66f13773aba13
3
+ metadata.gz: ed3af2bd8fdbb4d034ce1a6197b31bb7fd849025bb9d67851817337484526e14
4
+ data.tar.gz: db045ddb62c8dcafb88def655fc99e0493e7f180f26bec2d1dc2e77e2d1ef382
5
5
  SHA512:
6
- metadata.gz: 6798782d1a8b76ffd229e6cb33cd8bebf688004d042c46149e9ac32ba4e1c26c0cf143639a4b55d700a870e00134e8feaf0afa346bddf96bde1bac8a62681152
7
- data.tar.gz: 635fd4e98d98b4f7ec34aab3f0d22f1dc21ee9f5f3a98209ced7d09c18177e03b5b73c5891833280d368695f45a140d97d0474b58469c06cb7f0ae46db35fa63
6
+ metadata.gz: f04d0d13a909e8d31a4b41d64706f0d517252b7d1ca6aa9e4a7ea44a9e54357d6681e767c0b64872211d6d6809f39c7e71871418f998513b446a9306997c6d08
7
+ data.tar.gz: 2eaf0439be549aa6518b901fc765a61a7c775dc9b52e1cbe00d9a95e11e755a6db1eff31c55436c33c89ce7d2f21ca3de8558ea6c05d8dfb43b34322fc7d2760
data/README.md CHANGED
@@ -4,7 +4,9 @@
4
4
  [![Jekyll](https://img.shields.io/badge/gem%20version-3.2.33-blue.svg)](gem)
5
5
 
6
6
  # Satellite🛰️ - Jekyll blog theme
7
- An emotional and adorable blog theme powered by ***Jekyll***. Live demo is available here: [https://byanko55.github.io](https://byanko55.github.io)
7
+ An emotional and adorable blog theme powered by ***Jekyll***.
8
+
9
+ Live demo is available [here](https://byanko55.github.io)
8
10
 
9
11
  ![Demo Page](https://i.ibb.co/h1QF06V/demo.webp)
10
12
 
@@ -20,6 +22,8 @@ An emotional and adorable blog theme powered by ***Jekyll***. Live demo is avail
20
22
  <img src="https://i.ibb.co/WvyBzkL/Animation.gif" height="400px" align="center"/>
21
23
  </p>
22
24
 
25
+ <br></br>
26
+
23
27
  ## Features
24
28
 
25
29
  * Comment System using *giscus*
@@ -35,23 +39,27 @@ An emotional and adorable blog theme powered by ***Jekyll***. Live demo is avail
35
39
  * Table of Contents
36
40
  * Visitor Counter (*goatcounter*)
37
41
 
42
+ <br></br>
43
+
38
44
  ## Installation
39
45
 
40
- There are two way to setup this theme:
46
+ There are two ways to setup this theme:
47
+ <br></br>
41
48
 
42
49
  ### Method 1: Build from source (Recommended)
43
- Fork this repository or download the [source](https://github.com/byanko55/jekyll-theme-satellite/releases) as a zip.
44
-
45
- If you use as destination a repository named USERNAME.github.io then your url will be https://USERNAME.github.io/.
50
+ Fork [this repository](https://github.com/byanko55/jekyll-theme-satellite) or download the [source](https://github.com/byanko55/jekyll-theme-satellite/releases) as a zip.
46
51
 
52
+ If you use as destination a repository named USERNAME.github.io, then your url will be https://USERNAME.github.io/.
53
+ <br></br>
47
54
 
48
55
  ### Method 2: Utilize Gem package
49
- Create a clean site directory (Follow the **Instruction 1~4** described in [here](https://jekyllrb.com/docs/)).
56
+ Create a clean site directory (Follow the **Instruction 1~4** described [here](https://jekyllrb.com/docs/)).
50
57
 
51
58
  The following materials are redundant, so remove them.
52
59
  * index.markdown
53
60
  * about.markdown
54
61
  * 404.html
62
+ <br></br>
55
63
 
56
64
  Then, add this line to your Jekyll site's `Gemfile`:
57
65
 
@@ -59,7 +67,8 @@ Then, add this line to your Jekyll site's `Gemfile`:
59
67
  gem "jekyll-theme-satellite"
60
68
  ```
61
69
 
62
- You need to replace the initial `_config.yml` file with the [prepared one](https://github.com/byanko55/jekyll-theme-satellite/docs/_config.yml).
70
+ You need to replace the initial `_config.yml` file with the [prepared one](https://github.com/byanko55/jekyll-theme-satellite/blob/master/docs/_config.yml).
71
+ <br></br>
63
72
 
64
73
  ### Modify your site setting
65
74
 
@@ -79,6 +88,7 @@ instagram_username: instagram
79
88
  linkedin_username: linkedin
80
89
  facebook_username: facebook
81
90
  ```
91
+ <br></br>
82
92
 
83
93
  ### Run site locally
84
94
 
@@ -87,6 +97,7 @@ From the site root directory, install the dependencies:
87
97
  ```
88
98
  bundle install
89
99
  ```
100
+ <br></br>
90
101
 
91
102
  Start a Jekyll service.
92
103
 
@@ -95,6 +106,7 @@ bundle exec jekyll serve
95
106
  ```
96
107
 
97
108
  Now open [http://localhost:4000](http://localhost:4000) in your browser.
109
+ <br></br>
98
110
 
99
111
  ## Customizing
100
112
 
@@ -102,12 +114,13 @@ You can find useful manuals for customizing your site from the below table:
102
114
 
103
115
  |||
104
116
  |---|---|
105
- |Posting guidelines|[link](https://github.com/byanko55/jekyll-theme-satellite/docs/Posting%20guide.md)|
106
- |Enabling ***comment system***|[link](https://github.com/byanko55/jekyll-theme-satellite/docs/Comment%20system.md)|
107
- |Enabling ***Visitor counter***|[link](https://github.com/byanko55/jekyll-theme-satellite/docs/Visitor%20counter.md)|
117
+ |Posting guidelines|[link](https://github.com/byanko55/jekyll-theme-satellite/blob/master/docs/Posting%20Guide.md)|
118
+ |Enabling ***comment system***|[link](https://github.com/byanko55/jekyll-theme-satellite/blob/master/docs/Comment%20System.md)|
119
+ |Enabling ***Visitor counter***|[link](https://github.com/byanko55/jekyll-theme-satellite/blob/master/docs/Visitor%20Counter.md)|
108
120
 
109
121
  ## Contribution
110
- If you would like to report a bug, or request a new feature, please open [an issue](https://github.com/byanko55/jekyll-theme-satellite/docs/Contribution%20Guidelines.md) We are open to any kind of feedback or collaboration.
122
+ If you would like to report a bug or request a new feature, please open [an issue](https://github.com/byanko55/jekyll-theme-satellite/issues) We are open to any kind of feedback or collaboration.
123
+ <br></br>
111
124
 
112
125
  ## License
113
126
  © 2024 *Yankos*. This theme is available as open source under the terms of the [MIT License](https://opensource.org/license/mit/).
@@ -1,6 +1,5 @@
1
- <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
2
- <script src="{{ '/assets/js/background.js' }}"></script>
3
- <script async src="https://www.googletagmanager.com/gtag/js?id={{ site.google_analytics }}"></script>
1
+ <script defer src="{{ '/assets/js/background.js' }}"></script>
2
+ <script defer src="https://www.googletagmanager.com/gtag/js?id={{ site.google_analytics }}"></script>
4
3
  <script>
5
4
  window.dataLayer = window.dataLayer || [];
6
5
  function gtag(){ dataLayer.push(arguments); }
data/_includes/head.html CHANGED
@@ -1,11 +1,46 @@
1
1
  <meta charset="utf-8">
2
2
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
3
3
  <meta name="viewport" content="width=device-width, initial-scale=1">
4
+ <title>
5
+ {% if page.url == "/index.html" %}
6
+ Home
7
+ {% elsif page_type == "category" %}
8
+ {{ category_title }}
9
+ {% else %}
10
+ {{ page.title }}
11
+ {% endif %}
12
+ </title>
4
13
  {% seo %}
5
14
 
6
15
  <link rel="shortcut icon" type="image/png" href="{{ site.logo_img }}">
7
- <link rel="preload" href="{{ '/assets/css/fonts.css' }}" as="style" onload="this.onload=null; this.rel='stylesheet'">
8
- <link rel="stylesheet" href="{{ '/assets/css/fonts.css' }}">
16
+ <style>
17
+ @font-face {
18
+ font-family: 'Nunito Sans';
19
+ font-style: normal;
20
+ font-weight: 400;
21
+ font-display: optional;
22
+ src: local('Nunito Sans'),
23
+ url(/assets/fonts/NunitoSans-Regular.woff2) format("woff2");
24
+ }
25
+
26
+ @font-face {
27
+ font-family: 'Righteous';
28
+ font-style: normal;
29
+ font-weight: 600;
30
+ font-display: optional;
31
+ src: local('Righteous'),
32
+ url(/assets/fonts/Righteous-Regular.woff2) format("woff2");
33
+ }
34
+
35
+ @font-face {
36
+ font-family: 'Lato';
37
+ font-style: normal;
38
+ font-weight: 400;
39
+ font-display: optional;
40
+ src: local('Lato'),
41
+ url(/assets/fonts/Lato-Regular.woff2) format("woff2");
42
+ }
43
+ </style>
9
44
 
10
45
  <script src="{{ '/assets/js/fontfaceobserver.js' }}" type="text/javascript"></script>
11
46
  <script type="text/javascript">
@@ -22,12 +57,6 @@
22
57
  });
23
58
  </script>
24
59
 
25
- <title>
26
- {% if page.title %}{{ page.title }}
27
- {% else %}{{ site.title }}
28
- {% endif %}
29
- </title>
30
-
31
60
  <meta
32
61
  name="description"
33
62
  content="{% if page.description %}{{ page.description | strip_html | strip_newlines | truncate: 160 }}{% else %}{{ site.description }}{% endif %}">
@@ -1,41 +1,55 @@
1
1
  <nav id="navigation">
2
- {%- assign nav_pages = site.pages
3
- | where_exp: "item", "item.title != nil"
4
- | where_exp: "item", "item.bookmark == true"
5
- | sort: 'title' -%}
6
-
7
2
  {% assign first_level_pages = "" | split, "" %}
8
3
  {% assign second_level_pages = "" | split, "" %}
9
4
  {% assign third_level_pages = "" | split, "" %}
10
5
 
11
- {% for p in nav_pages %}
6
+ {% for p in site.pages %}
12
7
  {%- assign p_tree = p.url | remove_first: "/" | split: "/" -%}
8
+ {%- assign p_name = p_tree | last -%}
13
9
  {%- assign p_level = p_tree | size -%}
14
10
 
15
- {% if p_level <= 2 and p.bookmark %}
16
- {% assign first_level_pages = first_level_pages | push:p %}
17
- {% elsif (p_level == 3 and p.bookmark) or (p_level == 2 and p.bookmark == nil) %}
18
- {% assign second_level_pages = second_level_pages | push:p %}
19
- {% elsif (p_level == 4 and p.bookmark) or (p_level == 3 and p.bookmark == nil) %}
20
- {% assign third_level_pages = third_level_pages | push:p %}
11
+ {% if p.bookmark == nil and p_name != 'index.html' %}
12
+ {% continue %}
13
+ {% endif %}
14
+
15
+ {% if p.bookmark %}
16
+ {% if p_level == 1 %}
17
+ {% assign first_level_pages = first_level_pages | push:p %}
18
+ {% elsif p_level == 2 %}
19
+ {% assign second_level_pages = second_level_pages | push:p %}
20
+ {% elsif p_level == 3 %}
21
+ {% assign third_level_pages = third_level_pages | push:p %}
22
+ {% endif %}
23
+ {% else %}
24
+ {% if p_level <= 2 %}
25
+ {% assign first_level_pages = first_level_pages | push:p %}
26
+ {% elsif p_level == 3 %}
27
+ {% assign second_level_pages = second_level_pages | push:p %}
28
+ {% elsif p_level == 4 %}
29
+ {% assign third_level_pages = third_level_pages | push:p %}
30
+ {% endif %}
21
31
  {% endif %}
22
32
  {% endfor %}
23
33
 
34
+ {% assign first_level_pages = first_level_pages | sort: 'url' %}
35
+ {% assign second_level_pages = second_level_pages | sort: 'url' %}
36
+ {% assign third_level_pages = third_level_pages | sort: 'url' %}
37
+
24
38
  <ul class="nav-list">
25
39
  {%- for node in first_level_pages -%}
26
40
  {%- assign node_url = node.url | remove: 'index.html' -%}
41
+ {%- assign node_title = node.path | remove: 'index.md' | split: "/" | last | remove: '.md' | replace: "_pages", "Home" -%}
27
42
  {%- assign children_list = second_level_pages
28
- | where_exp: "item", "item.url contains node_url"
29
- | sort: 'title' -%}
43
+ | where_exp: "item", "item.url contains node_url" -%}
30
44
  {%- assign num_children = children_list | size -%}
31
- <li id="nav-first" aria-label="{{ node.title }}">
45
+ <li id="nav-first" aria-label="{{ node_title }}">
32
46
  <div class="nav-item">
33
47
  <a href="{{ node_url }}" class="nav-list-link nav-lh">
34
48
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M181.3 32.4c17.4 2.9 29.2 19.4 26.3 36.8L197.8 128h95.1l11.5-69.3c2.9-17.4 19.4-29.2 36.8-26.3s29.2 19.4 26.3 36.8L357.8 128H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H347.1L325.8 320H384c17.7 0 32 14.3 32 32s-14.3 32-32 32H315.1l-11.5 69.3c-2.9 17.4-19.4 29.2-36.8 26.3s-29.2-19.4-26.3-36.8l9.8-58.7H155.1l-11.5 69.3c-2.9 17.4-19.4 29.2-36.8 26.3s-29.2-19.4-26.3-36.8L90.2 384H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h68.9l21.3-128H64c-17.7 0-32-14.3-32-32s14.3-32 32-32h68.9l11.5-69.3c2.9-17.4 19.4-29.2 36.8-26.3zM187.1 192L165.8 320h95.1l21.3-128H187.1z"/></svg>
35
- <span>{{ node.title }}</span>
49
+ <span>{{ node_title }}</span>
36
50
  </a>
37
51
  {%- if num_children > 0 and node_url != "/" -%}
38
- <button class="nav-list-expander" aria-label="toggle items in {{ node.title }} category" aria-pressed="false">
52
+ <button class="nav-list-expander" aria-label="toggle items in {{ node_title }} category" aria-pressed="false">
39
53
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M201.4 342.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 274.7 86.6 137.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z"/></svg>
40
54
  </button>
41
55
  {%- endif -%}
@@ -44,18 +58,18 @@
44
58
  <ul class="nav-list">
45
59
  {%- for child in children_list -%}
46
60
  {%- assign child_url = child.url | remove: 'index.html' -%}
61
+ {%- assign child_title = child.path | remove: 'index.md' | split: "/" | last | remove: '.md' -%}
47
62
  {%- assign grand_children_list = third_level_pages
48
- | where_exp: "item", "item.url contains child_url"
49
- | sort: 'title' -%}
63
+ | where_exp: "item", "item.url contains child_url" -%}
50
64
  {%- assign num_grand_children = grand_children_list | size -%}
51
- <li id="nav-second" aria-label="{{ child.title }}">
65
+ <li id="nav-second" aria-label="{{ child_title }}">
52
66
  <div class="nav-item">
53
67
  <a href="{{ child_url }}" class="nav-list-link nav-sh">
54
68
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M432 256c0 17.7-14.3 32-32 32L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l352 0c17.7 0 32 14.3 32 32z"/></svg>
55
- <span>{{ child.title }}</span>
69
+ <span>{{ child_title }}</span>
56
70
  </a>
57
71
  {%- if num_grand_children > 0 -%}
58
- <button class="nav-list-expander" aria-label="toggle items in {{ child.title }} category" aria-pressed="false">
72
+ <button class="nav-list-expander" aria-label="toggle items in {{ child_title }} category" aria-pressed="false">
59
73
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M201.4 342.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 274.7 86.6 137.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z"/></svg>
60
74
  </button>
61
75
  {%- endif -%}
@@ -63,14 +77,15 @@
63
77
  {%- if num_grand_children > 0 -%}
64
78
  <ul class="nav-list">
65
79
  {%- for grand_child in grand_children_list -%}
66
- <li id="nav-third" aria-label="{{ grand_child.title }}">
67
- <div class="nav-item">
68
- <a href="{{ grand_child.url | relative_url }}" class="nav-list-link nav-sh">
69
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M432 256c0 17.7-14.3 32-32 32L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l352 0c17.7 0 32 14.3 32 32z"/></svg>
70
- <span>{{ grand_child.title }}</span>
71
- </a>
72
- </div>
73
- </li>
80
+ {%- assign grand_child_title = grand_child.path | remove: 'index.md' | split: "/" | last | remove: '.md' -%}
81
+ <li id="nav-third" aria-label="{{ grand_child_title }}">
82
+ <div class="nav-item">
83
+ <a href="{{ grand_child.url | relative_url }}" class="nav-list-link nav-sh">
84
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M432 256c0 17.7-14.3 32-32 32L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l352 0c17.7 0 32 14.3 32 32z"/></svg>
85
+ <span>{{ grand_child_title }}</span>
86
+ </a>
87
+ </div>
88
+ </li>
74
89
  {%- endfor -%}
75
90
  </ul>
76
91
  {%- endif -%}
@@ -5,7 +5,7 @@
5
5
  {% if page_level == 1 %}
6
6
  All Posts
7
7
  {% else %}
8
- {{ page.title }}
8
+ {{ category_title }}
9
9
  {% endif %}
10
10
  </h1>
11
11
  <div id="category-list">
data/_includes/post.html CHANGED
@@ -33,7 +33,7 @@
33
33
  <span id="page-hits" usercode="{{ site.goatcounter_code }}">-</span>
34
34
  </span>
35
35
  {% endif %}
36
- <a class="info-box" href="#giscus" data-scroll>
36
+ <a class="info-box" id="comments-counter">
37
37
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M512 240c0 114.9-114.6 208-256 208c-37.1 0-72.3-6.4-104.1-17.9c-11.9 8.7-31.3 20.6-54.3 30.6C73.6 471.1 44.7 480 16 480c-6.5 0-12.3-3.9-14.8-9.9c-2.5-6-1.1-12.8 3.4-17.4l0 0 0 0 0 0 0 0 .3-.3c.3-.3 .7-.7 1.3-1.4c1.1-1.2 2.8-3.1 4.9-5.7c4.1-5 9.6-12.4 15.2-21.6c10-16.6 19.5-38.4 21.4-62.9C17.7 326.8 0 285.1 0 240C0 125.1 114.6 32 256 32s256 93.1 256 208z"/></svg>
38
38
  <span id="num-comments">-</span>
39
39
  </a>
@@ -41,9 +41,9 @@
41
41
  </div>
42
42
  </div>
43
43
  </div>
44
- <div class="tags">
44
+ <div class="tag-box">
45
45
  {%- for page_tag in page.tags -%}
46
- <span class="tag-box theme-{{ forloop.index0 | modulo: 3 }}" contentID="{{ page_tag }}">
46
+ <span class="tag theme-{{ forloop.index0 | modulo: 3 }}" contentID="{{ page_tag }}">
47
47
  {{ page_tag }}
48
48
  </span>
49
49
  {%- endfor -%}
@@ -61,5 +61,5 @@
61
61
  </div>
62
62
  </main>
63
63
  <div class="top-arrow">
64
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512" href="#" data-scroll><path d="M214.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 141.2V448c0 17.7 14.3 32 32 32s32-14.3 32-32V141.2L329.4 246.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160z"/></svg>
64
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path d="M214.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 141.2V448c0 17.7 14.3 32 32 32s32-14.3 32-32V141.2L329.4 246.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160z"/></svg>
65
65
  </div>
@@ -1,8 +1,7 @@
1
1
  {%- assign page_list = site.pages
2
2
  | where_exp: "item", "item.title != nil"
3
3
  -%}
4
- <script src="{{ '/assets/js/search.js' }}" type="text/javascript"></script>
5
- <script>
4
+ <script defer>
6
5
  var posts = [];
7
6
 
8
7
  {% for page in page_list %}
@@ -41,177 +40,4 @@
41
40
  {% if page_type == "post" %}
42
41
  searchRelated(posts);
43
42
  {% endif %}
44
-
45
- /*
46
- $('#search-input').on('keyup', function () {
47
- var keyword = this.value.toLowerCase();
48
- var searchResult = [];
49
-
50
- if (keyword.length > 0) {
51
- $('#search-result').show();
52
- $('#btn-clear').show();
53
- } else {
54
- $('#search-result').hide();
55
- $('#btn-clear').hide();
56
- }
57
-
58
- $('.result-item').remove();
59
-
60
- for (var i = 0; i < posts.length; i++) {
61
- var post = posts[i];
62
-
63
- if (post.title === 'Home' && post.type == 'category') continue;
64
-
65
- if (post.title.toLowerCase().indexOf(keyword) >= 0
66
- || post.path.toLowerCase().indexOf(keyword) >= 0
67
- || post.tags.toLowerCase().indexOf(keyword) >= 0){
68
- searchResult.push(post);
69
- }
70
- }
71
-
72
- if (searchResult.length === 0) {
73
- $('#search-result').append(
74
- '<li class="result-item"><span class="description">There is no search result.</span></li>'
75
- );
76
-
77
- return;
78
- }
79
-
80
- searchResult.sort(function (a, b) {
81
- if (a.type == 'category') return 1;
82
-
83
- return -1;
84
- });
85
-
86
- for (var i = 0; i < searchResult.length; i++) {
87
- var highlighted_path = highlightKeyword(searchResult[i].path, keyword);
88
-
89
- if (highlighted_path === '')
90
- highlighted_path = "Home";
91
-
92
- if (searchResult[i].type === 'post'){
93
- var highlighted_title = highlightKeyword(searchResult[i].title, keyword);
94
- var highlighted_tags = highlightKeyword(searchResult[i].tags, keyword);
95
-
96
- if (highlighted_tags === '')
97
- highlighted_tags = "none";
98
-
99
- $('#search-result').append(
100
- '<li class="result-item"><a href="' +
101
- searchResult[i].url +
102
- '"><table><thead><tr><th><svg class="ico-book"></svg></th><th>' + highlighted_title +
103
- '</th></tr></thead><tbody><tr><td><svg class="ico-folder"></svg></td><td>' + highlighted_path +
104
- '</td></tr><tr><td><svg class="ico-tags"></svg></td><td>' + highlighted_tags +
105
- '</td></tr><tr><td><svg class="ico-calendar"></svg></td><td>' + searchResult[i].date +
106
- '</td></tr></tbody></table></a></li>'
107
- );
108
- }
109
- else {
110
- $('#search-result').append(
111
- '<li class="result-item"><a href="' +
112
- searchResult[i].url +
113
- '"><table><thead><tr><th><svg class="ico-folder"></svg></th><th>' + highlighted_path +
114
- '</th></tr></thead></table></a></li>'
115
- );
116
- }
117
- }
118
- });
119
-
120
- function highlightKeyword(txt, keyword) {
121
- var index = txt.toLowerCase().lastIndexOf(keyword);
122
-
123
- if (index >= 0) {
124
- out = txt.substring(0, index) +
125
- "<span class='highlight'>" +
126
- txt.substring(index, index+keyword.length) +
127
- "</span>" +
128
- txt.substring(index + keyword.length);
129
- return out;
130
- }
131
-
132
- return txt;
133
- }
134
-
135
- {% if page_type == "post" %}
136
- displayRelatedPosts(posts);
137
- {% endif %}
138
-
139
- function displayRelatedPosts(pages){
140
- const refBox = document.getElementById('related-box');
141
-
142
- if (!refBox) return;
143
-
144
- var relatedPosts = [];
145
- var currPost = pages.find(obj => {return obj.url === location.pathname});
146
-
147
- let currTags = currPost.tags.split(', ');
148
- let currCategory = currPost.path.split(' > ').pop();
149
-
150
- for (var i = 0; i < pages.length; i++) {
151
- let page = pages[i];
152
-
153
- if (page.type === 'category') continue;
154
-
155
- if (page.title === currPost.title) continue;
156
-
157
- let tags = page.tags.split(', ');
158
- let category = page.path.split(' > ').pop();
159
- let correlationScore = 0;
160
-
161
- for (var j = 0; j < currTags.length; j++){
162
- if (tags.indexOf(currTags[j]) != -1) correlationScore += 1;
163
- }
164
-
165
- if (category === currCategory) correlationScore += 1;
166
-
167
- if (correlationScore == 0) continue;
168
-
169
- relatedPosts.push({
170
- 'title': page.title,
171
- 'date': page.date,
172
- 'category': category,
173
- 'url': page.url,
174
- 'thumbnail': page.image,
175
- 'score': correlationScore
176
- });
177
- }
178
-
179
- relatedPosts.sort(function (a, b) {
180
- if(a.hasOwnProperty('score')){
181
- return b.score - a.score;
182
- }
183
- });
184
-
185
- if (relatedPosts.length == 0){
186
- $('#related-box').hide();
187
- return;
188
- }
189
-
190
- for (var i = 0; i < Math.min(relatedPosts.length, 6); i++){
191
- let post = relatedPosts[i];
192
- let date = '-';
193
- let category = 'No category';
194
-
195
- if (post.date !== '1900-01-01'){
196
- date = new Date(post.date);
197
- date = date.toLocaleString('en-US', {day: 'numeric', month:'long', year:'numeric'});
198
- }
199
-
200
- if (post.category !== '') category = post.category;
201
-
202
- if (post.thumbnail === ''){
203
- post.thumbnail = "/assets/img/thumbnail/empty.jpg";
204
- }
205
-
206
- $('#related-posts').append(
207
- '<li class="related-item"><a href="' + post.url +
208
- '"><img src="' + post.thumbnail +
209
- '"/><p class="category">' + category +
210
- '</p><p class="title">' + post.title +
211
- '</p><p class="date">' + date +
212
- '</p></a></li>'
213
- );
214
- }
215
- }
216
- */
217
43
  </script>
@@ -1,14 +1,10 @@
1
- {%- assign page_tree = page.path | remove_first: "_pages/" | split: "/" -%}
2
- {%- assign page_level = page_tree.size -%}
3
- {% if page_tree.last == "index.md" %}
4
- {%- assign page_type = "category" -%}
5
- {% else %}
6
- {%- assign page_type = "post" -%}
7
- {% endif %}
8
1
  <div class="sidebar sidebar-left">
9
2
  <div class="side-banner">
10
- <h1 class="site-name">
11
- <a href="/"><mark class="highlight">example.com</mark></a>
3
+ <h1 class="site-tab">
4
+ <a href="/" class="site-name">
5
+ <img src="{{ '/assets/img/icon/house.webp' }}" alt="">
6
+ <mark>example.com</mark>
7
+ </a>
12
8
  <button id="btn-brightness" aria-label="brightness-button">
13
9
  <svg class='ico-dark' xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path d="M223.5 32C100 32 0 132.3 0 256S100 480 223.5 480c60.6 0 115.5-24.2 155.8-63.4c5-4.9 6.3-12.5 3.1-18.7s-10.1-9.7-17-8.5c-9.8 1.7-19.8 2.6-30.1 2.6c-96.9 0-175.5-78.8-175.5-176c0-65.8 36-123.1 89.3-153.3c6.1-3.5 9.2-10.5 7.7-17.3s-7.3-11.9-14.3-12.5c-6.3-.5-12.6-.8-19-.8z"/></svg>
14
10
  <svg class='ico-light' xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM160 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z"/></svg>
@@ -21,7 +17,7 @@
21
17
  </button>
22
18
  </h1>
23
19
  <a href="/" class="site-avatar" aria-label="site-avatar">
24
- <img src="{{ '/assets/img/profile.jpg' }}" loading="lazy" alt="homepage" aria-label="homepage-button">
20
+ <img src="{{ site.profile_img }}" loading="lazy" alt="homepage" aria-label="homepage-button">
25
21
  </a>
26
22
  </div>
27
23
  <div class="side-info">
data/_layouts/page.html CHANGED
@@ -4,6 +4,7 @@
4
4
  {%- assign page_level = page_tree.size -%}
5
5
  {% if page_tree.last == "index.md" %}
6
6
  {%- assign page_type = "category" -%}
7
+ {%- assign category_title = page.path | remove: 'index.md' | split: "/" | last -%}
7
8
  {% else %}
8
9
  {%- assign page_type = "post" -%}
9
10
  {% endif %}
@@ -74,13 +75,11 @@
74
75
  {% if page_type == "category" %}
75
76
  <script src="{{ '/assets/js/subject.js' }}"></script>
76
77
  {% else %}
77
- <script src="{{ '/assets/js/tocbot.min.js' }}"></script>
78
- <script src="{{ '/assets/js/sweet-scroll.min.js' }}"></script>
79
- <script src="{{ '/assets/js/highlight.min.js' }}"></script>
80
- <link id="highlight-default" rel="stylesheet" href="{{ '/assets/css/highlight-default.min.css' }}">
81
- <link id="highlight-dark" rel="stylesheet" href="{{ '/assets/css/highlight-dark.min.css' }}">
82
78
  <script src="{{ '/assets/js/post.js' }}"></script>
79
+ <link rel="preload" href="{{ '/assets/css/highlight.min.css' }}" as="style" onload="this.onload=null;this.rel='stylesheet'">
80
+ <noscript><link rel="stylesheet" href="{{ '/assets/css/highlight.min.css' }}"></noscript>
81
+ <script defer src="{{ '/assets/js/highlight.min.js' }}"></script>
83
82
  {% endif %}
84
- {% include search_event.html %}
85
83
  <script src="{{ '/assets/js/common.js' }}"></script>
84
+ {% include search_event.html %}
86
85
  </html>