hexo-theme-shokax 0.0.2-alpha1 → 0.0.2-alpha3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (159) hide show
  1. package/CODE_OF_CONDUCT.md +128 -0
  2. package/CONTRIBUTING.md +56 -0
  3. package/LICENSE +28 -28
  4. package/LICENSE-shoka +21 -21
  5. package/README.md +46 -53
  6. package/README_en.MD +25 -0
  7. package/_config.yml +392 -355
  8. package/_images.yml +100 -100
  9. package/languages/README.md +19 -19
  10. package/languages/default.yml +1 -1
  11. package/languages/en.yml +151 -151
  12. package/languages/ja.yml +146 -146
  13. package/languages/zh-CN.yml +154 -154
  14. package/languages/zh-HK.yml +146 -146
  15. package/languages/zh-TW.yml +146 -146
  16. package/layout/_alternate/atom.ejs +30 -30
  17. package/layout/_alternate/json.ejs +16 -16
  18. package/layout/_alternate/rss.ejs +34 -34
  19. package/layout/_mixin/breadcrumb.pug +33 -33
  20. package/layout/_mixin/card.pug +37 -37
  21. package/layout/_mixin/comment.pug +66 -12
  22. package/layout/_mixin/postmeta.pug +30 -30
  23. package/layout/_mixin/segment.pug +32 -32
  24. package/layout/_mixin/sidebar.pug +36 -36
  25. package/layout/_mixin/widgets.pug +31 -29
  26. package/layout/_partials/footer.pug +40 -40
  27. package/layout/_partials/head/head.pug +51 -58
  28. package/layout/_partials/head/head_com.pug +17 -17
  29. package/layout/_partials/head/pwa.pug +18 -18
  30. package/layout/_partials/header.pug +18 -20
  31. package/layout/_partials/layout.pug +143 -153
  32. package/layout/_partials/loading.pug +13 -13
  33. package/layout/_partials/pagination.pug +4 -4
  34. package/layout/_partials/post/copyright.pug +20 -20
  35. package/layout/_partials/post/footer.pug +14 -14
  36. package/layout/_partials/post/nav.pug +13 -13
  37. package/layout/_partials/post/post.pug +28 -27
  38. package/layout/_partials/post/reward.pug +18 -18
  39. package/layout/_partials/sidebar/menu.pug +37 -37
  40. package/layout/_partials/sidebar/overview.pug +41 -42
  41. package/layout/_partials/third-party/baidu-analytics.pug +11 -11
  42. package/layout/_partials/third-party/clarity.pug +8 -8
  43. package/layout/archive.pug +118 -118
  44. package/layout/category.pug +63 -63
  45. package/layout/index.pug +33 -33
  46. package/layout/page.pug +56 -56
  47. package/layout/post.pug +35 -35
  48. package/layout/tag.pug +43 -43
  49. package/package.json +35 -35
  50. package/scripts/filters/locals.js +59 -59
  51. package/scripts/filters/post.js +23 -23
  52. package/scripts/generaters/archive.js +141 -141
  53. package/scripts/generaters/config.js +43 -43
  54. package/scripts/generaters/images.js +26 -26
  55. package/scripts/generaters/index.js +110 -110
  56. package/scripts/generaters/pages.js +19 -19
  57. package/scripts/generaters/script.js +89 -89
  58. package/scripts/helpers/asset.js +183 -237
  59. package/scripts/helpers/engine.js +190 -190
  60. package/scripts/helpers/list_categories.js +140 -140
  61. package/scripts/helpers/symbols_count_time.js +76 -76
  62. package/scripts/plugin/index.js +6 -6
  63. package/scripts/plugin/lib/injects-point.js +19 -19
  64. package/scripts/plugin/lib/injects.js +89 -88
  65. package/scripts/tags/links.js +86 -86
  66. package/scripts/tags/media.js +19 -19
  67. package/source/assets/algolia_logo.svg +9 -9
  68. package/source/assets/logo.svg +16 -16
  69. package/source/css/_colors.styl +207 -207
  70. package/source/css/_common/components/components.styl +6 -6
  71. package/source/css/_common/components/highlight/highlight.styl +353 -353
  72. package/source/css/_common/components/highlight/operation.styl +21 -21
  73. package/source/css/_common/components/pages/collapse.styl +119 -119
  74. package/source/css/_common/components/pages/home.styl +385 -385
  75. package/source/css/_common/components/pages/pages.styl +56 -56
  76. package/source/css/_common/components/pages/tag-cloud.styl +12 -12
  77. package/source/css/_common/components/post/breadcrumb.styl +39 -39
  78. package/source/css/_common/components/post/copyright.styl +41 -41
  79. package/source/css/_common/components/post/expand.styl +264 -264
  80. package/source/css/_common/components/post/footer.styl +11 -11
  81. package/source/css/_common/components/post/header.styl +79 -79
  82. package/source/css/_common/components/post/nav.styl +63 -63
  83. package/source/css/_common/components/post/post.styl +29 -29
  84. package/source/css/_common/components/post/reward.styl +50 -50
  85. package/source/css/_common/components/post/rtl.styl +12 -12
  86. package/source/css/_common/components/post/tags.styl +39 -39
  87. package/source/css/_common/components/tags/collapse.styl +72 -72
  88. package/source/css/_common/components/tags/container.styl +49 -49
  89. package/source/css/_common/components/tags/label.styl +12 -12
  90. package/source/css/_common/components/tags/links.styl +77 -77
  91. package/source/css/_common/components/tags/list.styl +131 -131
  92. package/source/css/_common/components/tags/note.styl +70 -70
  93. package/source/css/_common/components/tags/player.styl +361 -361
  94. package/source/css/_common/components/tags/quiz.styl +200 -200
  95. package/source/css/_common/components/tags/tabs.styl +83 -83
  96. package/source/css/_common/components/tags/tags.styl +9 -9
  97. package/source/css/_common/components/third-party/loading.styl +222 -222
  98. package/source/css/_common/components/third-party/mermaid/class.styl +90 -90
  99. package/source/css/_common/components/third-party/mermaid/flowchart.styl +72 -72
  100. package/source/css/_common/components/third-party/mermaid/gantt.styl +251 -251
  101. package/source/css/_common/components/third-party/mermaid/git.styl +7 -7
  102. package/source/css/_common/components/third-party/mermaid/mermaid.styl +37 -37
  103. package/source/css/_common/components/third-party/mermaid/pie.styl +9 -9
  104. package/source/css/_common/components/third-party/mermaid/sequence.styl +95 -95
  105. package/source/css/_common/components/third-party/mermaid/state.styl +130 -130
  106. package/source/css/_common/components/third-party/pace.styl +18 -18
  107. package/source/css/_common/components/third-party/search.styl +167 -167
  108. package/source/css/_common/components/third-party/theme.styl +151 -151
  109. package/source/css/_common/components/third-party/third-party.styl +22 -22
  110. package/source/css/_common/components/third-party/valine.styl +548 -548
  111. package/source/css/_common/components/third-party/widgets.styl +57 -57
  112. package/source/css/_common/outline/footer/footer.styl +69 -69
  113. package/source/css/_common/outline/header/brand.styl +77 -77
  114. package/source/css/_common/outline/header/header.styl +20 -20
  115. package/source/css/_common/outline/header/image.styl +79 -79
  116. package/source/css/_common/outline/header/menu.styl +117 -117
  117. package/source/css/_common/outline/header/nav.styl +81 -81
  118. package/source/css/_common/outline/header/right.styl +15 -15
  119. package/source/css/_common/outline/header/tool.styl +207 -207
  120. package/source/css/_common/outline/header/waves.styl +50 -50
  121. package/source/css/_common/outline/mobile.styl +46 -46
  122. package/source/css/_common/outline/outline.styl +78 -78
  123. package/source/css/_common/outline/sidebar/author.styl +59 -59
  124. package/source/css/_common/outline/sidebar/dimmer.styl +23 -23
  125. package/source/css/_common/outline/sidebar/menu.styl +63 -63
  126. package/source/css/_common/outline/sidebar/quick.styl +43 -43
  127. package/source/css/_common/outline/sidebar/related.styl +56 -56
  128. package/source/css/_common/outline/sidebar/sidebar.styl +75 -75
  129. package/source/css/_common/outline/sidebar/social.styl +69 -69
  130. package/source/css/_common/outline/sidebar/state.styl +37 -37
  131. package/source/css/_common/outline/sidebar/tab.styl +71 -71
  132. package/source/css/_common/outline/sidebar/toc.styl +47 -47
  133. package/source/css/_common/scaffolding/animate.styl +318 -318
  134. package/source/css/_common/scaffolding/base.styl +172 -172
  135. package/source/css/_common/scaffolding/buttons.styl +48 -48
  136. package/source/css/_common/scaffolding/divider.styl +36 -36
  137. package/source/css/_common/scaffolding/iconfont.styl +443 -443
  138. package/source/css/_common/scaffolding/normalize.styl +289 -289
  139. package/source/css/_common/scaffolding/pagination.styl +81 -81
  140. package/source/css/_common/scaffolding/ribbon.styl +38 -38
  141. package/source/css/_common/scaffolding/scaffolding.styl +14 -14
  142. package/source/css/_common/scaffolding/scrollbar.styl +37 -37
  143. package/source/css/_common/scaffolding/tables.styl +50 -50
  144. package/source/css/_common/scaffolding/tip.styl +19 -19
  145. package/source/css/_common/scaffolding/toggles.styl +59 -59
  146. package/source/css/_iconfont.styl +451 -451
  147. package/source/css/_mixins.styl +146 -146
  148. package/source/css/_variables.styl +89 -89
  149. package/source/css/app.styl +36 -38
  150. package/source/css/comment.styl +5 -5
  151. package/source/css/mermaid.styl +5 -5
  152. package/source/js/_app/components.js +330 -330
  153. package/source/js/_app/global.js +317 -317
  154. package/source/js/_app/library.js +302 -302
  155. package/source/js/_app/page.js +623 -623
  156. package/source/js/_app/player.js +748 -748
  157. package/source/js/_app/vue.js +43 -43
  158. package/layout/_partials/third-party/qweather.pug +0 -35
  159. package/source/css/plugin.styl +0 -174
@@ -1,63 +1,63 @@
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
- - var lastcat = ""
31
- - var lastcatslug = ""
32
- else
33
- mixin lastcat
34
- != lastcat
35
- a(href=url_for(cat.path))
36
- != cat.name
37
- small
38
- if index >= post.categories.toArray().length
39
- != cat.length
40
- else
41
- #{'/'}
42
- - var lastcatslug = lastcatslug + cat.slug
43
- if lastcat && lastcatslug && lastcatslug !== current
44
- h3(class="item section")
45
- +lastcat
46
- - var current = lastcatslug
47
- article(class="item normal" itemscope itemtype="http://schema.org/Article")
48
- div(class="meta")
49
- time(
50
- itemprop="dateCreated"
51
- datetime=moment(post.date).format()
52
- content=date(post.date, config.date_format)
53
- ) #{date(post.date, 'MM-DD')}
54
- div(class="title")
55
- if post.link
56
- - var postTitleIcon = '<i class="ic i-link-alt"></i>'
57
- - var postText = post.title || post.link
58
- != _url(post.link, postText + postTitleIcon, {class: 'external', itemprop: 'url'})
59
- else
60
- a(href=url_for(post.path) itemprop="url")
61
- span(itemprop="name")
62
- != post.title || __('post.untitled')
63
- 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
+ - var lastcat = ""
31
+ - var lastcatslug = ""
32
+ else
33
+ mixin lastcat
34
+ != lastcat
35
+ a(href=url_for(cat.path))
36
+ != cat.name
37
+ small
38
+ if index >= post.categories.toArray().length
39
+ != cat.length
40
+ else
41
+ #{'/'}
42
+ - var lastcatslug = lastcatslug + cat.slug
43
+ if lastcat && lastcatslug && lastcatslug !== current
44
+ h3(class="item section")
45
+ +lastcat
46
+ - var current = lastcatslug
47
+ article(class="item normal" itemscope itemtype="http://schema.org/Article")
48
+ div(class="meta")
49
+ time(
50
+ itemprop="dateCreated"
51
+ datetime=moment(post.date).format()
52
+ content=date(post.date, config.date_format)
53
+ ) #{date(post.date, 'MM-DD')}
54
+ div(class="title")
55
+ if post.link
56
+ - var postTitleIcon = '<i class="ic i-link-alt"></i>'
57
+ - var postText = post.title || post.link
58
+ != _url(post.link, postText + postTitleIcon, {class: 'external', itemprop: 'url'})
59
+ else
60
+ a(href=url_for(post.path) itemprop="url")
61
+ span(itemprop="name")
62
+ != post.title || __('post.untitled')
63
+ 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)
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)
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)
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)
31
+ include _partials/pagination.pug
32
+
33
+
package/layout/page.pug CHANGED
@@ -1,56 +1,56 @@
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
-
16
- block header
17
- h1(itemprop="name headline")
18
- if page.link
19
- - var postTitleIcon = '<i class="ic i-link-alt"></i>'
20
- - var postText = page.title || page.link
21
- != _url(page.link, postText + postTitleIcon, {class: 'link external', itemprop: 'url'})
22
- else
23
- if page.type === 'categories'
24
- != __('title.all') + __('title.category')
25
- else if page.type === 'tags'
26
- != __('title.all') + __('title.tag')
27
- else if page.type === '404'
28
- != __('title.not_found')
29
- else
30
- != page.title
31
- != "|"
32
-
33
- block content
34
- if page.type === 'categories'
35
- div(class="collapse wrap")
36
- h2(class="item title")
37
- a(href=url_for(site.path))
38
- != __('menu.home')
39
- small
40
- != _p('counter.categories', site.categories.length)
41
- else if page.type === 'tags'
42
- div(class="collapse wrap")
43
- h2(class="item title")
44
- a(href=url_for(site.path))
45
- != __('menu.home')
46
- small
47
- != _p('counter.tag_cloud', site.tags.length)
48
- div(class="tag cloud")
49
- != 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})
50
- else
51
- div(class="page wrap")
52
- != partial('_partials/post/post.pug', {post: page})
53
- +CommentRender
54
-
55
- block sidebar
56
- +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
+
16
+ block header
17
+ h1(itemprop="name headline")
18
+ if page.link
19
+ - var postTitleIcon = '<i class="ic i-link-alt"></i>'
20
+ - var postText = page.title || page.link
21
+ != _url(page.link, postText + postTitleIcon, {class: 'link external', itemprop: 'url'})
22
+ else
23
+ if page.type === 'categories'
24
+ != __('title.all') + __('title.category')
25
+ else if page.type === 'tags'
26
+ != __('title.all') + __('title.tag')
27
+ else if page.type === '404'
28
+ != __('title.not_found')
29
+ else
30
+ != page.title
31
+ != "|"
32
+
33
+ block content
34
+ if page.type === 'categories'
35
+ div(class="collapse wrap")
36
+ h2(class="item title")
37
+ a(href=url_for(site.path))
38
+ != __('menu.home')
39
+ small
40
+ != _p('counter.categories', site.categories.length)
41
+ else if page.type === 'tags'
42
+ div(class="collapse wrap")
43
+ h2(class="item title")
44
+ a(href=url_for(site.path))
45
+ != __('menu.home')
46
+ small
47
+ != _p('counter.tag_cloud', site.tags.length)
48
+ div(class="tag cloud")
49
+ != 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})
50
+ else
51
+ div(class="page wrap")
52
+ != partial('_partials/post/post.pug', {post: page})
53
+ +CommentRender
54
+
55
+ block sidebar
56
+ +sidebarRender(true)
package/layout/post.pug CHANGED
@@ -1,35 +1,35 @@
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
- - var page_title = page.title + ' - ' + cat_list
15
- != `${page_title} |`
16
-
17
- block header
18
- h1(itemprop="name headline")
19
- if page.link
20
- - var postTitleIcon = '<i class="ic i-link-alt"></i>'
21
- - var postText = page.title || page.link
22
- != _url(page.link, postText + postTitleIcon, {class: 'link external', itemprop: 'url'})
23
- else
24
- != page.title
25
- +PMRender(page, true)
26
-
27
- block content
28
- div(class="article wrap")
29
- +BCRender(page, true)
30
- != partial('_partials/post/post.pug', {post: page})
31
- != partial('_partials/post/nav.pug', {post: page})
32
- +CommentRender
33
-
34
- block sidebar
35
- +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
+ - var page_title = page.title + ' - ' + cat_list
15
+ != `${page_title} |`
16
+
17
+ block header
18
+ h1(itemprop="name headline")
19
+ if page.link
20
+ - var postTitleIcon = '<i class="ic i-link-alt"></i>'
21
+ - var postText = page.title || page.link
22
+ != _url(page.link, postText + postTitleIcon, {class: 'link external', itemprop: 'url'})
23
+ else
24
+ != page.title
25
+ +PMRender(page, true)
26
+
27
+ block content
28
+ div(class="article wrap")
29
+ +BCRender(page, true)
30
+ != partial('_partials/post/post.pug', {post: page})
31
+ != partial('_partials/post/nav.pug', {post: page})
32
+ +CommentRender
33
+
34
+ block sidebar
35
+ +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,35 +1,35 @@
1
- {
2
- "name": "hexo-theme-shokax",
3
- "version": "0.0.2-alpha1",
4
- "description": "a hexo theme based on shoka",
5
- "main": "index.js",
6
- "repository": "https://github.com/zkz098/hexo-theme-shokaX",
7
- "author": "Chou kaitaku",
8
- "license": "BSD-3-Clause",
9
- "scripts": {
10
- "test": "cd ./source/js && tsc"
11
- },
12
- "devDependencies": {
13
- "@types/animejs": "^3.1.6",
14
- "@types/fancybox": "^3.5.3",
15
- "@types/hexo": "^3.8.8",
16
- "@types/jquery": "^3.5.14",
17
- "@types/js-yaml": "^4.0.5",
18
- "@types/lozad": "^1.16.1",
19
- "@types/node": "^18.11.18",
20
- "@types/shelljs": "^0.8.11",
21
- "@typescript-eslint/eslint-plugin": "^5.47.1",
22
- "@typescript-eslint/parser": "^5.47.1",
23
- "eslint": "^8.30.0",
24
- "eslint-config-standard": "^17.0.0",
25
- "eslint-plugin-import": "^2.26.0",
26
- "eslint-plugin-n": "^15.6.0",
27
- "eslint-plugin-promise": "^6.1.1",
28
- "eslint-plugin-vue": "^9.8.0",
29
- "typescript": "^4.9.4",
30
- "vue": "^3.2.45"
31
- },
32
- "dependencies": {
33
- "js-yaml": "^4.1.0"
34
- }
35
- }
1
+ {
2
+ "name": "hexo-theme-shokax",
3
+ "version": "0.0.2-alpha3",
4
+ "description": "a hexo theme based on shoka",
5
+ "main": "index.js",
6
+ "repository": "https://github.com/zkz098/hexo-theme-shokaX",
7
+ "author": "Chou kaitaku",
8
+ "license": "BSD-3-Clause",
9
+ "scripts": {
10
+ "test": "cd ./source/js && tsc"
11
+ },
12
+ "devDependencies": {
13
+ "@types/animejs": "^3.1.6",
14
+ "@types/fancybox": "^3.5.3",
15
+ "@types/hexo": "^3.8.8",
16
+ "@types/jquery": "^3.5.14",
17
+ "@types/js-yaml": "^4.0.5",
18
+ "@types/lozad": "^1.16.1",
19
+ "@types/node": "^18.11.18",
20
+ "@types/shelljs": "^0.8.11",
21
+ "@typescript-eslint/eslint-plugin": "^5.47.1",
22
+ "@typescript-eslint/parser": "^5.47.1",
23
+ "eslint": "^8.30.0",
24
+ "eslint-config-standard": "^17.0.0",
25
+ "eslint-plugin-import": "^2.26.0",
26
+ "eslint-plugin-n": "^15.6.0",
27
+ "eslint-plugin-promise": "^6.1.1",
28
+ "eslint-plugin-vue": "^9.8.0",
29
+ "typescript": "^4.9.4",
30
+ "vue": "^3.2.45"
31
+ },
32
+ "dependencies": {
33
+ "js-yaml": "^4.1.0"
34
+ }
35
+ }
@@ -1,59 +1,59 @@
1
- 'use strict'
2
- /* global hexo */
3
-
4
- const fmtNum = num => {
5
- return num < 10 ? '0' + num : num
6
- }
7
-
8
- hexo.extend.filter.register('template_locals', locals => {
9
- const { config } = hexo
10
- const { __, theme } = locals
11
- const { i18n } = hexo.theme
12
-
13
- const pangu = theme.pangu
14
- ? require('pangu')
15
- : {
16
- spacing: (data) => {
17
- return data
18
- }
19
- }
20
-
21
- // Language & Config
22
- locals.alternate = theme.alternate
23
- locals.title = pangu.spacing(__('title') !== 'title' ? __('title') : config.title)
24
- locals.subtitle = pangu.spacing(__('subtitle') !== 'subtitle' ? __('subtitle') : config.subtitle)
25
- locals.author = __('author') !== 'author' ? __('author') : config.author
26
- locals.description = pangu.spacing(__('description') !== 'description' ? __('description') : config.description)
27
- locals.languages = [...i18n.languages]
28
- locals.languages.splice(locals.languages.indexOf('default'), 1)
29
- locals.page.lang = locals.page.lang || locals.page.language
30
- locals.hostname = new URL(config.url).hostname || config.url
31
-
32
- // Creative Commons
33
- if (theme.creative_commons.license === 'zero') {
34
- locals.ccURL = 'https://creativecommons.org/' + 'publicdomain/zero/1.0/' + (theme.creative_commons.language || '')
35
- } else {
36
- locals.ccURL = 'https://creativecommons.org/' + 'licenses/' + theme.creative_commons.license + '/4.0/' + (theme.creative_commons.language || '')
37
- }
38
-
39
- if (locals.page.title) {
40
- locals.page.title = pangu.spacing(locals.page.title)
41
- }
42
- locals.page.lastcat = ''
43
- if (locals.page.categories) {
44
- locals.page.categories.map((cat) => {
45
- if (cat.name) {
46
- cat.name = locals.page.lastcat = pangu.spacing(cat.name)
47
- }
48
- return cat
49
- })
50
- }
51
-
52
- if (locals.page.category) {
53
- locals.page.title = pangu.spacing(locals.page.category)
54
- }
55
-
56
- if (locals.page.month) {
57
- locals.page.month = fmtNum(locals.page.month)
58
- }
59
- })
1
+ 'use strict'
2
+ /* global hexo */
3
+
4
+ const fmtNum = num => {
5
+ return num < 10 ? '0' + num : num
6
+ }
7
+
8
+ hexo.extend.filter.register('template_locals', locals => {
9
+ const { config } = hexo
10
+ const { __, theme } = locals
11
+ const { i18n } = hexo.theme
12
+
13
+ const pangu = theme.pangu
14
+ ? require('pangu')
15
+ : {
16
+ spacing: (data) => {
17
+ return data
18
+ }
19
+ }
20
+
21
+ // Language & Config
22
+ locals.alternate = theme.alternate
23
+ locals.title = pangu.spacing(__('title') !== 'title' ? __('title') : config.title)
24
+ locals.subtitle = pangu.spacing(__('subtitle') !== 'subtitle' ? __('subtitle') : config.subtitle)
25
+ locals.author = __('author') !== 'author' ? __('author') : config.author
26
+ locals.description = pangu.spacing(__('description') !== 'description' ? __('description') : config.description)
27
+ locals.languages = [...i18n.languages]
28
+ locals.languages.splice(locals.languages.indexOf('default'), 1)
29
+ locals.page.lang = locals.page.lang || locals.page.language
30
+ locals.hostname = new URL(config.url).hostname || config.url
31
+
32
+ // Creative Commons
33
+ if (theme.creative_commons.license === 'zero') {
34
+ locals.ccURL = 'https://creativecommons.org/' + 'publicdomain/zero/1.0/' + (theme.creative_commons.language || '')
35
+ } else {
36
+ locals.ccURL = 'https://creativecommons.org/' + 'licenses/' + theme.creative_commons.license + '/4.0/' + (theme.creative_commons.language || '')
37
+ }
38
+
39
+ if (locals.page.title) {
40
+ locals.page.title = pangu.spacing(locals.page.title)
41
+ }
42
+ locals.page.lastcat = ''
43
+ if (locals.page.categories) {
44
+ locals.page.categories.map((cat) => {
45
+ if (cat.name) {
46
+ cat.name = locals.page.lastcat = pangu.spacing(cat.name)
47
+ }
48
+ return cat
49
+ })
50
+ }
51
+
52
+ if (locals.page.category) {
53
+ locals.page.title = pangu.spacing(locals.page.category)
54
+ }
55
+
56
+ if (locals.page.month) {
57
+ locals.page.month = fmtNum(locals.page.month)
58
+ }
59
+ })