hexo-theme-particlex 2.2.2 → 2.2.4

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