hexo-theme-shokax 0.4.10 → 0.4.12

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/_config.yml CHANGED
@@ -184,7 +184,6 @@ menu:
184
184
  # https://twikoo.js.org
185
185
  twikoo:
186
186
  enable: false
187
- link: "https://cdn.staticfile.org/twikoo/1.6.30/twikoo.all.min.js"
188
187
  mode: vercel # vercel或tencent
189
188
  envId: "https://example.com" # twikoo环境ID,vercel填地址
190
189
  region:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hexo-theme-shokax",
3
- "version": "0.4.10",
3
+ "version": "0.4.12",
4
4
  "description": "a hexo theme based on shoka",
5
5
  "main": "index.js",
6
6
  "repository": "https://github.com/theme-shoka-x/hexo-theme-shokaX",
@@ -16,23 +16,20 @@
16
16
  "@types/jquery": "^3.5.30",
17
17
  "@types/js-yaml": "^4.0.9",
18
18
  "@types/katex": "^0.16.7",
19
- "@types/node": "^20.14.10",
19
+ "@types/node": "^22.5.5",
20
20
  "@types/quicklink": "^2.3.4",
21
- "@typescript-eslint/eslint-plugin": "^7.16.0",
22
- "@typescript-eslint/parser": "^7.16.0",
23
- "eslint": "^9.6.0",
21
+ "@typescript-eslint/eslint-plugin": "^8.6.0",
22
+ "@typescript-eslint/parser": "^8.6.0",
23
+ "eslint": "^9.11.0",
24
24
  "eslint-config-standard": "~17",
25
- "eslint-plugin-import": "^2.29.1",
26
- "eslint-plugin-n": "^17.9.0",
27
- "eslint-plugin-promise": "^6.4.0",
28
- "eslint-plugin-vue": "^9.27.0",
29
- "typescript": "^5.5.3"
25
+ "eslint-plugin-vue": "^9.28.0",
26
+ "typescript": "^5.6.2"
30
27
  },
31
28
  "dependencies": {
32
- "@algolia/client-search": "^4.24.0",
33
- "@waline/client": "^3.3.0",
34
- "algoliasearch": "4.24.0",
35
- "esbuild": "^0.23.0",
29
+ "@algolia/client-search": "^5.5.3",
30
+ "@waline/client": "^3.3.2",
31
+ "algoliasearch": "5.5.3",
32
+ "esbuild": "^0.23.1",
36
33
  "hexo": "^7.3.0",
37
34
  "hexo-algoliasearch": "^2.0.1",
38
35
  "hexo-feed": "^1.1.2",
@@ -40,16 +37,16 @@
40
37
  "hexo-pagination": "^4.0.0",
41
38
  "hexo-renderer-pug": "^3.0.0",
42
39
  "hexo-util": "^3.3.0",
43
- "instantsearch.js": "^4.73.1",
40
+ "instantsearch.js": "^4.74.1",
44
41
  "js-yaml": "^4.1.0",
45
42
  "katex": "^0.16.11",
46
- "mouse-firework": "^0.0.5",
43
+ "mouse-firework": "^0.0.6",
47
44
  "quicklink": "^2.3.0",
48
- "theme-shokax-anime": "^0.0.6",
45
+ "theme-shokax-anime": "^0.0.7",
49
46
  "theme-shokax-pjax": "^0.0.3",
50
- "twikoo": "^1.6.38",
47
+ "twikoo": "^1.6.39",
51
48
  "unlazy": "^0.11.3",
52
- "vue": "^3.4.31"
49
+ "vue": "^3.5.7"
53
50
  },
54
51
  "engines": {
55
52
  "node": ">=18.0.0"
@@ -124,7 +124,7 @@ export const sidebarTOC = () => {
124
124
  while (!parent.matches('.contents')) {
125
125
  if (parent.matches('li')) {
126
126
  parent.addClass('active')
127
- const t = document.querySelector(decodeURIComponent(parent.querySelector('a.toc-link').getAttribute('href')))
127
+ const t = document.getElementById(decodeURIComponent(parent.querySelector('a.toc-link').getAttribute('href').replace('#', '')))
128
128
  if (t) {
129
129
  t.addClass('active')
130
130
  }
@@ -147,13 +147,13 @@ export const sidebarTOC = () => {
147
147
 
148
148
  sections = sections.map((element, index) => {
149
149
  const link = element.querySelector('a.toc-link')
150
- const anchor = document.querySelector(decodeURI(link.getAttribute('href')))
150
+ const anchor = document.getElementById(decodeURI(link.getAttribute('href').replace('#', '')))
151
151
  if (!anchor) return null
152
152
  const alink = anchor.querySelector('a.anchor')
153
153
 
154
154
  const anchorScroll = (event:MouseEvent) => {
155
155
  event.preventDefault()
156
- const target = document.querySelector(decodeURI((event.currentTarget as HTMLElement).getAttribute('href')))
156
+ const target = document.getElementById(decodeURI((event.currentTarget as HTMLElement).getAttribute('href').replace('#', '')))
157
157
 
158
158
  activeLock = index
159
159
  pageScroll((target as HTMLElement), null, () => {
@@ -7,68 +7,70 @@ export const postFancybox = (p:string) => {
7
7
  if (document.querySelector(p + ' .md img')) {
8
8
  vendorCss('fancybox')
9
9
  vendorCss('justifiedGallery')
10
- vendorJs('jquery')
11
- vendorJs('justifiedGallery')
12
- vendorJs('fancybox', () => {
13
- const q = jQuery.noConflict()
10
+ vendorJs('jquery', ()=>{
11
+ vendorJs('justifiedGallery',()=>{
12
+ vendorJs('fancybox', () => {
13
+ const q = jQuery.noConflict()
14
14
 
15
- $dom.each(p + ' p.gallery', (element) => {
16
- const box = document.createElement('div')
17
- box.className = 'gallery'
18
- box.setAttribute('data-height', String(element.getAttribute('data-height') || 220))
15
+ $dom.each(p + ' p.gallery', (element) => {
16
+ const box = document.createElement('div')
17
+ box.className = 'gallery'
18
+ box.setAttribute('data-height', String(element.getAttribute('data-height') || 220))
19
19
 
20
- box.innerHTML = element.innerHTML.replace(/<br>/g, '')
20
+ box.innerHTML = element.innerHTML.replace(/<br>/g, '')
21
21
 
22
- element.parentNode.insertBefore(box, element)
23
- element.remove()
24
- })
22
+ element.parentNode.insertBefore(box, element)
23
+ element.remove()
24
+ })
25
25
 
26
- $dom.each(p + ' .md img:not(.emoji):not(.vemoji)', (element) => {
27
- const $image = q(element)
28
- const imageLink = $image.attr('data-src') || $image.attr('src') // 替换
29
- const $imageWrapLink = $image.wrap('<a class="fancybox" href="' + imageLink + '" itemscope itemtype="https://schema.org/ImageObject" itemprop="url"></a>').parent('a')
30
- let info; let captionClass = 'image-info'
31
- if (!$image.is('a img')) {
32
- $image.data('safe-src', imageLink)
33
- if (!$image.is('.gallery img')) {
34
- $imageWrapLink.attr('data-fancybox', 'default').attr('rel', 'default')
35
- } else {
36
- captionClass = 'jg-caption'
37
- }
38
- }
39
- if ((info = element.getAttribute('title'))) {
40
- $imageWrapLink.attr('data-caption', info)
41
- const para = document.createElement('span')
42
- const txt = document.createTextNode(info)
43
- para.appendChild(txt)
44
- para.addClass(captionClass)
45
- insertAfter(element, para)
46
- }
47
- })
26
+ $dom.each(p + ' .md img:not(.emoji):not(.vemoji)', (element) => {
27
+ const $image = q(element)
28
+ const imageLink = $image.attr('data-src') || $image.attr('src') // 替换
29
+ const $imageWrapLink = $image.wrap('<a class="fancybox" href="' + imageLink + '" itemscope itemtype="https://schema.org/ImageObject" itemprop="url"></a>').parent('a')
30
+ let info; let captionClass = 'image-info'
31
+ if (!$image.is('a img')) {
32
+ $image.data('safe-src', imageLink)
33
+ if (!$image.is('.gallery img')) {
34
+ $imageWrapLink.attr('data-fancybox', 'default').attr('rel', 'default')
35
+ } else {
36
+ captionClass = 'jg-caption'
37
+ }
38
+ }
39
+ if ((info = element.getAttribute('title'))) {
40
+ $imageWrapLink.attr('data-caption', info)
41
+ const para = document.createElement('span')
42
+ const txt = document.createTextNode(info)
43
+ para.appendChild(txt)
44
+ para.addClass(captionClass)
45
+ insertAfter(element, para)
46
+ }
47
+ })
48
48
 
49
- $dom.each(p + ' div.gallery', (el, i) => {
50
- // @ts-ignore
51
- q(el).justifiedGallery({
52
- rowHeight: q(el).data('height') || 120,
53
- rel: 'gallery-' + i
54
- }).on('jg.complete', function () {
55
- q(this).find('a').each((k, ele) => {
56
- ele.setAttribute('data-fancybox', 'gallery-' + i)
49
+ $dom.each(p + ' div.gallery', (el, i) => {
50
+ // @ts-ignore
51
+ q(el).justifiedGallery({
52
+ rowHeight: q(el).data('height') || 120,
53
+ rel: 'gallery-' + i
54
+ }).on('jg.complete', function () {
55
+ q(this).find('a').each((k, ele) => {
56
+ ele.setAttribute('data-fancybox', 'gallery-' + i)
57
+ })
58
+ })
57
59
  })
58
- })
59
- })
60
60
 
61
- q.fancybox.defaults.hash = false
62
- q(p + ' .fancybox').fancybox({
63
- loop: true,
64
- // @ts-ignore
65
- helpers: {
66
- overlay: {
67
- locked: false
68
- }
69
- }
61
+ q.fancybox.defaults.hash = false
62
+ q(p + ' .fancybox').fancybox({
63
+ loop: true,
64
+ // @ts-ignore
65
+ helpers: {
66
+ overlay: {
67
+ locked: false
68
+ }
69
+ }
70
+ })
71
+ // @ts-ignore
72
+ }, window.jQuery)
70
73
  })
71
- // @ts-ignore
72
- }, window.jQuery)
74
+ })
73
75
  }
74
76
  }
@@ -476,7 +476,7 @@ export const mediaPlayer = (t, config?) => {
476
476
  fetch () {
477
477
  return new Promise<boolean>((resolve, reject) => {
478
478
  if (playlist.data.length > 0) {
479
- resolve(true)
479
+ resolve(false)
480
480
  } else {
481
481
  if (this.options.rawList) {
482
482
  const promises = []
package/CONTRIBUTING.md DELETED
@@ -1,58 +0,0 @@
1
- # Contributing for hexo-theme-shokaX
2
-
3
- ---
4
- > 请在贡献前仔细阅读本文档
5
-
6
- 目录:
7
- 1. [代码贡献指南](#代码贡献指南)
8
- 2. [翻译贡献指南](#翻译贡献指南)
9
- 3. [最后需要注意的事项](#最后需要注意的事项)
10
-
11
- # 代码贡献指南
12
- ## 前言
13
- 在提交代码之前,我们默认以下几点:
14
- 1. 您同意我们在未来进行授权许可更改时包含您所贡献的代码
15
- 2. 您有对于 shokaX 所使用的相关技术和 github PR 及 actions 的基础了解
16
-
17
- 有关提交的说明:
18
- 1. 您在提交时的`commit message`应描述其改动
19
- 2. 如果您提交的代码中包括图片资源,建议使用`webp`或`avif`格式
20
- 3. 条件允许的情况下代码应当附有注释以便维护
21
-
22
- 有关审查(Review)的说明:
23
- 1. 您在 PR 时应打开允许维护者修改 PR,以便我们进行修改
24
- 2. 您愿意接受长时间的等待(一般不超过15天)
25
- 3. 您能够接受因代码质量等问题而提出的疑问,并愿意讨论是否接受更改
26
-
27
- 有关issues的说明:
28
- 1. 如果您愿意开发某 issues 的提议功能或修复 bug,建议在对应 issue 下评论说明一下,避免闭门造车和重复造轮子的惨剧
29
- 2. 您应该在对应 PR 提交时绑定对应 issue,以便进行统计
30
-
31
- ## Github PR
32
- 此处为在使用 Github PR 提交时应注意的事:
33
- - 默认你对 Git、GitHub 已经有了一定的了解,并且懂得使用 PR(此方面问题可以去讨论区发起 Q&A)
34
- - 请提交 PR 至 main 分支
35
- - PR 标题应简要明了地描述改动
36
- - 未完工的代码仍可提交 PR,可以先设置为 Draft
37
- - 善用相关词语填写 PR 信息或 Commit 信息,如提交、更新/修改、删除
38
- - 请确保您所提交的代码可以正常运行
39
- - 如果 PR 中删除了没有替代的代码,请注明删除原因
40
-
41
- # 翻译贡献指南
42
- 在提交代码之前,我们默认以下几点:
43
- 1. 您同意我们在未来进行授权许可更改时包含您所贡献的翻译
44
- 2. 您有对于 shokaX 的翻译原文和 github PR 及 actions 的基础了解
45
-
46
- 翻译排版参考[中文文案排版指北](https://github.com/sparanoid/chinese-copywriting-guidelines/blob/master/README.zh-Hans.md) \
47
- **截止本指南写就时,shokaX 存在大量不符合此指北的翻译,我们欢迎提交 PR 修正这些错误**
48
-
49
- 有关审查(Review)的说明:
50
- 1. 您在 PR 时应打开允许维护者修改 PR,以便我们进行修改
51
- 2. 您愿意接受长时间的等待(一般不超过15天)
52
- 3. 您能够接受因翻译质量等问题而提出的疑问,并愿意讨论是否接受更改
53
-
54
- PR提交参考代码贡献指南即可
55
-
56
- # 最后需要注意的事项
57
- 有问题可以前往讨论区进行讨论,其他渠道正在建设 \
58
- **本项目的每个贡献者都是理应感谢的人。**