hexo-theme-particlex 2.6.5 → 2.6.7
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/layout/import.ejs +1 -0
- package/layout/index.ejs +1 -1
- package/package.json +1 -1
- package/source/css/main.css +45 -36
- package/source/js/lib/highlight.js +5 -3
- package/source/js/main.js +1 -2
package/layout/import.ejs
CHANGED
@@ -7,6 +7,7 @@
|
|
7
7
|
<% } %>
|
8
8
|
<% if (theme.highlight.enable) { %>
|
9
9
|
<script src="https://cdn.staticfile.org/highlight.js/11.7.0/highlight.min.js"></script>
|
10
|
+
<script src="https://cdn.staticfile.org/highlightjs-line-numbers.js/2.8.0/highlightjs-line-numbers.min.js"></script>
|
10
11
|
<link
|
11
12
|
rel="stylesheet"
|
12
13
|
href="https://cdn.staticfile.org/highlight.js/11.7.0/styles/<%- theme.highlight.style %>.min.css"
|
package/layout/index.ejs
CHANGED
@@ -14,7 +14,7 @@
|
|
14
14
|
</span>
|
15
15
|
</div>
|
16
16
|
</div>
|
17
|
-
<div id="home-posts-wrap" <%- theme.card.enable
|
17
|
+
<div id="home-posts-wrap" <%- theme.card.enable || 'class="home-posts-wrap-no-card"' %> ref="homePostsWrap">
|
18
18
|
<div id="home-posts">
|
19
19
|
<%- partial("posts") %>
|
20
20
|
<%- partial("current") %>
|
package/package.json
CHANGED
package/source/css/main.css
CHANGED
@@ -396,15 +396,6 @@
|
|
396
396
|
min-height: 50px;
|
397
397
|
text-align: center;
|
398
398
|
}
|
399
|
-
#menu-curtain {
|
400
|
-
background: #0003;
|
401
|
-
height: 100%;
|
402
|
-
left: 0;
|
403
|
-
position: fixed;
|
404
|
-
top: 0;
|
405
|
-
width: 100%;
|
406
|
-
z-index: 1001;
|
407
|
-
}
|
408
399
|
#menu #mobile-menu .items {
|
409
400
|
padding: 10px 0 20px;
|
410
401
|
z-index: 1002;
|
@@ -424,6 +415,15 @@
|
|
424
415
|
cursor: pointer;
|
425
416
|
z-index: 1003;
|
426
417
|
}
|
418
|
+
#menu-curtain {
|
419
|
+
background: #0003;
|
420
|
+
height: 100%;
|
421
|
+
left: 0;
|
422
|
+
position: fixed;
|
423
|
+
top: 0;
|
424
|
+
width: 100%;
|
425
|
+
z-index: 1001;
|
426
|
+
}
|
427
427
|
#menu.hidden {
|
428
428
|
top: -50px;
|
429
429
|
}
|
@@ -485,7 +485,6 @@
|
|
485
485
|
margin-right: 10px;
|
486
486
|
}
|
487
487
|
.code-content {
|
488
|
-
background: none;
|
489
488
|
font-size: 13px;
|
490
489
|
line-height: 2;
|
491
490
|
overflow: auto;
|
@@ -535,6 +534,16 @@ body::-webkit-scrollbar-track {
|
|
535
534
|
.fade-leave-to {
|
536
535
|
opacity: 0;
|
537
536
|
}
|
537
|
+
.hljs-ln-code {
|
538
|
+
padding-left: 20px !important;
|
539
|
+
}
|
540
|
+
.hljs-ln-numbers {
|
541
|
+
border-right: 1px solid #ccc;
|
542
|
+
color: #ccc;
|
543
|
+
padding-right: 10px !important;
|
544
|
+
text-align: right;
|
545
|
+
vertical-align: top;
|
546
|
+
}
|
538
547
|
.icon {
|
539
548
|
color: #5c6b72;
|
540
549
|
margin-right: 5px;
|
@@ -664,6 +673,24 @@ a:hover,
|
|
664
673
|
.content .copycode:hover {
|
665
674
|
opacity: 0.8;
|
666
675
|
}
|
676
|
+
audio,
|
677
|
+
button,
|
678
|
+
iframe,
|
679
|
+
img,
|
680
|
+
video,
|
681
|
+
#home-head,
|
682
|
+
#menu,
|
683
|
+
.categories-tags a,
|
684
|
+
.copycode,
|
685
|
+
.friend-link a,
|
686
|
+
.go-post,
|
687
|
+
.hljs-ln-numbers,
|
688
|
+
.icon-link a,
|
689
|
+
.katex,
|
690
|
+
.language,
|
691
|
+
.page-current {
|
692
|
+
user-select: none;
|
693
|
+
}
|
667
694
|
b,
|
668
695
|
strong {
|
669
696
|
font-weight: bold;
|
@@ -684,23 +711,6 @@ body {
|
|
684
711
|
overflow-x: hidden;
|
685
712
|
width: 100%;
|
686
713
|
}
|
687
|
-
button,
|
688
|
-
img,
|
689
|
-
video,
|
690
|
-
audio,
|
691
|
-
iframe,
|
692
|
-
#home-head,
|
693
|
-
#menu,
|
694
|
-
.katex,
|
695
|
-
.go-post,
|
696
|
-
.page-current,
|
697
|
-
.categories-tags a,
|
698
|
-
.friend-link a,
|
699
|
-
.icon-link a,
|
700
|
-
.language,
|
701
|
-
.copycode {
|
702
|
-
user-select: none;
|
703
|
-
}
|
704
714
|
code {
|
705
715
|
background: #bddcf76b;
|
706
716
|
border-radius: 4px;
|
@@ -763,33 +773,32 @@ pre {
|
|
763
773
|
border-radius: 15px;
|
764
774
|
box-shadow: 0 2px 12px 0 #0000001a;
|
765
775
|
margin: 25px 0;
|
776
|
+
overflow: hidden;
|
766
777
|
white-space: normal;
|
767
778
|
}
|
768
779
|
pre,
|
769
780
|
code,
|
770
781
|
.hljs,
|
771
|
-
.highlight,
|
772
|
-
.commit-tease-sha,
|
773
782
|
.input,
|
774
783
|
.language {
|
775
784
|
font-family: "Fira Code", "Noto Sans SC", monospace;
|
776
785
|
}
|
777
|
-
table {
|
786
|
+
table:not(.hljs-ln) {
|
778
787
|
margin: 15px 0;
|
779
788
|
}
|
780
|
-
table td:nth-child(even) {
|
789
|
+
table:not(.hljs-ln) td:nth-child(even) {
|
781
790
|
background: #c7e0fb4d;
|
782
791
|
}
|
783
|
-
table td:nth-child(odd) {
|
792
|
+
table:not(.hljs-ln) td:nth-child(odd) {
|
784
793
|
background: #d9e8ff4d;
|
785
794
|
}
|
786
|
-
table th {
|
795
|
+
table:not(.hljs-ln) th {
|
787
796
|
background: #a3ddfb;
|
788
797
|
}
|
789
|
-
table tr th,
|
790
|
-
table tr td {
|
791
|
-
padding: 10px 20px;
|
798
|
+
table:not(.hljs-ln) tr th,
|
799
|
+
table:not(.hljs-ln) tr td {
|
792
800
|
border-radius: 3px;
|
801
|
+
padding: 10px 20px;
|
793
802
|
}
|
794
803
|
ul li,
|
795
804
|
ol li {
|
@@ -7,8 +7,8 @@ mixins.highlight = {
|
|
7
7
|
this.renderers.push(this.highlight);
|
8
8
|
},
|
9
9
|
methods: {
|
10
|
-
sleep(
|
11
|
-
return new Promise(resolve => setTimeout(resolve,
|
10
|
+
sleep(delay) {
|
11
|
+
return new Promise(resolve => setTimeout(resolve, delay));
|
12
12
|
},
|
13
13
|
highlight() {
|
14
14
|
let codes = document.querySelectorAll("pre");
|
@@ -22,13 +22,15 @@ mixins.highlight = {
|
|
22
22
|
highlighted = code;
|
23
23
|
}
|
24
24
|
i.innerHTML = `
|
25
|
-
<div class="code-content">${highlighted}</div>
|
25
|
+
<div class="code-content hljs">${highlighted}</div>
|
26
26
|
<div class="language">${language}</div>
|
27
27
|
<div class="copycode">
|
28
28
|
<i class="fa-solid fa-copy fa-fw"></i>
|
29
29
|
<i class="fa-solid fa-clone fa-fw"></i>
|
30
30
|
</div>
|
31
31
|
`;
|
32
|
+
let content = i.querySelector(".code-content");
|
33
|
+
hljs.lineNumbersBlock(content, { singleLine: true });
|
32
34
|
let copycode = i.querySelector(".copycode");
|
33
35
|
copycode.addEventListener("click", async () => {
|
34
36
|
if (this.copying) return;
|
package/source/js/main.js
CHANGED
@@ -32,10 +32,9 @@ const app = Vue.createApp({
|
|
32
32
|
this.showMenuItems = false;
|
33
33
|
} else this.hiddenMenu = false;
|
34
34
|
if (wrap) {
|
35
|
+
wrap.style.top = -Math.min(newScrollTop / 5, 80) + "px";
|
35
36
|
if (newScrollTop <= window.innerHeight - 100) this.menuColor = true;
|
36
37
|
else this.menuColor = false;
|
37
|
-
if (newScrollTop <= 400) wrap.style.marginTop = -newScrollTop / 5 + "px";
|
38
|
-
else wrap.style.marginTop = "-80px";
|
39
38
|
}
|
40
39
|
this.scrollTop = newScrollTop;
|
41
40
|
},
|