hexo-theme-particlex 2.2.2 → 2.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.
package/README.md CHANGED
@@ -263,7 +263,7 @@ highlightStyle: github # Highlight style
263
263
 
264
264
  Waline 是一个简单、安全的评论系统
265
265
 
266
- 详见:[在 ParticleX 上使用 Waline | Yuzi's Blog](https://blog.yuzi0201.top/posts/bcb4ff00.html)
266
+ 详见:[在 ParticleX 上使用 Waline | Yuzi's Blog](https://blog.yuzi.dev/posts/bcb4ff00.html)
267
267
 
268
268
  **注意如果不需要 `locale` 参数,请在 `locale:` 后添加一个 `{}`**
269
269
 
package/layout/card.ejs CHANGED
@@ -1,7 +1,7 @@
1
1
  <div id="card-div">
2
2
  <div class="card-style" style="width: 300px">
3
3
  <div class="avatar">
4
- <img src="<%- theme.avatar %>" alt="avatar">
4
+ <img src="<%- url_for(theme.avatar) %>" alt="avatar">
5
5
  </div>
6
6
  <div class="name">
7
7
  <%= config.author %>
@@ -13,7 +13,7 @@
13
13
  <div class="icon-links">
14
14
  <% Object.keys(theme.card.iconLinks).forEach(key => { %>
15
15
  <span class="icon-link">
16
- <a href="<%- theme.card.iconLinks[key].link %>">
16
+ <a href="<%- url_for(theme.card.iconLinks[key].link) %>">
17
17
  <i class="fa-<%- theme.card.iconLinks[key].theme %> fa-<%- theme.card.iconLinks[key].name %> fa-fw"></i>
18
18
  </a>
19
19
  </span>
@@ -23,11 +23,11 @@
23
23
  <% if (Object.keys(theme.card.friendLinks).length) { %>
24
24
  <div class="friend-links">
25
25
  <% Object.keys(theme.card.friendLinks).forEach(key => { %>
26
- <span class="friend-link">
27
- <a href="<%- theme.card.friendLinks[key] %>">
26
+ <div class="friend-link">
27
+ <a href="<%- url_for(theme.card.friendLinks[key]) %>">
28
28
  <%= key %>
29
29
  </a>
30
- </span>
30
+ </div>
31
31
  <% }); %>
32
32
  </div>
33
33
  <% } %>
@@ -1,10 +1,8 @@
1
1
  <div class="page-current">
2
2
  <div class="prev">
3
3
  <% if (page.current != 1) { %>
4
- <a href="<%- url_for(page.prev_link) %>">
5
- <span class="page-num">
6
- <i class="fa-solid fa-caret-left fa-fw"></i>
7
- </span>
4
+ <a class="page-num" href="<%- url_for(page.prev_link) %>">
5
+ <i class="fa-solid fa-caret-left fa-fw"></i>
8
6
  </a>
9
7
  <% } %>
10
8
  </div>
@@ -12,27 +10,21 @@
12
10
  <% if (page.current != 1) { %>
13
11
  <span>
14
12
  <% if (page.current - 3 >= 1) { %>
15
- <a href="<%- config.root %>"><span class="page-num">1</span></a>
13
+ <a class="page-num" href="<%- config.root %>">1</a>
16
14
  <span class="page-omit">...</span>
17
15
  <% } %>
18
16
  <% if (page.current - 2 >= 1) { %>
19
17
  <% if (page.current - 2 == 1) { %>
20
- <a href="<%- config.root %>">
21
- <span class="page-num">1</span>
22
- </a>
18
+ <a class="page-num" href="<%- config.root %>">1</a>
23
19
  <% } %>
24
20
  <% if (page.current - 2 != 1) { %>
25
- <a href="<%- url_for("page/" + (page.current - 2)) %>">
26
- <span class="page-num">
27
- <%= page.current - 2 %>
28
- </span>
21
+ <a class="page-num" href="<%- url_for("page/" + (page.current - 2)) %>">
22
+ <%= page.current - 2 %>
29
23
  </a>
30
24
  <% } %>
31
25
  <% } %>
32
- <a href="<%- url_for(page.prev_link) %>">
33
- <span class="page-num">
34
- <%= page.prev %>
35
- </span>
26
+ <a class="page-num" href="<%- url_for(page.prev_link) %>">
27
+ <%= page.prev %>
36
28
  </a>
37
29
  </span>
38
30
  <% } %>
@@ -41,24 +33,18 @@
41
33
  </span>
42
34
  <% if (page.current != page.total) { %>
43
35
  <span>
44
- <a href="<%- url_for(page.next_link) %>">
45
- <span class="page-num">
46
- <%= page.next %>
47
- </span>
36
+ <a class="page-num" href="<%- url_for(page.next_link) %>">
37
+ <%= page.next %>
48
38
  </a>
49
39
  <% if (page.current + 2 <= page.total) { %>
50
- <a href="<%- url_for("page/" + (page.current + 2)) %>">
51
- <span class="page-num">
52
- <%= page.current + 2 %>
53
- </span>
40
+ <a class="page-num" href="<%- url_for("page/" + (page.current + 2)) %>">
41
+ <%= page.current + 2 %>
54
42
  </a>
55
43
  <% } %>
56
44
  <% if (page.current + 3 <= page.total) { %>
57
45
  <span class="page-omit">...</span>
58
- <a href="<%- url_for("page/" + page.total) %>">
59
- <span class="page-num">
60
- <%= page.total %>
61
- </span>
46
+ <a class="page-num" href="<%- url_for("page/" + page.total) %>">
47
+ <%= page.total %>
62
48
  </a>
63
49
  <% } %>
64
50
  </span>
@@ -66,10 +52,8 @@
66
52
  </div>
67
53
  <div class="next">
68
54
  <% if (page.current != page.total) { %>
69
- <a href="<%- url_for(page.next_link) %> ">
70
- <span class="page-num">
71
- <i class="fa-solid fa-caret-right fa-fw"></i>
72
- </span>
55
+ <a class="page-num" href="<%- url_for(page.next_link) %> ">
56
+ <i class="fa-solid fa-caret-right fa-fw"></i>
73
57
  </a>
74
58
  <% } %>
75
59
  </div>
package/layout/layout.ejs CHANGED
@@ -30,7 +30,7 @@
30
30
  <meta name="author" content="<%- config.author %>">
31
31
  <meta name="description" content="<%- config.description %>">
32
32
  <meta name="keywords" content="<%- config.keywords %>">
33
- <link rel="icon" href="<%- theme.avatar %>">
33
+ <link rel="icon" href="<%- url_for(theme.avatar) %>">
34
34
  <script src="https://cdn.staticfile.org/vue/3.2.45/vue.global.prod.min.js"></script>
35
35
  <script src="https://cdn.staticfile.org/highlight.js/11.7.0/highlight.min.js"></script>
36
36
  <link rel="stylesheet" href="https://cdn.staticfile.org/highlight.js/11.7.0/styles/<%- theme.highlightStyle %>.min.css">
@@ -1,11 +1,11 @@
1
- <div id="loading" style="height: 100vh; width: 100vw; position: fixed; display: flex; z-index: 2147483647; justify-content: space-between; background: #fff; transition: all 0.3s ease-out; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none">
1
+ <div id="loading" style="height: 100vh; width: 100vw; position: fixed; display: flex; z-index: 2147483647; justify-content: space-between; background: #fff; transition: opacity 0.3s ease-out, visibility 0.3s; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none">
2
2
  <div style="position: fixed; height: 100vh; width: 100vw; display: flex; justify-content: center; align-items: center">
3
3
  <div id="loadcontent" style="width: 50vmin; height: 50vmin; padding: 50px; border-radius: 50%; display: flex; justify-content: center; align-items: center; border: solid 10px #a3ddfb; text-align: center">
4
4
  <div>
5
5
  <h2>LOADING...</h2>
6
6
  <p style="word-break: keep-all">加载过慢请开启缓存(浏览器默认开启)</p>
7
7
  <div>
8
- <img alt="loading" src="<%- url_for("/images/loading.gif") %>" style="width: 60px">
8
+ <img alt="loading" src="<%- url_for("/images/loading.gif") %>" style="height: 50px">
9
9
  </div>
10
10
  </div>
11
11
  </div>
package/layout/script.ejs CHANGED
@@ -48,8 +48,9 @@
48
48
  ></script>
49
49
  <% } %>
50
50
  <% if (theme.waline.enable) { %>
51
- <script src="https://cdn.staticfile.org/waline/2.9.1/waline.min.js"></script>
52
- <link rel="stylesheet" href="https://cdn.staticfile.org/waline/2.9.1/waline.min.css">
51
+ <script src="https://cdn.staticfile.org/waline/2.14.7/waline.min.js"></script>
52
+ <link rel="stylesheet" href="https://cdn.staticfile.org/waline/2.14.7/waline.min.css">
53
+ <link rel="stylesheet" href="https://cdn.staticfile.org/waline/2.14.7/waline-meta.min.css">
53
54
  <script>
54
55
  Waline.init({
55
56
  el: "#waline-container",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hexo-theme-particlex",
3
- "version": "2.2.2",
3
+ "version": "2.2.4",
4
4
  "description": "A concise Hexo theme, based on Particle.",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1"
@@ -1,50 +1,50 @@
1
1
  @keyframes into {
2
- 0% {
2
+ from {
3
3
  opacity: 0;
4
4
  transform: scale(1.1);
5
5
  }
6
- 100% {
6
+ to {
7
7
  opacity: 1;
8
8
  transform: scale(1);
9
9
  }
10
10
  }
11
11
  @keyframes loading {
12
- 0% {
12
+ from {
13
13
  opacity: 0;
14
14
  }
15
- 100% {
15
+ to {
16
16
  opacity: 1;
17
17
  }
18
18
  }
19
19
  @keyframes loop1 {
20
- 0% {
20
+ from {
21
21
  transform: rotate(30deg);
22
22
  }
23
- 100% {
23
+ to {
24
24
  transform: rotate(390deg);
25
25
  }
26
26
  }
27
27
  @keyframes loop2 {
28
- 0% {
28
+ from {
29
29
  transform: rotate(60deg);
30
30
  }
31
- 100% {
31
+ to {
32
32
  transform: rotate(420deg);
33
33
  }
34
34
  }
35
35
  @keyframes loop3 {
36
- 0% {
36
+ from {
37
37
  transform: rotate(90deg);
38
38
  }
39
- 100% {
39
+ to {
40
40
  transform: rotate(450deg);
41
41
  }
42
42
  }
43
43
  @keyframes loop4 {
44
- 0% {
44
+ from {
45
45
  transform: rotate(120deg);
46
46
  }
47
- 100% {
47
+ to {
48
48
  transform: rotate(480deg);
49
49
  }
50
50
  }
@@ -75,7 +75,7 @@
75
75
  border-radius: 10px;
76
76
  color: #fff;
77
77
  padding: 10px 15px;
78
- transition: all 0.25s;
78
+ transition: background 0.25s, border 0.25s, color 0.25s;
79
79
  }
80
80
  #archives .categories-tags span a:hover {
81
81
  background: #fff !important;
@@ -115,9 +115,9 @@
115
115
  background-position: center;
116
116
  background-repeat: no-repeat;
117
117
  background-size: cover;
118
+ position: absolute;
118
119
  height: 100vh;
119
120
  left: 0;
120
- position: absolute;
121
121
  top: 0;
122
122
  width: 100vw;
123
123
  z-index: -1;
@@ -140,7 +140,6 @@
140
140
  height: 140px;
141
141
  margin: auto;
142
142
  text-align: center;
143
- transition: all 0.25s;
144
143
  width: 140px;
145
144
  }
146
145
  #home-card .card-style .avatar img {
@@ -155,13 +154,14 @@
155
154
  margin: 20px auto;
156
155
  width: 85%;
157
156
  }
158
- #home-card .card-style .friend-links .friend-link a {
159
- border-radius: 15px;
160
- color: #5c6b72;
161
- display: inline-block;
162
- line-height: 30px;
157
+ #home-card .card-style .friend-links .friend-link {
163
158
  margin-bottom: 5px;
164
- width: 100%;
159
+ }
160
+ #home-card .card-style .friend-links a {
161
+ display: block;
162
+ border-radius: 5px;
163
+ color: #5c6b72;
164
+ padding: 8px 0;
165
165
  }
166
166
  #home-card .card-style .icon-links .icon-link {
167
167
  margin: 5px;
@@ -170,10 +170,10 @@
170
170
  border-radius: 5px;
171
171
  color: #5c6b72;
172
172
  font-size: 18px;
173
- padding: 3px 5px;
173
+ padding: 5px;
174
174
  }
175
175
  #home-card .card-style .icon-links a:hover,
176
- #home-card .card-style .friend-links .friend-link a:hover {
176
+ #home-card .card-style .friend-links a:hover {
177
177
  background: #66afef;
178
178
  color: #fff;
179
179
  }
@@ -272,7 +272,7 @@
272
272
  width: 35px;
273
273
  }
274
274
  #home-posts .page-current .page-num:hover {
275
- background: #92cafa;
275
+ background: #66afef;
276
276
  color: #fff;
277
277
  }
278
278
  #home-posts .page-current .prev,
@@ -288,7 +288,7 @@
288
288
  border-radius: 20px;
289
289
  box-shadow: 0 0 20px #d9d9d980;
290
290
  position: relative;
291
- transition: all 0.25s;
291
+ transition: box-shadow 0.25s, transform 0.25s;
292
292
  }
293
293
  #home-posts .post .category-and-date {
294
294
  color: #5c6b72;
@@ -331,7 +331,7 @@
331
331
  padding: 10px 24px;
332
332
  position: absolute;
333
333
  right: -5px;
334
- transition: all 0.25s ease-out;
334
+ transition: box-shadow 0.25s ease-out, right 0.25s ease-out;
335
335
  }
336
336
  #home-posts .post .go-post:hover {
337
337
  box-shadow: -2px -2px 10px 0 #9abbf77a;
@@ -382,7 +382,7 @@ footer .footer-wrap {
382
382
  line-height: 50px;
383
383
  position: fixed;
384
384
  top: 0;
385
- transition: all 0.25s ease-out;
385
+ transition: background 0.25s ease-out, top 0.25s ease-out;
386
386
  width: 100%;
387
387
  z-index: 10005;
388
388
  }
@@ -428,6 +428,7 @@ footer .footer-wrap {
428
428
  }
429
429
  #menu .phone-menu .items {
430
430
  padding: 10px 0 20px;
431
+ position: relative;
431
432
  z-index: 10003;
432
433
  }
433
434
  #menu .phone-menu .items .item {
@@ -444,6 +445,7 @@ footer .footer-wrap {
444
445
  color: #555;
445
446
  cursor: pointer;
446
447
  text-transform: uppercase;
448
+ position: relative;
447
449
  z-index: 10004;
448
450
  }
449
451
  #search-bar {
@@ -466,9 +468,9 @@ footer .footer-wrap {
466
468
  justify-content: center;
467
469
  left: 0;
468
470
  opacity: 0;
469
- position: fixed !important;
471
+ position: fixed;
470
472
  top: 0;
471
- transition: all 0.25s;
473
+ transition: opacity 0.25s, visibility 0.25s;
472
474
  visibility: hidden;
473
475
  width: 100%;
474
476
  z-index: 10006;
@@ -509,9 +511,11 @@ footer .footer-wrap {
509
511
  margin: 20px 0;
510
512
  }
511
513
  .content {
512
- transition: all 0.5s;
514
+ transition: opacity 0.25s;
513
515
  }
514
516
  .content .code-content {
517
+ background: none;
518
+ font: 500 13px/2 "Fira Code", "Noto Sans SC", monospace;
515
519
  overflow: auto;
516
520
  padding: 50px 30px 20px;
517
521
  }
@@ -535,10 +539,6 @@ footer .footer-wrap {
535
539
  .content .copycode:not(.copied) i:last-child {
536
540
  opacity: 0;
537
541
  }
538
- .content .hljs {
539
- background: none;
540
- font: 13px/2 "Fira Code", "Noto Sans SC", monospace;
541
- }
542
542
  .content .language {
543
543
  background: linear-gradient(to right, #ed6ea0 0, #ec8c69 100%);
544
544
  border-radius: 0 0 10px 10px;
@@ -566,7 +566,7 @@ footer .footer-wrap a {
566
566
  background: #bddcf76b;
567
567
  border-radius: 4px;
568
568
  color: #4b616b;
569
- font: 14px/2.5 "Fira Code", "Noto Sans SC", monospace;
569
+ font: 500 14px/2.5 "Fira Code", "Noto Sans SC", monospace;
570
570
  padding: 4px 8px;
571
571
  }
572
572
  .content h1,
@@ -638,7 +638,14 @@ footer .footer-wrap a {
638
638
  .page-num,
639
639
  .icon-link a,
640
640
  .friend-link a {
641
- transition: all 0.25s;
641
+ transition: background 0.25s, color 0.25s;
642
+ }
643
+ .page-num:hover,
644
+ .icon-link a:hover,
645
+ .friend-link a:hover,
646
+ .categories-tags a:hover,
647
+ .go-post:hover {
648
+ opacity: 1;
642
649
  }
643
650
  .slide-enter-active,
644
651
  .slide-leave-active {
@@ -807,7 +814,7 @@ input.ipt {
807
814
  height: 50px;
808
815
  position: relative;
809
816
  text-indent: 20px;
810
- transition: all 0.25s;
817
+ transition: background 0.25s, border 0.25s, box-shadow 0.25s;
811
818
  width: 100%;
812
819
  }
813
820
  input.ipt:focus {