hexo-theme-shokax 0.5.2-hotfix.2 → 0.5.3

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.
Files changed (160) hide show
  1. package/.vscode/settings.json +5 -5
  2. package/CODE_OF_CONDUCT.md +128 -128
  3. package/LICENSE +660 -660
  4. package/LICENSE-shoka +21 -21
  5. package/README.md +74 -74
  6. package/UsageRestrictions.md +25 -25
  7. package/_config.yml +359 -352
  8. package/languages/README.md +19 -19
  9. package/languages/default.yml +1 -1
  10. package/languages/en.yml +155 -155
  11. package/languages/ja.yml +155 -155
  12. package/languages/zh-CN.yml +155 -155
  13. package/languages/zh-HK.yml +155 -155
  14. package/languages/zh-TW.yml +155 -155
  15. package/layout/_alternate/atom.ejs +30 -30
  16. package/layout/_alternate/json.ejs +16 -16
  17. package/layout/_alternate/rss.ejs +34 -34
  18. package/layout/_mixin/breadcrumb.pug +33 -33
  19. package/layout/_mixin/card.pug +37 -37
  20. package/layout/_mixin/comment.pug +6 -6
  21. package/layout/_mixin/postmeta.pug +29 -29
  22. package/layout/_mixin/segment.pug +35 -35
  23. package/layout/_mixin/sidebar.pug +40 -40
  24. package/layout/_mixin/widgets.pug +28 -28
  25. package/layout/_partials/footer.pug +43 -43
  26. package/layout/_partials/head/head.pug +50 -50
  27. package/layout/_partials/head/head_com.pug +24 -24
  28. package/layout/_partials/head/pwa.pug +18 -18
  29. package/layout/_partials/header.pug +18 -18
  30. package/layout/_partials/layout.pug +138 -137
  31. package/layout/_partials/loading.pug +13 -13
  32. package/layout/_partials/pagination.pug +4 -4
  33. package/layout/_partials/post/copyright.pug +20 -20
  34. package/layout/_partials/post/footer.pug +20 -20
  35. package/layout/_partials/post/nav.pug +17 -17
  36. package/layout/_partials/post/post.pug +42 -42
  37. package/layout/_partials/post/reward.pug +18 -18
  38. package/layout/_partials/sidebar/menu.pug +37 -37
  39. package/layout/_partials/sidebar/overview.pug +42 -42
  40. package/layout/_partials/third-party/baidu-analytics.pug +11 -11
  41. package/layout/_partials/third-party/clarity.pug +8 -8
  42. package/layout/_partials/third-party/google-analytics.pug +9 -9
  43. package/layout/archive.pug +121 -121
  44. package/layout/category.pug +62 -62
  45. package/layout/index.pug +36 -36
  46. package/layout/page.pug +60 -60
  47. package/layout/post.pug +42 -42
  48. package/layout/tag.pug +46 -46
  49. package/package.json +6 -5
  50. package/scripts/generaters/script.js +2 -1
  51. package/source/assets/algolia_logo.svg +9 -9
  52. package/source/assets/logo.svg +16 -16
  53. package/source/css/_colors.styl +207 -207
  54. package/source/css/_common/components/components.styl +5 -5
  55. package/source/css/_common/components/pages/collapse.styl +119 -119
  56. package/source/css/_common/components/pages/home.styl +391 -391
  57. package/source/css/_common/components/pages/pages.styl +56 -56
  58. package/source/css/_common/components/pages/tag-cloud.styl +12 -12
  59. package/source/css/_common/components/post/breadcrumb.styl +39 -39
  60. package/source/css/_common/components/post/copyright.styl +41 -41
  61. package/source/css/_common/components/post/expand.styl +263 -263
  62. package/source/css/_common/components/post/footer.styl +11 -11
  63. package/source/css/_common/components/post/header.styl +79 -79
  64. package/source/css/_common/components/post/nav.styl +64 -64
  65. package/source/css/_common/components/post/post.styl +29 -29
  66. package/source/css/_common/components/post/reward.styl +50 -50
  67. package/source/css/_common/components/post/rtl.styl +12 -12
  68. package/source/css/_common/components/post/tags.styl +39 -39
  69. package/source/css/_common/components/tags/collapse.styl +72 -72
  70. package/source/css/_common/components/tags/container.styl +49 -49
  71. package/source/css/_common/components/tags/label.styl +12 -12
  72. package/source/css/_common/components/tags/links.styl +77 -77
  73. package/source/css/_common/components/tags/list.styl +131 -131
  74. package/source/css/_common/components/tags/note.styl +70 -70
  75. package/source/css/_common/components/tags/player.styl +361 -361
  76. package/source/css/_common/components/tags/quiz.styl +200 -200
  77. package/source/css/_common/components/tags/tabs.styl +89 -89
  78. package/source/css/_common/components/tags/tags.styl +9 -9
  79. package/source/css/_common/components/third-party/loading.styl +222 -222
  80. package/source/css/_common/components/third-party/mermaid/class.styl +90 -90
  81. package/source/css/_common/components/third-party/mermaid/flowchart.styl +72 -72
  82. package/source/css/_common/components/third-party/mermaid/gantt.styl +251 -251
  83. package/source/css/_common/components/third-party/mermaid/git.styl +7 -7
  84. package/source/css/_common/components/third-party/mermaid/mermaid.styl +37 -37
  85. package/source/css/_common/components/third-party/mermaid/pie.styl +9 -9
  86. package/source/css/_common/components/third-party/mermaid/sequence.styl +95 -95
  87. package/source/css/_common/components/third-party/mermaid/state.styl +130 -130
  88. package/source/css/_common/components/third-party/pace.styl +18 -18
  89. package/source/css/_common/components/third-party/search.styl +167 -167
  90. package/source/css/_common/components/third-party/theme.styl +151 -151
  91. package/source/css/_common/components/third-party/third-party.styl +22 -22
  92. package/source/css/_common/components/third-party/widgets.styl +57 -57
  93. package/source/css/_common/outline/footer/footer.styl +67 -67
  94. package/source/css/_common/outline/header/brand.styl +77 -77
  95. package/source/css/_common/outline/header/header.styl +20 -20
  96. package/source/css/_common/outline/header/image.styl +85 -85
  97. package/source/css/_common/outline/header/menu.styl +117 -117
  98. package/source/css/_common/outline/header/nav.styl +81 -81
  99. package/source/css/_common/outline/header/right.styl +15 -15
  100. package/source/css/_common/outline/header/tool.styl +207 -207
  101. package/source/css/_common/outline/header/waves.styl +57 -57
  102. package/source/css/_common/outline/mobile.styl +46 -46
  103. package/source/css/_common/outline/outline.styl +78 -78
  104. package/source/css/_common/outline/sidebar/author.styl +59 -59
  105. package/source/css/_common/outline/sidebar/dimmer.styl +23 -23
  106. package/source/css/_common/outline/sidebar/menu.styl +63 -63
  107. package/source/css/_common/outline/sidebar/quick.styl +43 -43
  108. package/source/css/_common/outline/sidebar/related.styl +56 -56
  109. package/source/css/_common/outline/sidebar/sidebar.styl +82 -82
  110. package/source/css/_common/outline/sidebar/social.styl +69 -69
  111. package/source/css/_common/outline/sidebar/state.styl +37 -37
  112. package/source/css/_common/outline/sidebar/tab.styl +71 -71
  113. package/source/css/_common/outline/sidebar/toc.styl +47 -47
  114. package/source/css/_common/scaffolding/animate.styl +322 -322
  115. package/source/css/_common/scaffolding/base.styl +192 -192
  116. package/source/css/_common/scaffolding/buttons.styl +48 -48
  117. package/source/css/_common/scaffolding/divider.styl +36 -36
  118. package/source/css/_common/scaffolding/iconfont.styl +443 -443
  119. package/source/css/_common/scaffolding/normalize.styl +273 -273
  120. package/source/css/_common/scaffolding/pagination.styl +81 -81
  121. package/source/css/_common/scaffolding/ribbon.styl +38 -38
  122. package/source/css/_common/scaffolding/scaffolding.styl +14 -14
  123. package/source/css/_common/scaffolding/scrollbar.styl +37 -37
  124. package/source/css/_common/scaffolding/tables.styl +50 -50
  125. package/source/css/_common/scaffolding/tip.styl +19 -19
  126. package/source/css/_common/scaffolding/toggles.styl +59 -59
  127. package/source/css/_iconfont.styl +455 -455
  128. package/source/css/_mixins.styl +148 -148
  129. package/source/css/_variables.styl +89 -89
  130. package/source/css/app.styl +25 -25
  131. package/source/css/mermaid.styl +5 -5
  132. package/source/css/page.styl +2 -2
  133. package/source/css/post.styl +4 -4
  134. package/source/css/scaffolding.styl +4 -4
  135. package/source/js/_app/components/cloudflare.ts +18 -18
  136. package/source/js/_app/components/comments.ts +88 -88
  137. package/source/js/_app/components/sidebar.ts +243 -243
  138. package/source/js/_app/components/tcomments.ts +53 -53
  139. package/source/js/_app/globals/globalVars.ts +84 -84
  140. package/source/js/_app/globals/handles.ts +124 -124
  141. package/source/js/_app/globals/themeColor.ts +62 -62
  142. package/source/js/_app/globals/thirdparty.ts +63 -63
  143. package/source/js/_app/globals/tools.ts +73 -73
  144. package/source/js/_app/library/anime.ts +121 -121
  145. package/source/js/_app/library/declare.d.ts +129 -128
  146. package/source/js/_app/library/proto.ts +70 -70
  147. package/source/js/_app/library/vue.ts +49 -49
  148. package/source/js/_app/page/common.ts +41 -41
  149. package/source/js/_app/page/imageviewer.ts +15 -15
  150. package/source/js/_app/page/post.ts +251 -251
  151. package/source/js/_app/page/search.ts +109 -109
  152. package/source/js/_app/page/tab.ts +59 -59
  153. package/source/js/_app/pjax/domInit.ts +102 -102
  154. package/source/js/_app/pjax/refresh.ts +117 -117
  155. package/source/js/_app/pjax/siteInit.ts +93 -90
  156. package/source/js/_app/player.ts +13 -13
  157. package/toolbox/compiler.mjs +49 -49
  158. package/toolbox/dev-version.mjs +14 -14
  159. package/toolbox/hoistdep.mjs +5 -5
  160. package/toolbox/lib.mjs +63 -63
@@ -1,29 +1,29 @@
1
- mixin PMRender(item, full)
2
- - full ||= false
3
- div(class="meta")
4
- - var create_title = __('post.created') + __('symbol.colon') + full_date(item.date)
5
- span(class="item" title=create_title)
6
- span(class="icon")
7
- i(class="ic i-calendar")
8
- if full
9
- span(class="text")
10
- != __('post.posted')
11
- time(itemprop="dateCreated datePublished" datetime=moment(item.date).format())
12
- != date(item.date)
13
- if theme.post.count
14
- span(class="item" title=__('symbols_count_time.count'))
15
- span(class="icon")
16
- i(class="ic i-pen")
17
- if full
18
- span(class="text")
19
- != __('symbols_count_time.count')
20
- span= symbolsCount(item)
21
- span(class="text")
22
- != __('symbols_count_time.word')
23
- span(class="item" title=__('symbols_count_time.time'))
24
- span(class="icon")
25
- i(class="ic i-clock")
26
- if full
27
- span(class="text")
28
- != __('symbols_count_time.time')
29
- span= symbolsTime(item, config.symbols_count_time.awl, config.symbols_count_time.wpm, __('symbols_count_time.time_minutes'))
1
+ mixin PMRender(item, full)
2
+ - full ||= false
3
+ div(class="meta")
4
+ - var create_title = __('post.created') + __('symbol.colon') + full_date(item.date)
5
+ span(class="item" title=create_title)
6
+ span(class="icon")
7
+ i(class="ic i-calendar")
8
+ if full
9
+ span(class="text")
10
+ != __('post.posted')
11
+ time(itemprop="dateCreated datePublished" datetime=moment(item.date).format())
12
+ != date(item.date)
13
+ if theme.post.count
14
+ span(class="item" title=__('symbols_count_time.count'))
15
+ span(class="icon")
16
+ i(class="ic i-pen")
17
+ if full
18
+ span(class="text")
19
+ != __('symbols_count_time.count')
20
+ span= symbolsCount(item)
21
+ span(class="text")
22
+ != __('symbols_count_time.word')
23
+ span(class="item" title=__('symbols_count_time.time'))
24
+ span(class="icon")
25
+ i(class="ic i-clock")
26
+ if full
27
+ span(class="text")
28
+ != __('symbols_count_time.time')
29
+ span= symbolsTime(item, config.symbols_count_time.awl, config.symbols_count_time.wpm, __('symbols_count_time.time_minutes'))
@@ -1,35 +1,35 @@
1
- include postmeta.pug
2
-
3
- mixin SMRender(item, lazy)
4
- - var link1 = item.link || item.path
5
- - var gradient = theme?.experiments?.gradient
6
- if item.link
7
- - var postTitleIcon = '<i class="ic i-link-alt"></i>'
8
- - var postText = item.title || item.link || __('post.untitled')
9
- article(class="item")
10
- if gradient
11
- div(class="cover" style=`background: linear-gradient(to bottom right, ${random_color()}, ${random_color()});`)
12
- else
13
- div(class="cover")
14
- if lazy
15
- != _url(link1, '<img loading="lazy" decoding="async" src="'+ _cover(item) +'" alt="article cover">', {itemprop: 'url', title: postText})
16
- else
17
- != _url(link1, '<img loading="eager" decoding="async" src="'+ _cover(item) +'" alt="article cover">', {itemprop: 'url', title: postText})
18
- div(class="info")
19
- +PMRender(item)
20
- h3
21
- != _url(link1, postText + (postTitleIcon || ''), {itemprop: 'url', title: postText})
22
- div(class="excerpt")
23
- if item.description
24
- != item.description
25
- else if item.excerpt
26
- != item.excerpt
27
- else
28
- != _truncate(escape_html(_striptags(item.content)),300)
29
- if item.categories.length > 0
30
- div(class="meta footer")
31
- span
32
- - var lastcat = item.categories.last()
33
- != _url(lastcat.path, '<i class="ic i-flag"></i>' + lastcat.name, {itemprop: 'url', title: lastcat.name})
34
- != _url(link1, 'more...', {itemprop: 'url', title: postText, class: 'btn'})
35
-
1
+ include postmeta.pug
2
+
3
+ mixin SMRender(item, lazy)
4
+ - var link1 = item.link || item.path
5
+ - var gradient = theme?.experiments?.gradient
6
+ if item.link
7
+ - var postTitleIcon = '<i class="ic i-link-alt"></i>'
8
+ - var postText = item.title || item.link || __('post.untitled')
9
+ article(class="item")
10
+ if gradient
11
+ div(class="cover" style=`background: linear-gradient(to bottom right, ${random_color()}, ${random_color()});`)
12
+ else
13
+ div(class="cover")
14
+ if lazy
15
+ != _url(link1, '<img loading="lazy" decoding="async" src="'+ _cover(item) +'" alt="article cover">', {itemprop: 'url', title: postText})
16
+ else
17
+ != _url(link1, '<img loading="eager" decoding="async" src="'+ _cover(item) +'" alt="article cover">', {itemprop: 'url', title: postText})
18
+ div(class="info")
19
+ +PMRender(item)
20
+ h3
21
+ != _url(link1, postText + (postTitleIcon || ''), {itemprop: 'url', title: postText})
22
+ div(class="excerpt")
23
+ if item.description
24
+ != item.description
25
+ else if item.excerpt
26
+ != item.excerpt
27
+ else
28
+ != _truncate(escape_html(_striptags(item.content)),300)
29
+ if item.categories.length > 0
30
+ div(class="meta footer")
31
+ span
32
+ - var lastcat = item.categories.last()
33
+ != _url(lastcat.path, '<i class="ic i-flag"></i>' + lastcat.name, {itemprop: 'url', title: lastcat.name})
34
+ != _url(link1, 'more...', {itemprop: 'url', title: postText, class: 'btn'})
35
+
@@ -1,40 +1,40 @@
1
- mixin sidebarRender(display_toc)
2
- - var related = _category_posts(page)
3
- if page && page.prev
4
- - var prevlink = page?.prev_link
5
- if !prevlink && is_home()
6
- if page.prev === 1
7
- - prevlink = '/'
8
- else
9
- - prevlink = `/page/${page.prev}/`
10
- if is_page() || is_post()
11
- - prevlink = page.prev.path
12
- if page && page.next
13
- - var nextlink = page?.next_link
14
- if is_page() || is_post()
15
- - nextlink = page.next.path
16
- div(class="inner")
17
- div(class="panels")
18
- div(class="inner")
19
- div(class="contents panel pjax" data-title=__('sidebar.toc'))
20
- if display_toc
21
- != toc(page.content)
22
-
23
- div(class="related panel pjax" data-title=__('sidebar.related'))
24
- if related
25
- ul
26
- != related
27
- div(class="overview panel" data-title=__('sidebar.overview'))
28
- != partial('_partials/sidebar/overview.pug', {}, {cache: true})
29
- ul(id="quick")
30
- li(class="prev pjax")
31
- if prevlink
32
- != _url(prevlink, '<i class="ic i-chevron-left"></i>', {rel: 'prev', title: __('post.prev')})
33
- li(class="up")
34
- i(class="ic i-arrow-up")
35
- li(class="down")
36
- i(class="ic i-arrow-down")
37
- li(class="next pjax")
38
- if nextlink
39
- != _url(nextlink, '<i class="ic i-chevron-right"></i>', {rel: 'next', title: __('post.next')})
40
- li(class="percent")
1
+ mixin sidebarRender(display_toc)
2
+ - var related = _category_posts(page)
3
+ if page && page.prev
4
+ - var prevlink = page?.prev_link
5
+ if !prevlink && is_home()
6
+ if page.prev === 1
7
+ - prevlink = '/'
8
+ else
9
+ - prevlink = `/page/${page.prev}/`
10
+ if is_page() || is_post()
11
+ - prevlink = page.prev.path
12
+ if page && page.next
13
+ - var nextlink = page?.next_link
14
+ if is_page() || is_post()
15
+ - nextlink = page.next.path
16
+ div(class="inner")
17
+ div(class="panels")
18
+ div(class="inner")
19
+ div(class="contents panel pjax" data-title=__('sidebar.toc'))
20
+ if display_toc
21
+ != toc(page.content)
22
+
23
+ div(class="related panel pjax" data-title=__('sidebar.related'))
24
+ if related
25
+ ul
26
+ != related
27
+ div(class="overview panel" data-title=__('sidebar.overview'))
28
+ != partial('_partials/sidebar/overview.pug', {}, {cache: true})
29
+ ul(id="quick")
30
+ li(class="prev pjax")
31
+ if prevlink
32
+ != _url(prevlink, '<i class="ic i-chevron-left"></i>', {rel: 'prev', title: __('post.prev')})
33
+ li(class="up")
34
+ i(class="ic i-arrow-up")
35
+ li(class="down")
36
+ i(class="ic i-arrow-down")
37
+ li(class="next pjax")
38
+ if nextlink
39
+ != _url(nextlink, '<i class="ic i-chevron-right"></i>', {rel: 'next', title: __('post.next')})
40
+ li(class="percent")
@@ -1,28 +1,28 @@
1
- mixin field(item)
2
- if item.link
3
- - var postTitleIcon = '<i class="ic i-link-alt"></i>'
4
- li(class="item")
5
- +BCRender(item, false)
6
- - var postText = item.title || item.link || __('post.untitled')
7
- - var link1 = item.link || item.path
8
- span
9
- != _url(link1, postText + (postTitleIcon || ''))
10
-
11
- mixin WRender(item)
12
- - var tk = theme?.twikoo?.enable
13
- - var waline = theme.waline.enable
14
- if theme.widgets.random_posts
15
- div(class="rpost pjax")
16
- h2
17
- != __('index.random_posts')
18
- ul
19
- - var posts = site.posts.shuffle().limit(10).toArray()
20
- each item in posts
21
- +field(item)
22
- if theme.widgets.recent_comments
23
- div(class="rpost pjax")
24
- h2
25
- != __('index.recent_comments')
26
- if tk || waline
27
- ul(class="leancloud-recent-comment" id="new-comment")
28
-
1
+ mixin field(item)
2
+ if item.link
3
+ - var postTitleIcon = '<i class="ic i-link-alt"></i>'
4
+ li(class="item")
5
+ +BCRender(item, false)
6
+ - var postText = item.title || item.link || __('post.untitled')
7
+ - var link1 = item.link || item.path
8
+ span
9
+ != _url(link1, postText + (postTitleIcon || ''))
10
+
11
+ mixin WRender(item)
12
+ - var tk = theme?.twikoo?.enable
13
+ - var waline = theme.waline.enable
14
+ if theme.widgets.random_posts
15
+ div(class="rpost pjax")
16
+ h2
17
+ != __('index.random_posts')
18
+ ul
19
+ - var posts = site.posts.shuffle().limit(10).toArray()
20
+ each item in posts
21
+ +field(item)
22
+ if theme.widgets.recent_comments
23
+ div(class="rpost pjax")
24
+ h2
25
+ != __('index.recent_comments')
26
+ if tk || waline
27
+ ul(class="leancloud-recent-comment" id="new-comment")
28
+
@@ -1,43 +1,43 @@
1
- div(class="status")
2
- div(class="copyright")
3
- - var copyright_year = date(null, 'YYYY')
4
- if theme.footer.since && theme.footer.since !== copyright_year
5
- != `&copy; ${theme.footer.since} -`
6
- span(itemprop="copyrightYear")
7
- != copyright_year
8
- span(class="with-love")
9
- i(class=`ic i-${ theme.footer.icon.name }`)
10
- span(class="author" itemprop="copyrightHolder")
11
- != `${author} @ ${ alternate?alternate:title}`
12
- if theme.footer.count
13
- div(class="count")
14
- span(class="post-meta-item-icon")
15
- i(class="ic i-chart-area")
16
- span(title=__('symbols_count_time.count_total'))
17
- != `${ symbolsCountTotal(site) } ${__('symbols_count_time.word')}`
18
- span(class="post-meta-divider")
19
- != " | "
20
- span(class="post-meta-item-icon")
21
- i(class="ic i-coffee")
22
- span(title=__('symbols_count_time.time_total'))
23
- != symbolsTimeTotal(site, config.symbols_count_time.awl, config.symbols_count_time.wpm, __('symbols_count_time.time_minutes'))
24
- //- span(id="timeDate")
25
- //- span(id="times")
26
- if theme.footer.powered
27
- div(class="powered-by")
28
- != __('footer.powered', _url('https://hexo.io', 'Hexo') + ' & Theme.' + _url('https://github.com/theme-shoka-x/hexo-theme-shokaX/', 'ShokaX'))
29
- if theme.footer.icp.enable
30
- br
31
- span(style="display:inline;height:20px;line-height:20px;margin: 0px 0px 0px 5px; color:var(--grey-5);")
32
- a(href="https://beian.miit.gov.cn")
33
- != theme.footer.icp.icpnumber
34
- - var beianN = theme.footer.icp?.beian, RC=theme.footer.icp?.recordcode
35
- if beianN && RC
36
- br
37
- a(target="_blank" href=`https://beian.mps.gov.cn/#/query/webSearch?code=${RC}`)
38
- img(loading="lazy" decoding="async" src=theme.statics + theme.assets + '/' + theme.footer.icp.icon style="max-width: 2em;display:inline;" width="20" height="20" alt="备案")
39
- != beianN
40
- != shokax_inject('status')
41
-
42
- != shokax_inject('footer')
43
-
1
+ div(class="status")
2
+ div(class="copyright")
3
+ - var copyright_year = date(null, 'YYYY')
4
+ if theme.footer.since && theme.footer.since !== copyright_year
5
+ != `&copy; ${theme.footer.since} -`
6
+ span(itemprop="copyrightYear")
7
+ != copyright_year
8
+ span(class="with-love")
9
+ i(class=`ic i-${ theme.footer.icon.name }`)
10
+ span(class="author" itemprop="copyrightHolder")
11
+ != `${author} @ ${ alternate?alternate:title}`
12
+ if theme.footer.count
13
+ div(class="count")
14
+ span(class="post-meta-item-icon")
15
+ i(class="ic i-chart-area")
16
+ span(title=__('symbols_count_time.count_total'))
17
+ != `${ symbolsCountTotal(site) } ${__('symbols_count_time.word')}`
18
+ span(class="post-meta-divider")
19
+ != " | "
20
+ span(class="post-meta-item-icon")
21
+ i(class="ic i-coffee")
22
+ span(title=__('symbols_count_time.time_total'))
23
+ != symbolsTimeTotal(site, config.symbols_count_time.awl, config.symbols_count_time.wpm, __('symbols_count_time.time_minutes'))
24
+ //- span(id="timeDate")
25
+ //- span(id="times")
26
+ if theme.footer.powered
27
+ div(class="powered-by")
28
+ != __('footer.powered', _url('https://hexo.io', 'Hexo') + ' & Theme.' + _url('https://github.com/theme-shoka-x/hexo-theme-shokaX/', 'ShokaX'))
29
+ if theme.footer.icp.enable
30
+ br
31
+ span(style="display:inline;height:20px;line-height:20px;margin: 0px 0px 0px 5px; color:var(--grey-5);")
32
+ a(href="https://beian.miit.gov.cn")
33
+ != theme.footer.icp.icpnumber
34
+ - var beianN = theme.footer.icp?.beian, RC=theme.footer.icp?.recordcode
35
+ if beianN && RC
36
+ br
37
+ a(target="_blank" href=`https://beian.mps.gov.cn/#/query/webSearch?code=${RC}`)
38
+ img(loading="lazy" decoding="async" src=theme.statics + theme.assets + '/' + theme.footer.icp.icon style="max-width: 2em;display:inline;" width="20" height="20" alt="备案")
39
+ != beianN
40
+ != shokax_inject('status')
41
+
42
+ != shokax_inject('footer')
43
+
@@ -1,50 +1,50 @@
1
- - var msValidate = theme?.seo?.bing,googleValid = theme?.seo?.google
2
- - var yandexValid = theme?.seo?.yandex,baiduValid = theme?.seo?.baidu
3
- - var siteTitle = config.title,noBaiduT = theme?.seo?.disable_baidu_transformation
4
- - var feedLink = full_url_for("/feed.json")
5
- - var tk= theme?.twikoo?.enable
6
- - var wl = theme.waline.enable
7
- meta(charset="UTF-8")
8
- meta(name="viewport" content="width=device-width,initial-scale=1,maximum-scale=2")
9
- meta(name="theme-color" content="#222")
10
-
11
- meta(http-equiv="X-UA-COMPATIBLE" content="IE=edge,chrome=1")
12
- meta(name="renderer" content="webkit")
13
- link(rel="icon" type="image/ico" sizes="32x32" href=url_for(theme.statics + theme.assets + theme.icon.favicon))
14
- if theme.icon.apple_touch_icon
15
- link(rel="apple-touch-icon" sizes="180x180" href=url_for(theme.statics + theme.assets + theme.icon.apple_touch_icon))
16
-
17
- if msValidate
18
- meta(name="msvalidate.01" content=msValidate)
19
- if googleValid
20
- meta(name="google-site-verification" content=googleValid)
21
- if yandexValid
22
- meta(name="yandex-verification" content=yandexValid)
23
- if baiduValid
24
- meta(name="baidu-site-verification" content=baiduValid)
25
- if noBaiduT
26
- meta(http-equiv="Cache-Control" content="no-transform")
27
- meta(http-equiv="Cache-Control" content="no-siteapp")
28
-
29
- != feed_tag('rss.xml')
30
- != feed_tag('atom.xml')
31
- link(rel="alternate" type="application/json" title=siteTitle href=feedLink)
32
-
33
- - var prelinks = theme.performance.preConnect || []
34
- each prelink in prelinks
35
- link(rel="preconnect" href=prelink)
36
-
37
- - var dnslinks = theme.performance.dnsPrefetch || []
38
- each dnsLink in dnslinks
39
- link(rel="dns-prefetch" href=dnsLink)
40
-
41
- - var fontConfig = theme.font?.loadFromGoogle
42
- if fontConfig
43
- != _vendor_font()
44
- != preloadjs()
45
- != load_async_css()
46
-
47
- if theme.modules.cloudflarePatch
48
- != _js('cf-patch.js')
49
-
50
- include pwa.pug
1
+ - var msValidate = theme?.seo?.bing,googleValid = theme?.seo?.google
2
+ - var yandexValid = theme?.seo?.yandex,baiduValid = theme?.seo?.baidu
3
+ - var siteTitle = config.title,noBaiduT = theme?.seo?.disable_baidu_transformation
4
+ - var feedLink = full_url_for("/feed.json")
5
+ - var tk= theme?.twikoo?.enable
6
+ - var wl = theme.waline.enable
7
+ meta(charset="UTF-8")
8
+ meta(name="viewport" content="width=device-width,initial-scale=1,maximum-scale=2")
9
+ meta(name="theme-color" content="#222")
10
+
11
+ meta(http-equiv="X-UA-COMPATIBLE" content="IE=edge,chrome=1")
12
+ meta(name="renderer" content="webkit")
13
+ link(rel="icon" type="image/ico" sizes="32x32" href=url_for(theme.statics + theme.assets + theme.icon.favicon))
14
+ if theme.icon.apple_touch_icon
15
+ link(rel="apple-touch-icon" sizes="180x180" href=url_for(theme.statics + theme.assets + theme.icon.apple_touch_icon))
16
+
17
+ if msValidate
18
+ meta(name="msvalidate.01" content=msValidate)
19
+ if googleValid
20
+ meta(name="google-site-verification" content=googleValid)
21
+ if yandexValid
22
+ meta(name="yandex-verification" content=yandexValid)
23
+ if baiduValid
24
+ meta(name="baidu-site-verification" content=baiduValid)
25
+ if noBaiduT
26
+ meta(http-equiv="Cache-Control" content="no-transform")
27
+ meta(http-equiv="Cache-Control" content="no-siteapp")
28
+
29
+ != feed_tag('rss.xml')
30
+ != feed_tag('atom.xml')
31
+ link(rel="alternate" type="application/json" title=siteTitle href=feedLink)
32
+
33
+ - var prelinks = theme.performance.preConnect || []
34
+ each prelink in prelinks
35
+ link(rel="preconnect" href=prelink)
36
+
37
+ - var dnslinks = theme.performance.dnsPrefetch || []
38
+ each dnsLink in dnslinks
39
+ link(rel="dns-prefetch" href=dnsLink)
40
+
41
+ - var fontConfig = theme.font?.loadFromGoogle
42
+ if fontConfig
43
+ != _vendor_font()
44
+ != preloadjs()
45
+ != load_async_css()
46
+
47
+ if theme.modules.cloudflarePatch
48
+ != _js('cf-patch.js')
49
+
50
+ include pwa.pug
@@ -1,24 +1,24 @@
1
- - var keywords='',tmp=page?.tags?.toArray()
2
- if tmp
3
- each tag,index in tmp
4
- - keywords += tag.name
5
- - index++
6
- - if (index < tmp.length) keywords += ','
7
- if page.keywords
8
- meta(name="keywords" content=page.keywords)
9
- else if page.tags && page.tags.length
10
- meta(name="keywords" content=keywords)
11
- else if config.keywords
12
- meta(name="keywords" content=config.keywords)
13
-
14
- if page.description
15
- meta(name="description" content=page.description)
16
- else if page.excerpt
17
- meta(name="description" content=page.excerpt)
18
- else if config.description
19
- meta(name="description" content=config.description)
20
-
21
- != canonical()
22
-
23
- if theme.open_graph
24
- != open_graph(theme.open_graph)
1
+ - var keywords='',tmp=page?.tags?.toArray()
2
+ if tmp
3
+ each tag,index in tmp
4
+ - keywords += tag.name
5
+ - index++
6
+ - if (index < tmp.length) keywords += ','
7
+ if page.keywords
8
+ meta(name="keywords" content=page.keywords)
9
+ else if page.tags && page.tags.length
10
+ meta(name="keywords" content=keywords)
11
+ else if config.keywords
12
+ meta(name="keywords" content=config.keywords)
13
+
14
+ if page.description
15
+ meta(name="description" content=page.description)
16
+ else if page.excerpt
17
+ meta(name="description" content=page.excerpt)
18
+ else if config.description
19
+ meta(name="description" content=config.description)
20
+
21
+ != canonical()
22
+
23
+ if theme.open_graph
24
+ != open_graph(theme.open_graph)
@@ -1,18 +1,18 @@
1
- //- https://blog.cyfan.top/p/c0af86bb.html#%E5%AE%89%E8%A3%85-Install
2
- - var timeNow = new Date().getTime()
3
- if theme.pwa.enable
4
- - var sworker = theme.pwa.serviceworker
5
- script(async).
6
- if ('serviceWorker' in navigator) {
7
- navigator.serviceWorker.register("/#{sworker}?time=#{timeNow}").then(async (reg) => {
8
- if (window.localStorage.getItem('install') !== 'true') {
9
- window.localStorage.setItem('install', 'true');
10
- setTimeout(() => {
11
- window.location.reload()
12
- }, 500)
13
- }
14
- }).catch(err => {
15
- console.log(err)
16
- });
17
- }
18
- link(rel="manifest" href=`/${theme.pwa.manifest}`)
1
+ //- https://blog.cyfan.top/p/c0af86bb.html#%E5%AE%89%E8%A3%85-Install
2
+ - var timeNow = new Date().getTime()
3
+ if theme.pwa.enable
4
+ - var sworker = theme.pwa.serviceworker
5
+ script(async).
6
+ if ('serviceWorker' in navigator) {
7
+ navigator.serviceWorker.register("/#{sworker}?time=#{timeNow}").then(async (reg) => {
8
+ if (window.localStorage.getItem('install') !== 'true') {
9
+ window.localStorage.setItem('install', 'true');
10
+ setTimeout(() => {
11
+ window.location.reload()
12
+ }, 500)
13
+ }
14
+ }).catch(err => {
15
+ console.log(err)
16
+ });
17
+ }
18
+ link(rel="manifest" href=`/${theme.pwa.manifest}`)
@@ -1,18 +1,18 @@
1
- nav(id="nav")
2
- div(class="inner")
3
- div(class="toggle")
4
- div(class="lines" aria-label!=__('accessibility.nav_toggle'))
5
- span(class="line")
6
- span(class="line")
7
- span(class="line")
8
- ul(class="menu")
9
- li(class="item title")
10
- a(href=config.root rel="start")
11
- != alternate || title
12
- ul(class="right" id="rightNav")
13
- li(class="item theme")
14
- i(class="ic i-sun")
15
- li(class="item search")
16
- i(class="ic i-search")
17
- != shokax_inject('rightNav')
18
-
1
+ nav(id="nav")
2
+ div(class="inner")
3
+ div(class="toggle")
4
+ div(class="lines" aria-label!=__('accessibility.nav_toggle'))
5
+ span(class="line")
6
+ span(class="line")
7
+ span(class="line")
8
+ ul(class="menu")
9
+ li(class="item title")
10
+ a(href=config.root rel="start")
11
+ != alternate || title
12
+ ul(class="right" id="rightNav")
13
+ li(class="item theme")
14
+ i(class="ic i-sun")
15
+ li(class="item search")
16
+ i(class="ic i-search")
17
+ != shokax_inject('rightNav')
18
+