hexo-theme-volantis 6.0.3 → 6.0.5

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/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## [6.0.5](https://github.com/volantis-x/hexo-theme-volantis/compare/v6.0.4...v6.0.5) (2026-07-08)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * 修复锚点定位 ([f589671](https://github.com/volantis-x/hexo-theme-volantis/commit/f58967153414817eafc59fceb48b60184f6f3dd9))
9
+
10
+ ## [6.0.4](https://github.com/volantis-x/hexo-theme-volantis/compare/v6.0.3...v6.0.4) (2026-06-09)
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * bootcdn被投毒 ([e8f7c33](https://github.com/volantis-x/hexo-theme-volantis/commit/e8f7c33dddb2d23066e12ce81ad168bc0e3da0a1))
16
+
3
17
  ## [6.0.3](https://github.com/volantis-x/hexo-theme-volantis/compare/v6.0.2...v6.0.3) (2026-05-17)
4
18
 
5
19
 
package/_config.yml CHANGED
@@ -62,7 +62,7 @@ cdn_system:
62
62
  # Tip: 在本配置文件中 匹配以 "volantis-static" 开头的链接路径替换为该格式的前缀开头 prefix
63
63
  static:
64
64
  # CDN 链接前缀
65
- prefix: https://unpkg.com/volantis-static@0.0.1660614606622
65
+ prefix: https://unpkg.com/volantis-static@0.0.1761982841160
66
66
  # volantis-static CDN 格式
67
67
  format: ${prefix}/libs/${name}/${file}
68
68
  # cdnjs
@@ -70,7 +70,7 @@ cdn_system:
70
70
  # Tip: 在本配置文件中 匹配以 "volantis-cdnjs" 开头的链接路径替换为该格式的前缀开头 prefix
71
71
  cdnjs:
72
72
  # CDN 链接前缀
73
- prefix: https://cdn.bootcdn.net/ajax/libs
73
+ prefix: https://cdnjs.cloudflare.com/ajax/libs
74
74
  # cdnjs CDN 格式
75
75
  format: ${prefix}/${name}/${version}/${min_file}
76
76
  # ========================================================================
@@ -121,7 +121,6 @@ replace:
121
121
  # dns-prefetch preconnect x-dns-prefetch-control
122
122
  dns_prefetch:
123
123
  - https://unpkg.com
124
- - https://cdn.bootcdn.net
125
124
 
126
125
 
127
126
  # 平滑滚动效果
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hexo-theme-volantis",
3
- "version": "6.0.3",
3
+ "version": "6.0.5",
4
4
  "description": "Elegant and powerful theme for Hexo.",
5
5
  "main": "package.json",
6
6
  "scripts": {
package/source/js/app.js CHANGED
@@ -33,14 +33,14 @@ const locationHash = () => {
33
33
  if (target) {
34
34
  setTimeout(() => {
35
35
  if (window.location.hash.startsWith('#fn')) { // hexo-reference https://github.com/volantis-x/hexo-theme-volantis/issues/647
36
- volantis.scroll.to(target, { addTop: - volantis.dom.header.offsetHeight - 5, behavior: 'instant', observer: true })
36
+ VolantisApp.scrolltoElement(target,VolantisApp.getScrollCorrection() - VolantisApp.REM, 'instant', true);
37
37
  } else if (window.location.hash.startsWith('#mjx')) { // mathjax
38
- volantis.scroll.to(target, { addTop: - volantis.dom.header.offsetHeight - 25, behavior: 'instant', observer: true })
38
+ VolantisApp.scrolltoElement(target,VolantisApp.getScrollCorrection() + VolantisApp.REM, 'instant', true);
39
39
  } else {
40
- // 锚点中上半部有大片空白 高度大概是 volantis.dom.header.offsetHeight
41
- volantis.scroll.to(target, { addTop: 5, behavior: 'instant', observer: true })
40
+ // 文章标题锚点 锚点中上半部有大片空白 高度大概是 volantis.dom.header.offsetHeight=64
41
+ VolantisApp.scrolltoElement(target,VolantisApp.REM, 'instant', true);
42
42
  }
43
- }, 1000)
43
+ }, 500)
44
44
  }
45
45
  }
46
46
  }
@@ -50,11 +50,12 @@ Object.freeze(locationHash);
50
50
  const VolantisApp = (() => {
51
51
  const fn = {},
52
52
  COPYHTML = '<button class="btn-copy" data-clipboard-snippet=""><i class="fa-solid fa-copy"></i><span>COPY</span></button>';
53
+ const REM = parseFloat(getComputedStyle(document.documentElement).fontSize); // 16
53
54
  let scrollCorrection = 80;
54
55
 
55
56
  fn.init = () => {
56
57
  if (volantis.dom.header) {
57
- scrollCorrection = volantis.dom.header.clientHeight + 16;
58
+ scrollCorrection = volantis.dom.header.clientHeight + REM; // 64+16
58
59
  }
59
60
 
60
61
  window.onresize = () => {
@@ -109,7 +110,7 @@ const VolantisApp = (() => {
109
110
  }
110
111
 
111
112
  fn.restData = () => {
112
- scrollCorrection = volantis.dom.header ? volantis.dom.header.clientHeight + 16 : 80;
113
+ scrollCorrection = volantis.dom.header ? volantis.dom.header.clientHeight + REM : 80;
113
114
  }
114
115
 
115
116
  fn.setIsMobile = () => {
@@ -123,10 +124,17 @@ const VolantisApp = (() => {
123
124
  }
124
125
 
125
126
  // 校正页面定位(被导航栏挡住的区域)
126
- fn.scrolltoElement = (elem, correction = scrollCorrection) => {
127
- volantis.scroll.to(elem, {
127
+ fn.scrolltoElement = (elem, correction = scrollCorrection, behavior = null, observer = false) => {
128
+ let opt = {
128
129
  top: elem.getBoundingClientRect().top + document.documentElement.scrollTop - correction
129
- })
130
+ };
131
+ if (behavior){
132
+ opt.behavior=behavior;
133
+ };
134
+ if (observer){
135
+ opt.observer=observer;
136
+ };
137
+ volantis.scroll.to(elem, opt);
130
138
  }
131
139
 
132
140
  // 滚动事件回调们
@@ -399,7 +407,7 @@ const VolantisApp = (() => {
399
407
  e.preventDefault();
400
408
  let target = document.getElementById(targetID);
401
409
  if (target) {
402
- volantis.scroll.to(target, { addTop: - volantis.dom.header.offsetHeight - 25, behavior: 'instant' })
410
+ fn.scrolltoElement(target, scrollCorrection + REM, 'instant');
403
411
  }
404
412
  });
405
413
  })
@@ -407,16 +415,16 @@ const VolantisApp = (() => {
407
415
 
408
416
  // hexo-reference 页脚跳转 https://github.com/volantis-x/hexo-theme-volantis/issues/647
409
417
  fn.footnotes = () => {
410
- let ref = document.querySelectorAll('#l_main .footnote-backref, #l_main .footnote-ref > a');
418
+ let ref = document.querySelectorAll('#l_main a[rel=footnote],#footnotelist a[rev=footnote],#l_main .footnote-backref, #l_main .footnote-ref > a');
411
419
  ref.forEach(function (e, i) {
412
420
  ref[i].click = () => { }; // 强制清空原 click 事件
421
+ let targetID = decodeURIComponent(ref[i].getAttribute('href').split('#')[1]).replace(/\ /g, '-');
413
422
  volantis.dom.$(e).on('click', (e) => {
414
423
  e.stopPropagation();
415
424
  e.preventDefault();
416
- let targetID = decodeURI(e.target.hash.split('#')[1]).replace(/\ /g, '-');
417
425
  let target = document.getElementById(targetID);
418
426
  if (target) {
419
- volantis.scroll.to(target, { addTop: - volantis.dom.header.offsetHeight - 5, behavior: 'instant' })
427
+ fn.scrolltoElement(target, scrollCorrection - REM, 'instant');
420
428
  }
421
429
  });
422
430
  })
@@ -719,7 +727,11 @@ const VolantisApp = (() => {
719
727
  question: fn.question,
720
728
  hideMessage: fn.hideMessage,
721
729
  messageCopyright: fn.messageCopyright,
722
- scrolltoElement: fn.scrolltoElement
730
+ scrolltoElement: fn.scrolltoElement,
731
+ getScrollCorrection: ()=>{
732
+ return scrollCorrection;
733
+ },
734
+ REM:REM
723
735
  }
724
736
  })()
725
737
  Object.freeze(VolantisApp);