hexo-theme-particlex 2.6.4 → 2.6.6

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 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 ? "" : 'class="home-posts-wrap-no-card"' %> ref="homePostsWrap">
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hexo-theme-particlex",
3
- "version": "2.6.4",
3
+ "version": "2.6.6",
4
4
  "description": "A concise Hexo theme, based on Particle.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -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,16 +415,25 @@
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
- top: -50px !important;
428
+ top: -50px;
429
429
  }
430
430
  #menu.menu-color {
431
- background: #0003 !important;
432
- box-shadow: 0 -1px 10px 0 transparent !important;
431
+ background: #0003;
433
432
  }
434
- #menu.menu-color .title,
435
- #menu.menu-color a {
436
- color: #fff !important;
433
+ #menu.menu-color #desktop-menu a,
434
+ #menu.menu-color #mobile-menu a,
435
+ #menu.menu-color #mobile-menu .title {
436
+ color: #fff;
437
437
  }
438
438
  #preview {
439
439
  align-items: center;
@@ -535,6 +535,16 @@ body::-webkit-scrollbar-track {
535
535
  .fade-leave-to {
536
536
  opacity: 0;
537
537
  }
538
+ .hljs-ln-code {
539
+ padding-left: 20px !important;
540
+ }
541
+ .hljs-ln-numbers {
542
+ border-right: 1px solid #ccc;
543
+ color: #ccc;
544
+ padding-right: 10px !important;
545
+ text-align: center;
546
+ vertical-align: top;
547
+ }
538
548
  .icon {
539
549
  color: #5c6b72;
540
550
  margin-right: 5px;
@@ -571,7 +581,7 @@ body::-webkit-scrollbar-track {
571
581
  transform: scale(1.1);
572
582
  }
573
583
  .katex {
574
- overflow: auto;
584
+ white-space: normal !important;
575
585
  }
576
586
  .language {
577
587
  background: linear-gradient(to right, #ed6ea0 0%, #ec8c69 100%);
@@ -664,6 +674,24 @@ a:hover,
664
674
  .content .copycode:hover {
665
675
  opacity: 0.8;
666
676
  }
677
+ audio,
678
+ button,
679
+ iframe,
680
+ img,
681
+ video,
682
+ #home-head,
683
+ #menu,
684
+ .categories-tags a,
685
+ .copycode,
686
+ .friend-link a,
687
+ .go-post,
688
+ .hljs-ln-numbers,
689
+ .icon-link a,
690
+ .katex,
691
+ .language,
692
+ .page-current {
693
+ user-select: none;
694
+ }
667
695
  b,
668
696
  strong {
669
697
  font-weight: bold;
@@ -684,23 +712,6 @@ body {
684
712
  overflow-x: hidden;
685
713
  width: 100%;
686
714
  }
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
715
  code {
705
716
  background: #bddcf76b;
706
717
  border-radius: 4px;
@@ -759,14 +770,10 @@ ol {
759
770
  margin: 15px 0;
760
771
  }
761
772
  pre {
762
- border: 1px solid #ebeef5;
763
773
  border: 1px solid #ebeef5;
764
774
  border-radius: 15px;
765
- border-radius: 15px;
766
- box-shadow: 0 2px 12px 0 #0000001a;
767
775
  box-shadow: 0 2px 12px 0 #0000001a;
768
776
  margin: 25px 0;
769
- margin: 25px 0;
770
777
  white-space: normal;
771
778
  }
772
779
  pre,
@@ -778,22 +785,22 @@ code,
778
785
  .language {
779
786
  font-family: "Fira Code", "Noto Sans SC", monospace;
780
787
  }
781
- table {
788
+ table:not(.hljs-ln) {
782
789
  margin: 15px 0;
783
790
  }
784
- table td:nth-child(even) {
791
+ table:not(.hljs-ln) td:nth-child(even) {
785
792
  background: #c7e0fb4d;
786
793
  }
787
- table td:nth-child(odd) {
794
+ table:not(.hljs-ln) td:nth-child(odd) {
788
795
  background: #d9e8ff4d;
789
796
  }
790
- table th {
797
+ table:not(.hljs-ln) th {
791
798
  background: #a3ddfb;
792
799
  }
793
- table tr th,
794
- table tr td {
795
- padding: 10px 20px;
800
+ table:not(.hljs-ln) tr th,
801
+ table:not(.hljs-ln) tr td {
796
802
  border-radius: 3px;
803
+ padding: 10px 20px;
797
804
  }
798
805
  ul li,
799
806
  ol li {
@@ -7,8 +7,8 @@ mixins.highlight = {
7
7
  this.renderers.push(this.highlight);
8
8
  },
9
9
  methods: {
10
- sleep(time) {
11
- return new Promise(resolve => setTimeout(resolve, time));
10
+ sleep(delay) {
11
+ return new Promise(resolve => setTimeout(resolve, delay));
12
12
  },
13
13
  highlight() {
14
14
  let codes = document.querySelectorAll("pre");
@@ -29,6 +29,8 @@ mixins.highlight = {
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
  },