hexo-theme-shokax 0.4.6-dev5 → 0.4.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (186) hide show
  1. package/CODE_OF_CONDUCT.md +128 -128
  2. package/CONTRIBUTING.md +58 -58
  3. package/LICENSE +660 -660
  4. package/LICENSE-shoka +21 -21
  5. package/README.md +76 -99
  6. package/README_en.MD +75 -91
  7. package/UsageRestrictions.md +25 -25
  8. package/_config.yml +381 -381
  9. package/_images.yml +9 -9
  10. package/eslint.config.mjs +55 -55
  11. package/languages/README.md +19 -19
  12. package/languages/default.yml +1 -1
  13. package/languages/en.yml +153 -153
  14. package/languages/ja.yml +153 -153
  15. package/languages/zh-CN.yml +153 -153
  16. package/languages/zh-HK.yml +153 -153
  17. package/languages/zh-TW.yml +153 -153
  18. package/layout/_alternate/atom.ejs +30 -30
  19. package/layout/_alternate/json.ejs +16 -16
  20. package/layout/_alternate/rss.ejs +34 -34
  21. package/layout/_mixin/breadcrumb.pug +33 -33
  22. package/layout/_mixin/card.pug +38 -38
  23. package/layout/_mixin/comment.pug +6 -6
  24. package/layout/_mixin/postmeta.pug +29 -29
  25. package/layout/_mixin/segment.pug +35 -35
  26. package/layout/_mixin/sidebar.pug +40 -40
  27. package/layout/_mixin/widgets.pug +28 -28
  28. package/layout/_partials/footer.pug +43 -43
  29. package/layout/_partials/head/head.pug +55 -55
  30. package/layout/_partials/head/head_com.pug +24 -24
  31. package/layout/_partials/head/pwa.pug +18 -18
  32. package/layout/_partials/header.pug +18 -18
  33. package/layout/_partials/layout.pug +140 -140
  34. package/layout/_partials/loading.pug +13 -13
  35. package/layout/_partials/pagination.pug +4 -4
  36. package/layout/_partials/post/copyright.pug +20 -20
  37. package/layout/_partials/post/footer.pug +17 -17
  38. package/layout/_partials/post/nav.pug +13 -13
  39. package/layout/_partials/post/post.pug +41 -41
  40. package/layout/_partials/post/reward.pug +18 -18
  41. package/layout/_partials/sidebar/menu.pug +37 -37
  42. package/layout/_partials/sidebar/overview.pug +42 -42
  43. package/layout/_partials/third-party/baidu-analytics.pug +11 -11
  44. package/layout/_partials/third-party/clarity.pug +8 -8
  45. package/layout/_partials/third-party/google-analytics.pug +9 -9
  46. package/layout/archive.pug +118 -118
  47. package/layout/category.pug +59 -59
  48. package/layout/index.pug +33 -33
  49. package/layout/page.pug +55 -55
  50. package/layout/post.pug +36 -36
  51. package/layout/tag.pug +43 -43
  52. package/package.json +72 -72
  53. package/scripts/filters/locals.js +52 -0
  54. package/scripts/filters/post.js +5 -0
  55. package/scripts/generaters/archive.js +133 -0
  56. package/scripts/generaters/config.js +51 -0
  57. package/scripts/generaters/images.js +23 -0
  58. package/scripts/generaters/index.js +107 -0
  59. package/scripts/generaters/pages.js +15 -0
  60. package/scripts/generaters/script.js +156 -0
  61. package/scripts/helpers/asset.js +73 -0
  62. package/scripts/helpers/engine.js +177 -0
  63. package/scripts/helpers/list_categories.js +80 -0
  64. package/scripts/helpers/summary_ai.js +107 -0
  65. package/scripts/helpers/symbols_count_time.js +69 -0
  66. package/scripts/plugin/check.js +32 -0
  67. package/scripts/plugin/index.js +81 -0
  68. package/scripts/plugin/lib/injects-point.js +20 -0
  69. package/scripts/plugin/lib/injects.js +89 -0
  70. package/scripts/tags/links.js +44 -0
  71. package/scripts/tags/media.js +19 -0
  72. package/scripts/utils.js +13 -0
  73. package/source/assets/algolia_logo.svg +9 -9
  74. package/source/assets/logo.svg +16 -16
  75. package/source/css/_colors.styl +207 -207
  76. package/source/css/_common/components/components.styl +6 -6
  77. package/source/css/_common/components/highlight/highlight.styl +357 -357
  78. package/source/css/_common/components/highlight/operation.styl +21 -21
  79. package/source/css/_common/components/pages/collapse.styl +119 -119
  80. package/source/css/_common/components/pages/home.styl +391 -391
  81. package/source/css/_common/components/pages/pages.styl +56 -56
  82. package/source/css/_common/components/pages/tag-cloud.styl +12 -12
  83. package/source/css/_common/components/post/breadcrumb.styl +39 -39
  84. package/source/css/_common/components/post/copyright.styl +41 -41
  85. package/source/css/_common/components/post/expand.styl +263 -263
  86. package/source/css/_common/components/post/footer.styl +11 -11
  87. package/source/css/_common/components/post/header.styl +79 -79
  88. package/source/css/_common/components/post/nav.styl +64 -64
  89. package/source/css/_common/components/post/post.styl +29 -29
  90. package/source/css/_common/components/post/reward.styl +50 -50
  91. package/source/css/_common/components/post/rtl.styl +12 -12
  92. package/source/css/_common/components/post/tags.styl +39 -39
  93. package/source/css/_common/components/tags/collapse.styl +72 -72
  94. package/source/css/_common/components/tags/container.styl +49 -49
  95. package/source/css/_common/components/tags/label.styl +12 -12
  96. package/source/css/_common/components/tags/links.styl +77 -77
  97. package/source/css/_common/components/tags/list.styl +131 -131
  98. package/source/css/_common/components/tags/note.styl +70 -70
  99. package/source/css/_common/components/tags/player.styl +361 -361
  100. package/source/css/_common/components/tags/quiz.styl +200 -200
  101. package/source/css/_common/components/tags/tabs.styl +89 -89
  102. package/source/css/_common/components/tags/tags.styl +9 -9
  103. package/source/css/_common/components/third-party/loading.styl +222 -222
  104. package/source/css/_common/components/third-party/mermaid/class.styl +90 -90
  105. package/source/css/_common/components/third-party/mermaid/flowchart.styl +72 -72
  106. package/source/css/_common/components/third-party/mermaid/gantt.styl +251 -251
  107. package/source/css/_common/components/third-party/mermaid/git.styl +7 -7
  108. package/source/css/_common/components/third-party/mermaid/mermaid.styl +37 -37
  109. package/source/css/_common/components/third-party/mermaid/pie.styl +9 -9
  110. package/source/css/_common/components/third-party/mermaid/sequence.styl +95 -95
  111. package/source/css/_common/components/third-party/mermaid/state.styl +130 -130
  112. package/source/css/_common/components/third-party/pace.styl +18 -18
  113. package/source/css/_common/components/third-party/search.styl +167 -167
  114. package/source/css/_common/components/third-party/theme.styl +151 -151
  115. package/source/css/_common/components/third-party/third-party.styl +22 -22
  116. package/source/css/_common/components/third-party/widgets.styl +57 -57
  117. package/source/css/_common/outline/footer/footer.styl +67 -67
  118. package/source/css/_common/outline/header/brand.styl +77 -77
  119. package/source/css/_common/outline/header/header.styl +20 -20
  120. package/source/css/_common/outline/header/image.styl +85 -85
  121. package/source/css/_common/outline/header/menu.styl +117 -117
  122. package/source/css/_common/outline/header/nav.styl +81 -81
  123. package/source/css/_common/outline/header/right.styl +15 -15
  124. package/source/css/_common/outline/header/tool.styl +207 -207
  125. package/source/css/_common/outline/header/waves.styl +57 -57
  126. package/source/css/_common/outline/mobile.styl +46 -46
  127. package/source/css/_common/outline/outline.styl +78 -78
  128. package/source/css/_common/outline/sidebar/author.styl +59 -59
  129. package/source/css/_common/outline/sidebar/dimmer.styl +23 -23
  130. package/source/css/_common/outline/sidebar/menu.styl +63 -63
  131. package/source/css/_common/outline/sidebar/quick.styl +43 -43
  132. package/source/css/_common/outline/sidebar/related.styl +56 -56
  133. package/source/css/_common/outline/sidebar/sidebar.styl +80 -80
  134. package/source/css/_common/outline/sidebar/social.styl +69 -69
  135. package/source/css/_common/outline/sidebar/state.styl +37 -37
  136. package/source/css/_common/outline/sidebar/tab.styl +71 -71
  137. package/source/css/_common/outline/sidebar/toc.styl +47 -47
  138. package/source/css/_common/scaffolding/animate.styl +322 -322
  139. package/source/css/_common/scaffolding/base.styl +190 -190
  140. package/source/css/_common/scaffolding/buttons.styl +48 -48
  141. package/source/css/_common/scaffolding/divider.styl +36 -36
  142. package/source/css/_common/scaffolding/iconfont.styl +443 -443
  143. package/source/css/_common/scaffolding/normalize.styl +273 -273
  144. package/source/css/_common/scaffolding/pagination.styl +81 -81
  145. package/source/css/_common/scaffolding/ribbon.styl +38 -38
  146. package/source/css/_common/scaffolding/scaffolding.styl +14 -14
  147. package/source/css/_common/scaffolding/scrollbar.styl +37 -37
  148. package/source/css/_common/scaffolding/tables.styl +50 -50
  149. package/source/css/_common/scaffolding/tip.styl +19 -19
  150. package/source/css/_common/scaffolding/toggles.styl +59 -59
  151. package/source/css/_iconfont.styl +455 -455
  152. package/source/css/_mixins.styl +148 -148
  153. package/source/css/_variables.styl +89 -89
  154. package/source/css/app.styl +41 -41
  155. package/source/css/mermaid.styl +5 -5
  156. package/source/css/optimize.styl +5 -5
  157. package/source/js/_app/components/comments.ts +88 -88
  158. package/source/js/_app/components/sidebar.ts +239 -239
  159. package/source/js/_app/components/tcomments.ts +54 -54
  160. package/source/js/_app/globals/globalVars.ts +99 -99
  161. package/source/js/_app/globals/handles.ts +124 -124
  162. package/source/js/_app/globals/themeColor.ts +63 -63
  163. package/source/js/_app/globals/thirdparty.ts +63 -63
  164. package/source/js/_app/globals/tools.ts +75 -75
  165. package/source/js/_app/library/anime.ts +110 -110
  166. package/source/js/_app/library/declare.d.ts +128 -128
  167. package/source/js/_app/library/dom.ts +28 -28
  168. package/source/js/_app/library/loadFile.ts +47 -47
  169. package/source/js/_app/library/proto.ts +137 -137
  170. package/source/js/_app/library/scriptPjax.ts +72 -72
  171. package/source/js/_app/library/storage.ts +12 -12
  172. package/source/js/_app/library/vue.ts +49 -49
  173. package/source/js/_app/page/common.ts +43 -43
  174. package/source/js/_app/page/fancybox.ts +72 -72
  175. package/source/js/_app/page/post.ts +266 -266
  176. package/source/js/_app/page/search.ts +115 -115
  177. package/source/js/_app/page/tab.ts +60 -60
  178. package/source/js/_app/pjax/domInit.ts +97 -97
  179. package/source/js/_app/pjax/refresh.ts +140 -140
  180. package/source/js/_app/pjax/siteInit.ts +106 -106
  181. package/source/js/_app/player.ts +798 -798
  182. package/toolbox/compiler.mjs +10 -6
  183. package/toolbox/hoistdep.mjs +5 -5
  184. package/toolbox/lib.mjs +63 -63
  185. package/index.html +0 -231
  186. package/meta.json +0 -6431
@@ -1,59 +1,59 @@
1
- extends ./_partials/layout.pug
2
-
3
- block title
4
- != `${__('title.category')}${__('symbol.colon')}${page.category}`
5
-
6
- block header
7
- h1(itemprop="name headline")
8
- != _p('title.category_in', page.title)
9
-
10
- block content
11
- div(class="collapse wrap")
12
- - var prev = _category_prev(page.category)
13
- h2(class="item header")
14
- a(href=url_for(config.category_dir)) #{__('title.all')}
15
- if prev
16
- small /
17
- != prev
18
- small /
19
- != page.title
20
- small #{__('title.category')}
21
- - var posts = page.posts
22
- - var current = "c"
23
- - var lastcat = ""
24
- - var lastcatslug = ""
25
- each post in posts.toArray()
26
- if post.categories && post.categories.length
27
- - var cat_length = post.categories.length
28
- each cat,index in post.categories.toArray()
29
- if cat.name === page.title
30
- - lastcat = ""
31
- - lastcatslug = ""
32
- else
33
- - lastcat += `<a href=${url_for(cat.path)}>${cat.name}</a><small>`
34
- if index >= post.categories.toArray().length - 1
35
- - lastcat = lastcat+' ( '+cat.length+' ) '+`</small>`
36
- else
37
- - lastcat = lastcat+'/'+`</small>`
38
- - lastcatslug = lastcatslug + cat.slug
39
- if lastcat && lastcatslug && lastcatslug !== current
40
- h3(class="item section")
41
- !=lastcat
42
- - current = lastcatslug
43
- article(class="item normal" itemscope itemtype="http://schema.org/Article")
44
- div(class="meta")
45
- time(
46
- itemprop="dateCreated"
47
- datetime=moment(post.date).format()
48
- content=date(post.date, config.date_format)
49
- ) #{date(post.date, 'MM-DD')}
50
- div(class="title")
51
- if post.link
52
- - var postTitleIcon = '<i class="ic i-link-alt"></i>'
53
- - var postText = post.title || post.link
54
- != _url(post.link, postText + postTitleIcon, {class: 'external', itemprop: 'url'})
55
- else
56
- a(href=url_for(post.path) itemprop="url")
57
- span(itemprop="name")
58
- != post.title || __('post.untitled')
59
- include _partials/pagination.pug
1
+ extends ./_partials/layout.pug
2
+
3
+ block title
4
+ != `${__('title.category')}${__('symbol.colon')}${page.category}`
5
+
6
+ block header
7
+ h1(itemprop="name headline")
8
+ != _p('title.category_in', page.title)
9
+
10
+ block content
11
+ div(class="collapse wrap")
12
+ - var prev = _category_prev(page.category)
13
+ h2(class="item header")
14
+ a(href=url_for(config.category_dir)) #{__('title.all')}
15
+ if prev
16
+ small /
17
+ != prev
18
+ small /
19
+ != page.title
20
+ small #{__('title.category')}
21
+ - var posts = page.posts
22
+ - var current = "c"
23
+ - var lastcat = ""
24
+ - var lastcatslug = ""
25
+ each post in posts.toArray()
26
+ if post.categories && post.categories.length
27
+ - var cat_length = post.categories.length
28
+ each cat,index in post.categories.toArray()
29
+ if cat.name === page.title
30
+ - lastcat = ""
31
+ - lastcatslug = ""
32
+ else
33
+ - lastcat += `<a href=${url_for(cat.path)}>${cat.name}</a><small>`
34
+ if index >= post.categories.toArray().length - 1
35
+ - lastcat = lastcat+' ( '+cat.length+' ) '+`</small>`
36
+ else
37
+ - lastcat = lastcat+'/'+`</small>`
38
+ - lastcatslug = lastcatslug + cat.slug
39
+ if lastcat && lastcatslug && lastcatslug !== current
40
+ h3(class="item section")
41
+ !=lastcat
42
+ - current = lastcatslug
43
+ article(class="item normal" itemscope itemtype="http://schema.org/Article")
44
+ div(class="meta")
45
+ time(
46
+ itemprop="dateCreated"
47
+ datetime=moment(post.date).format()
48
+ content=date(post.date, config.date_format)
49
+ ) #{date(post.date, 'MM-DD')}
50
+ div(class="title")
51
+ if post.link
52
+ - var postTitleIcon = '<i class="ic i-link-alt"></i>'
53
+ - var postText = post.title || post.link
54
+ != _url(post.link, postText + postTitleIcon, {class: 'external', itemprop: 'url'})
55
+ else
56
+ a(href=url_for(post.path) itemprop="url")
57
+ span(itemprop="name")
58
+ != post.title || __('post.untitled')
59
+ include _partials/pagination.pug
package/layout/index.pug CHANGED
@@ -1,33 +1,33 @@
1
- extends _partials/layout.pug
2
- include _mixin/card.pug
3
- include _mixin/postmeta.pug
4
- include _mixin/segment.pug
5
-
6
- block content
7
- div(class="index wrap")
8
- if page.current === 1
9
- if page.sticky.length > 0
10
- h2(class="divider")
11
- != __('index.sticky')
12
- - var sticky = page.sticky.toArray()
13
- div(class="segments sticky")
14
- each post in sticky
15
- +SMRender(post, false)
16
- if page.catlist.length > 0
17
- h2(class="divider")
18
- != __('index.category')
19
- div(class="cards")
20
- each cat in page.catlist
21
- +CardRender(cat)
22
- - var pagePosts = page?.posts?.length
23
- if pagePosts > 0
24
- - var posts = page.posts.toArray()
25
- if page.current === 1
26
- h2(class="divider")
27
- != __('index.posts')
28
- div(class="segments posts")
29
- each post in posts
30
- +SMRender(post, true)
31
- include _partials/pagination.pug
32
-
33
-
1
+ extends _partials/layout.pug
2
+ include _mixin/card.pug
3
+ include _mixin/postmeta.pug
4
+ include _mixin/segment.pug
5
+
6
+ block content
7
+ div(class="index wrap")
8
+ if page.current === 1
9
+ if page.sticky.length > 0
10
+ h2(class="divider")
11
+ != __('index.sticky')
12
+ - var sticky = page.sticky.toArray()
13
+ div(class="segments sticky")
14
+ each post in sticky
15
+ +SMRender(post, false)
16
+ if page.catlist.length > 0
17
+ h2(class="divider")
18
+ != __('index.category')
19
+ div(class="cards")
20
+ each cat in page.catlist
21
+ +CardRender(cat)
22
+ - var pagePosts = page?.posts?.length
23
+ if pagePosts > 0
24
+ - var posts = page.posts.toArray()
25
+ if page.current === 1
26
+ h2(class="divider")
27
+ != __('index.posts')
28
+ div(class="segments posts")
29
+ each post in posts
30
+ +SMRender(post, true)
31
+ include _partials/pagination.pug
32
+
33
+
package/layout/page.pug CHANGED
@@ -1,55 +1,55 @@
1
- extends _partials/layout.pug
2
- include _mixin/sidebar.pug
3
- include _mixin/comment.pug
4
-
5
- block title
6
- if page.type === 'categories'
7
- != __('title.all') + __('title.category')
8
- else if page.type === 'tags'
9
- != __('title.all') + __('title.tag')
10
- else if page.type === '404'
11
- != __('title.not_found')
12
- else
13
- != page.title
14
-
15
- block header
16
- h1(itemprop="name headline")
17
- if page.link
18
- - var postTitleIcon = '<i class="ic i-link-alt"></i>'
19
- - var postText = page.title || page.link
20
- != _url(page.link, postText + postTitleIcon, {class: 'link external', itemprop: 'url'})
21
- else
22
- if page.type === 'categories'
23
- != __('title.all') + __('title.category')
24
- else if page.type === 'tags'
25
- != __('title.all') + __('title.tag')
26
- else if page.type === '404'
27
- != __('title.not_found')
28
- else
29
- != page.title
30
-
31
- block content
32
- if page.type === 'categories'
33
- div(class="collapse wrap")
34
- h2(class="item title")
35
- a(href=url_for(site.path))
36
- != __('menu.home')
37
- small
38
- != _p('counter.categories', site.categories.length)
39
- != _list_categories(3)
40
- else if page.type === 'tags'
41
- div(class="collapse wrap")
42
- h2(class="item title")
43
- a(href=url_for(site.path))
44
- != __('menu.home')
45
- small
46
- != _p('counter.tag_cloud', site.tags.length)
47
- div(class="tag cloud")
48
- != tagcloud({min_font: theme.tagcloud.min,max_font: theme.tagcloud.max,amount: theme.tagcloud.amount,color: true,start_color: theme.tagcloud.start,end_color: theme.tagcloud.end})
49
- else
50
- div(class="page wrap")
51
- != partial('_partials/post/post.pug', {post: page})
52
- +CommentRender
53
-
54
- block sidebar
55
- +sidebarRender(true)
1
+ extends _partials/layout.pug
2
+ include _mixin/sidebar.pug
3
+ include _mixin/comment.pug
4
+
5
+ block title
6
+ if page.type === 'categories'
7
+ != __('title.all') + __('title.category')
8
+ else if page.type === 'tags'
9
+ != __('title.all') + __('title.tag')
10
+ else if page.type === '404'
11
+ != __('title.not_found')
12
+ else
13
+ != page.title
14
+
15
+ block header
16
+ h1(itemprop="name headline")
17
+ if page.link
18
+ - var postTitleIcon = '<i class="ic i-link-alt"></i>'
19
+ - var postText = page.title || page.link
20
+ != _url(page.link, postText + postTitleIcon, {class: 'link external', itemprop: 'url'})
21
+ else
22
+ if page.type === 'categories'
23
+ != __('title.all') + __('title.category')
24
+ else if page.type === 'tags'
25
+ != __('title.all') + __('title.tag')
26
+ else if page.type === '404'
27
+ != __('title.not_found')
28
+ else
29
+ != page.title
30
+
31
+ block content
32
+ if page.type === 'categories'
33
+ div(class="collapse wrap")
34
+ h2(class="item title")
35
+ a(href=url_for(site.path))
36
+ != __('menu.home')
37
+ small
38
+ != _p('counter.categories', site.categories.length)
39
+ != _list_categories(3)
40
+ else if page.type === 'tags'
41
+ div(class="collapse wrap")
42
+ h2(class="item title")
43
+ a(href=url_for(site.path))
44
+ != __('menu.home')
45
+ small
46
+ != _p('counter.tag_cloud', site.tags.length)
47
+ div(class="tag cloud")
48
+ != tagcloud({min_font: theme.tagcloud.min,max_font: theme.tagcloud.max,amount: theme.tagcloud.amount,color: true,start_color: theme.tagcloud.start,end_color: theme.tagcloud.end})
49
+ else
50
+ div(class="page wrap")
51
+ != partial('_partials/post/post.pug', {post: page})
52
+ +CommentRender
53
+
54
+ block sidebar
55
+ +sidebarRender(true)
package/layout/post.pug CHANGED
@@ -1,36 +1,36 @@
1
- extends _partials/layout.pug
2
- include _mixin/sidebar.pug
3
- include _mixin/comment.pug
4
- include _mixin/postmeta.pug
5
-
6
- block title
7
- - var page_title = page.title
8
- if page.categories && page.categories.length
9
- - var cat_list = ''
10
- - var comma = ''
11
- each cat in page.categories.toArray()
12
- - var cat_list = cat.name + comma + cat_list
13
- - var comma = ' - '
14
- if cat_list.length !== 0
15
- - var page_title = page.title + ' - ' + cat_list
16
- != `${page_title}`
17
-
18
- block header
19
- h1(itemprop="name headline")
20
- if page.link
21
- - var postTitleIcon = '<i class="ic i-link-alt"></i>'
22
- - var postText = page.title || page.link
23
- != _url(page.link, postText + postTitleIcon, {class: 'link external', itemprop: 'url'})
24
- else
25
- != page.title
26
- +PMRender(page, true)
27
-
28
- block content
29
- div(class="article wrap")
30
- +BCRender(page, true)
31
- != partial('_partials/post/post.pug', {post: page})
32
- != partial('_partials/post/nav.pug', {post: page})
33
- +CommentRender
34
-
35
- block sidebar
36
- +sidebarRender(true)
1
+ extends _partials/layout.pug
2
+ include _mixin/sidebar.pug
3
+ include _mixin/comment.pug
4
+ include _mixin/postmeta.pug
5
+
6
+ block title
7
+ - var page_title = page.title
8
+ if page.categories && page.categories.length
9
+ - var cat_list = ''
10
+ - var comma = ''
11
+ each cat in page.categories.toArray()
12
+ - var cat_list = cat.name + comma + cat_list
13
+ - var comma = ' - '
14
+ if cat_list.length !== 0
15
+ - var page_title = page.title + ' - ' + cat_list
16
+ != `${page_title}`
17
+
18
+ block header
19
+ h1(itemprop="name headline")
20
+ if page.link
21
+ - var postTitleIcon = '<i class="ic i-link-alt"></i>'
22
+ - var postText = page.title || page.link
23
+ != _url(page.link, postText + postTitleIcon, {class: 'link external', itemprop: 'url'})
24
+ else
25
+ != page.title
26
+ +PMRender(page, true)
27
+
28
+ block content
29
+ div(class="article wrap")
30
+ +BCRender(page, true)
31
+ != partial('_partials/post/post.pug', {post: page})
32
+ != partial('_partials/post/nav.pug', {post: page})
33
+ +CommentRender
34
+
35
+ block sidebar
36
+ +sidebarRender(true)
package/layout/tag.pug CHANGED
@@ -1,43 +1,43 @@
1
- extends ./_partials/layout.pug
2
-
3
- block title
4
- != `${__('title.tag')}${__('symbol.colon')}${page.tag}`
5
-
6
- block header
7
- h1(itemprop="name headline")
8
- != _p('title.tag_in', page.tag)
9
-
10
- block content
11
- div(class="collapse wrap")
12
- h2(class="item header")
13
- a(href=url_for(config.tag_dir))
14
- != __('title.all')
15
- small /
16
- != page.tag
17
- small
18
- != __('title.tag')
19
- - var posts = page.posts
20
- each post in posts.toArray()
21
- article(class="item normal" itemscope itemtype="http://schema.org/Article")
22
- div(class="meta")
23
- time(itemprop="dateCreated"
24
- datetime=moment(post.date).format()
25
- content=date(post.date, config.date_format))
26
- != date(post.date, 'YYYY-MM-DD')
27
- if post.categories && post.categories.length
28
- - var cat_length = post.categories.length
29
- each cat,index in post.categories.toArray()
30
- if index === cat_length && cat.name !== page.category
31
- span
32
- a(href=url_for(cat.path))
33
- != cat.name
34
- div(class="title")
35
- if post.link
36
- - var postTitleIcon = '<i class="ic i-link-alt"></i>'
37
- - var postText = post.title || post.link
38
- != _url(post.link, postText + postTitleIcon, {class: 'external', itemprop: 'url'})
39
- else
40
- a(href=url_for(post.path) itemprop="url")
41
- span(itemprop="name")
42
- != post.title || __('post.untitled')
43
- include _partials/pagination.pug
1
+ extends ./_partials/layout.pug
2
+
3
+ block title
4
+ != `${__('title.tag')}${__('symbol.colon')}${page.tag}`
5
+
6
+ block header
7
+ h1(itemprop="name headline")
8
+ != _p('title.tag_in', page.tag)
9
+
10
+ block content
11
+ div(class="collapse wrap")
12
+ h2(class="item header")
13
+ a(href=url_for(config.tag_dir))
14
+ != __('title.all')
15
+ small /
16
+ != page.tag
17
+ small
18
+ != __('title.tag')
19
+ - var posts = page.posts
20
+ each post in posts.toArray()
21
+ article(class="item normal" itemscope itemtype="http://schema.org/Article")
22
+ div(class="meta")
23
+ time(itemprop="dateCreated"
24
+ datetime=moment(post.date).format()
25
+ content=date(post.date, config.date_format))
26
+ != date(post.date, 'YYYY-MM-DD')
27
+ if post.categories && post.categories.length
28
+ - var cat_length = post.categories.length
29
+ each cat,index in post.categories.toArray()
30
+ if index === cat_length && cat.name !== page.category
31
+ span
32
+ a(href=url_for(cat.path))
33
+ != cat.name
34
+ div(class="title")
35
+ if post.link
36
+ - var postTitleIcon = '<i class="ic i-link-alt"></i>'
37
+ - var postText = post.title || post.link
38
+ != _url(post.link, postText + postTitleIcon, {class: 'external', itemprop: 'url'})
39
+ else
40
+ a(href=url_for(post.path) itemprop="url")
41
+ span(itemprop="name")
42
+ != post.title || __('post.untitled')
43
+ include _partials/pagination.pug
package/package.json CHANGED
@@ -1,72 +1,72 @@
1
- {
2
- "name": "hexo-theme-shokax",
3
- "version": "0.4.6-dev5",
4
- "description": "a hexo theme based on shoka",
5
- "main": "index.js",
6
- "repository": "https://github.com/theme-shoka-x/hexo-theme-shokaX",
7
- "author": "zkz098",
8
- "license": "AGPL-3.0-or-later",
9
- "packageManager": "pnpm@9.4.0",
10
- "scripts": {
11
- "test": "tsc --build --verbose",
12
- "build": "node ./toolbox/compiler.mjs",
13
- "preinstall": "node ./toolbox/hoistdep.mjs"
14
- },
15
- "devDependencies": {
16
- "@types/fancybox": "^3.5.7",
17
- "@types/jquery": "^3.5.30",
18
- "@types/js-yaml": "^4.0.9",
19
- "@types/katex": "^0.16.7",
20
- "@types/node": "^20.14.8",
21
- "@types/quicklink": "^2.3.4",
22
- "@typescript-eslint/eslint-plugin": "^7.13.1",
23
- "@typescript-eslint/parser": "^7.13.1",
24
- "eslint": "^9.5.0",
25
- "eslint-config-standard": "~17",
26
- "eslint-plugin-import": "^2.29.1",
27
- "eslint-plugin-n": "^17.9.0",
28
- "eslint-plugin-promise": "^6.2.0",
29
- "eslint-plugin-vue": "^9.26.0",
30
- "typescript": "^5.5.2"
31
- },
32
- "dependencies": {
33
- "@algolia/client-search": "^4.23.3",
34
- "@waline/client": "^3.2.2",
35
- "algoliasearch": "4.23.3",
36
- "esbuild": "^0.21.5",
37
- "hexo": "7.2.0",
38
- "hexo-algoliasearch": "latest",
39
- "hexo-feed": "latest",
40
- "hexo-fs": "^4.1.3",
41
- "hexo-pagination": "^3.0.0",
42
- "hexo-renderer-pug": "latest",
43
- "hexo-util": "^3.3.0",
44
- "instantsearch.js": "^4.72.1",
45
- "js-yaml": "^4.1.0",
46
- "katex": "^0.16.10",
47
- "mouse-firework": "^0.0.5",
48
- "quicklink": "^2.3.0",
49
- "theme-shokax-anime": "^0.0.6",
50
- "theme-shokax-pjax": "^0.0.3",
51
- "twikoo": "^1.6.36",
52
- "unlazy": "^0.11.3",
53
- "vue": "^3.4.30"
54
- },
55
- "engines": {
56
- "node": ">=18.0.0"
57
- },
58
- "engineStrict": true,
59
- "pnpm": {
60
- "overrides": {
61
- "array-includes": "npm:@nolyfill/array-includes@latest",
62
- "array.prototype.findlastindex": "npm:@nolyfill/array.prototype.findlastindex@latest",
63
- "array.prototype.flat": "npm:@nolyfill/array.prototype.flat@latest",
64
- "array.prototype.flatmap": "npm:@nolyfill/array.prototype.flatmap@latest",
65
- "hasown": "npm:@nolyfill/hasown@latest",
66
- "is-regex": "npm:@nolyfill/is-regex@latest",
67
- "object.fromentries": "npm:@nolyfill/object.fromentries@latest",
68
- "object.groupby": "npm:@nolyfill/object.groupby@latest",
69
- "object.values": "npm:@nolyfill/object.values@latest"
70
- }
71
- }
72
- }
1
+ {
2
+ "name": "hexo-theme-shokax",
3
+ "version": "0.4.6",
4
+ "description": "a hexo theme based on shoka",
5
+ "main": "index.js",
6
+ "repository": "https://github.com/theme-shoka-x/hexo-theme-shokaX",
7
+ "author": "zkz098",
8
+ "license": "AGPL-3.0-or-later",
9
+ "packageManager": "pnpm@9.4.0",
10
+ "scripts": {
11
+ "test": "tsc --build --verbose",
12
+ "build": "node ./toolbox/compiler.mjs"
13
+ },
14
+ "devDependencies": {
15
+ "@types/fancybox": "^3.5.7",
16
+ "@types/jquery": "^3.5.30",
17
+ "@types/js-yaml": "^4.0.9",
18
+ "@types/katex": "^0.16.7",
19
+ "@types/node": "^20.14.9",
20
+ "@types/quicklink": "^2.3.4",
21
+ "@typescript-eslint/eslint-plugin": "^7.15.0",
22
+ "@typescript-eslint/parser": "^7.15.0",
23
+ "eslint": "^9.6.0",
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"
30
+ },
31
+ "dependencies": {
32
+ "@algolia/client-search": "^4.24.0",
33
+ "@waline/client": "^3.2.6",
34
+ "algoliasearch": "4.23.3",
35
+ "esbuild": "^0.21.5",
36
+ "hexo": "^7.2.0",
37
+ "hexo-algoliasearch": "^2.0.1",
38
+ "hexo-feed": "^1.1.2",
39
+ "hexo-fs": "^4.1.3",
40
+ "hexo-lightning-minify": "^0.1.5",
41
+ "hexo-pagination": "^3.0.0",
42
+ "hexo-renderer-pug": "^3.0.0",
43
+ "hexo-util": "^3.3.0",
44
+ "instantsearch.js": "^4.73.0",
45
+ "js-yaml": "^4.1.0",
46
+ "katex": "^0.16.11",
47
+ "mouse-firework": "^0.0.5",
48
+ "quicklink": "^2.3.0",
49
+ "theme-shokax-anime": "^0.0.6",
50
+ "theme-shokax-pjax": "^0.0.3",
51
+ "twikoo": "^1.6.36",
52
+ "unlazy": "^0.11.3",
53
+ "vue": "^3.4.31"
54
+ },
55
+ "engines": {
56
+ "node": ">=18.0.0"
57
+ },
58
+ "engineStrict": true,
59
+ "pnpm": {
60
+ "overrides": {
61
+ "array-includes": "npm:@nolyfill/array-includes@latest",
62
+ "array.prototype.findlastindex": "npm:@nolyfill/array.prototype.findlastindex@latest",
63
+ "array.prototype.flat": "npm:@nolyfill/array.prototype.flat@latest",
64
+ "array.prototype.flatmap": "npm:@nolyfill/array.prototype.flatmap@latest",
65
+ "hasown": "npm:@nolyfill/hasown@latest",
66
+ "is-regex": "npm:@nolyfill/is-regex@latest",
67
+ "object.fromentries": "npm:@nolyfill/object.fromentries@latest",
68
+ "object.groupby": "npm:@nolyfill/object.groupby@latest",
69
+ "object.values": "npm:@nolyfill/object.values@latest"
70
+ }
71
+ }
72
+ }