hexo-theme-shokax 0.5.2 → 0.5.4

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 (161) hide show
  1. package/.vscode/settings.json +6 -0
  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 +355 -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/scripts/plugin/check.js +13 -7
  52. package/source/assets/algolia_logo.svg +9 -9
  53. package/source/assets/logo.svg +16 -16
  54. package/source/css/_colors.styl +207 -207
  55. package/source/css/_common/components/components.styl +5 -5
  56. package/source/css/_common/components/pages/collapse.styl +119 -119
  57. package/source/css/_common/components/pages/home.styl +391 -391
  58. package/source/css/_common/components/pages/pages.styl +56 -56
  59. package/source/css/_common/components/pages/tag-cloud.styl +12 -12
  60. package/source/css/_common/components/post/breadcrumb.styl +39 -39
  61. package/source/css/_common/components/post/copyright.styl +41 -41
  62. package/source/css/_common/components/post/expand.styl +263 -263
  63. package/source/css/_common/components/post/footer.styl +11 -11
  64. package/source/css/_common/components/post/header.styl +79 -79
  65. package/source/css/_common/components/post/nav.styl +64 -64
  66. package/source/css/_common/components/post/post.styl +29 -29
  67. package/source/css/_common/components/post/reward.styl +50 -50
  68. package/source/css/_common/components/post/rtl.styl +12 -12
  69. package/source/css/_common/components/post/tags.styl +39 -39
  70. package/source/css/_common/components/tags/collapse.styl +72 -72
  71. package/source/css/_common/components/tags/container.styl +49 -49
  72. package/source/css/_common/components/tags/label.styl +12 -12
  73. package/source/css/_common/components/tags/links.styl +77 -77
  74. package/source/css/_common/components/tags/list.styl +131 -131
  75. package/source/css/_common/components/tags/note.styl +70 -70
  76. package/source/css/_common/components/tags/player.styl +361 -361
  77. package/source/css/_common/components/tags/quiz.styl +200 -200
  78. package/source/css/_common/components/tags/tabs.styl +89 -89
  79. package/source/css/_common/components/tags/tags.styl +9 -9
  80. package/source/css/_common/components/third-party/loading.styl +222 -222
  81. package/source/css/_common/components/third-party/mermaid/class.styl +90 -90
  82. package/source/css/_common/components/third-party/mermaid/flowchart.styl +72 -72
  83. package/source/css/_common/components/third-party/mermaid/gantt.styl +251 -251
  84. package/source/css/_common/components/third-party/mermaid/git.styl +7 -7
  85. package/source/css/_common/components/third-party/mermaid/mermaid.styl +37 -37
  86. package/source/css/_common/components/third-party/mermaid/pie.styl +9 -9
  87. package/source/css/_common/components/third-party/mermaid/sequence.styl +95 -95
  88. package/source/css/_common/components/third-party/mermaid/state.styl +130 -130
  89. package/source/css/_common/components/third-party/pace.styl +18 -18
  90. package/source/css/_common/components/third-party/search.styl +167 -167
  91. package/source/css/_common/components/third-party/theme.styl +151 -151
  92. package/source/css/_common/components/third-party/third-party.styl +22 -22
  93. package/source/css/_common/components/third-party/widgets.styl +57 -57
  94. package/source/css/_common/outline/footer/footer.styl +67 -67
  95. package/source/css/_common/outline/header/brand.styl +77 -77
  96. package/source/css/_common/outline/header/header.styl +20 -20
  97. package/source/css/_common/outline/header/image.styl +85 -85
  98. package/source/css/_common/outline/header/menu.styl +117 -117
  99. package/source/css/_common/outline/header/nav.styl +81 -81
  100. package/source/css/_common/outline/header/right.styl +15 -15
  101. package/source/css/_common/outline/header/tool.styl +207 -207
  102. package/source/css/_common/outline/header/waves.styl +57 -57
  103. package/source/css/_common/outline/mobile.styl +46 -46
  104. package/source/css/_common/outline/outline.styl +78 -78
  105. package/source/css/_common/outline/sidebar/author.styl +59 -59
  106. package/source/css/_common/outline/sidebar/dimmer.styl +23 -23
  107. package/source/css/_common/outline/sidebar/menu.styl +63 -63
  108. package/source/css/_common/outline/sidebar/quick.styl +43 -43
  109. package/source/css/_common/outline/sidebar/related.styl +56 -56
  110. package/source/css/_common/outline/sidebar/sidebar.styl +82 -82
  111. package/source/css/_common/outline/sidebar/social.styl +69 -69
  112. package/source/css/_common/outline/sidebar/state.styl +37 -37
  113. package/source/css/_common/outline/sidebar/tab.styl +71 -71
  114. package/source/css/_common/outline/sidebar/toc.styl +47 -47
  115. package/source/css/_common/scaffolding/animate.styl +322 -322
  116. package/source/css/_common/scaffolding/base.styl +192 -192
  117. package/source/css/_common/scaffolding/buttons.styl +48 -48
  118. package/source/css/_common/scaffolding/divider.styl +36 -36
  119. package/source/css/_common/scaffolding/iconfont.styl +443 -443
  120. package/source/css/_common/scaffolding/normalize.styl +273 -273
  121. package/source/css/_common/scaffolding/pagination.styl +81 -81
  122. package/source/css/_common/scaffolding/ribbon.styl +38 -38
  123. package/source/css/_common/scaffolding/scaffolding.styl +14 -14
  124. package/source/css/_common/scaffolding/scrollbar.styl +37 -37
  125. package/source/css/_common/scaffolding/tables.styl +50 -50
  126. package/source/css/_common/scaffolding/tip.styl +19 -19
  127. package/source/css/_common/scaffolding/toggles.styl +59 -59
  128. package/source/css/_iconfont.styl +455 -455
  129. package/source/css/_mixins.styl +148 -148
  130. package/source/css/_variables.styl +89 -89
  131. package/source/css/app.styl +25 -25
  132. package/source/css/mermaid.styl +5 -5
  133. package/source/css/page.styl +2 -2
  134. package/source/css/post.styl +4 -5
  135. package/source/css/scaffolding.styl +4 -4
  136. package/source/js/_app/components/cloudflare.ts +18 -18
  137. package/source/js/_app/components/comments.ts +88 -88
  138. package/source/js/_app/components/sidebar.ts +243 -243
  139. package/source/js/_app/components/tcomments.ts +53 -53
  140. package/source/js/_app/globals/globalVars.ts +84 -84
  141. package/source/js/_app/globals/handles.ts +124 -124
  142. package/source/js/_app/globals/themeColor.ts +62 -62
  143. package/source/js/_app/globals/thirdparty.ts +63 -63
  144. package/source/js/_app/globals/tools.ts +73 -73
  145. package/source/js/_app/library/anime.ts +121 -121
  146. package/source/js/_app/library/declare.d.ts +129 -128
  147. package/source/js/_app/library/proto.ts +70 -70
  148. package/source/js/_app/library/vue.ts +49 -49
  149. package/source/js/_app/page/common.ts +41 -41
  150. package/source/js/_app/page/imageviewer.ts +15 -15
  151. package/source/js/_app/page/post.ts +251 -252
  152. package/source/js/_app/page/search.ts +109 -109
  153. package/source/js/_app/page/tab.ts +59 -59
  154. package/source/js/_app/pjax/domInit.ts +102 -102
  155. package/source/js/_app/pjax/refresh.ts +115 -117
  156. package/source/js/_app/pjax/siteInit.ts +93 -90
  157. package/source/js/_app/player.ts +13 -13
  158. package/toolbox/compiler.mjs +49 -49
  159. package/toolbox/dev-version.mjs +14 -14
  160. package/toolbox/hoistdep.mjs +5 -5
  161. package/toolbox/lib.mjs +63 -63
@@ -1,137 +1,138 @@
1
- include ../_mixin/breadcrumb.pug
2
- include ../_mixin/sidebar.pug
3
- include ../_mixin/widgets.pug
4
-
5
- - var covers = _cover_index(page, 6)
6
- - var enableFixedCover = theme.homeConfig?.fixedCover
7
- - var enablePreload = theme.homeConfig?.coverConfig?.enablePreload
8
- - var enableCover = theme.homeConfig?.coverConfig?.enableCover
9
-
10
- doctype html
11
- html(lang=page.language?page.language:config.language, style=theme.grayMode ? 'filter: grayscale(1);':'' )
12
- head
13
- != partial('_partials/head/head.pug', {}, {cache: true})
14
- if enablePreload && enableCover
15
- if enableFixedCover
16
- link(rel="preload" href=theme.homeConfig.fixedCover as="image" fetchpriority="high")
17
- else if Array.isArray(covers)
18
- each image in covers
19
- link(rel="preload" href!=image as="image" fetchpriority="high")
20
- else
21
- link(rel="preload" href!=covers as="image" fetchpriority="high")
22
-
23
- != partial('_partials/head/head_com.pug')
24
- != shokax_inject('head')
25
- block head
26
- title
27
- block title
28
- != `${alternate?alternate + " = ":""}${title}${subtitle?" = "+subtitle:""}`
29
- body(itemscope itemtype="http://schema.org/WebPage")
30
- != partial('_partials/loading.pug', {}, {cache: true})
31
- div(id="container")
32
- header(id="header" itemscope itemtype="http://schema.org/WPHeader")
33
- div(class="inner")
34
- div(id="brand")
35
- div(class="pjax")
36
- block header
37
- a(href=config.root class="logo" rel="start")
38
- if alternate
39
- p(class="artboard")
40
- != alternate
41
- h1(itemprop="name headline" class="title")
42
- != title
43
- if subtitle
44
- p(class="meta" itemprop="description")
45
- != `= ${subtitle} =`
46
-
47
- != partial('_partials/header.pug', {}, {cache: true})
48
- div(id="imgs" class="pjax")
49
- if enableCover
50
- if theme.homeConfig.gradient || enableFixedCover
51
- //- cover不可用时用Bing随机图片代替
52
- - var coverImage = theme.homeConfig?.fixedCover || "https://7ed.net/bing/api"
53
- img(src=coverImage loading="eager" decoding="async" fetchpriority="high" alt=title)
54
- else
55
- if covers.length === 6
56
- ul
57
- each image in covers
58
- li(class="item" style=`background-image: url("${image}");`)
59
- else
60
- img(src=covers loading="eager" decoding="async" fetchpriority="high" alt=title)
61
- div(id="waves")
62
- svg(class="waves" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 24 150 28" preserveAspectRatio="none" shape-rendering="auto")
63
- defs
64
- path(id="gentle-wave" d="M-160 44c30 0 58-18 88-18s 58 18 88 18 58-18 88-18 58 18 88 18 v44h-352z")
65
- g(class="parallax")
66
- use(xlink:href="#gentle-wave" x="48" y="0")
67
- use(xlink:href="#gentle-wave" x="48" y="3")
68
- use(xlink:href="#gentle-wave" x="48" y="5")
69
- use(xlink:href="#gentle-wave" x="48" y="7")
70
- main
71
- div(class="inner")
72
- div(id="main" class="pjax")
73
- block content
74
- div(id="sidebar")
75
- block sidebar
76
- +sidebarRender
77
- div(class="dimmer")
78
- div(id="player")
79
- footer(id="footer")
80
- div(class="inner")
81
- div(class="widgets")
82
- +WRender
83
- != partial('_partials/footer.pug', {}, {cache: true})
84
- - var ccIcon = '<i class="ic i-creative-commons"></i>'
85
- - var ccText = theme.creative_commons.license.toUpperCase()
86
- - var audioValue
87
- if page.audio
88
- - audioValue = JSON.stringify(page.audio);
89
-
90
- else if page.audio === false
91
- - audioValue = JSON.stringify({});
92
- else
93
- - audioValue = "undefined"
94
-
95
- - var ccIcon = '<i class="ic i-creative-commons"></i>'
96
- - var ccText = theme.creative_commons.license.toUpperCase()
97
- script(data-config type="text/javascript").
98
- var LOCAL = {
99
- ispost: !{is_post()},
100
- path: `#{_permapath(page.path)}`,
101
- favicon: {
102
- show: `#{__('favicon.show')}`,
103
- hide: `#{__('favicon.hide')}`
104
- },
105
- search: {
106
- placeholder: "!{__('search.placeholder')}",
107
- empty: "!{__('search.empty')}",
108
- stats: "!{__('search.stats')}"
109
- },
110
- nocopy: "!{!!page.nocopy}",
111
- copyright: `!{page.copyright !== false ? (page.nocopy === true ? __("tips.nocopy") : __("tips.copyright", ccIcon + ccText)) : undefined}`,
112
- copy_tex: #{!!page.math},
113
- katex: #{!!page.math},
114
- mermaid: #{!!page.mermaid},
115
- audio: !{audioValue},
116
- nocopy: #{!!page.nocopy},
117
- outime: #{page.outime !== false},
118
- template: `!{__('outime.template')}`,
119
- quiz: {
120
- choice: `#{__('quiz.choice')}`,
121
- multiple: `#{__('quiz.multiple')}`,
122
- true_false: `#{__('quiz.true_false')}`,
123
- essay: `#{__('quiz.essay')}`,
124
- gap_fill: `#{__('quiz.gap_fill')}`,
125
- mistake: `#{__('quiz.mistake')}`
126
- }
127
- };
128
-
129
- != partial('_partials/third-party/baidu-analytics.pug', {}, {cache: true})
130
- != partial('_partials/third-party/clarity.pug', {}, {cache: true})
131
- != partial('_partials/third-party/google-analytics.pug', {}, {cache: true})
132
-
133
- != _js('siteInit.js')
134
-
135
- != shokax_inject('bodyEnd')
136
-
137
-
1
+ include ../_mixin/breadcrumb.pug
2
+ include ../_mixin/sidebar.pug
3
+ include ../_mixin/widgets.pug
4
+
5
+ - var covers = _cover_index(page, 6)
6
+ - var enableFixedCover = theme.homeConfig?.fixedCover
7
+ - var enablePreload = theme.homeConfig?.coverConfig?.enablePreload
8
+ - var enableCover = theme.homeConfig?.coverConfig?.enableCover
9
+
10
+ doctype html
11
+ html(lang=page.language?page.language:config.language, style=theme.grayMode ? 'filter: grayscale(1);':'' )
12
+ head
13
+ != partial('_partials/head/head.pug', {}, {cache: true})
14
+ if enablePreload && enableCover
15
+ if enableFixedCover
16
+ link(rel="preload" href=theme.homeConfig.fixedCover as="image" fetchpriority="high")
17
+ else if Array.isArray(covers)
18
+ each image in covers
19
+ link(rel="preload" href!=image as="image" fetchpriority="high")
20
+ else
21
+ link(rel="preload" href!=covers as="image" fetchpriority="high")
22
+
23
+ != partial('_partials/head/head_com.pug')
24
+ != shokax_inject('head')
25
+ block head
26
+ title
27
+ block title
28
+ != `${alternate?alternate + " = ":""}${title}${subtitle?" = "+subtitle:""}`
29
+ body(itemscope itemtype="http://schema.org/WebPage")
30
+ != partial('_partials/loading.pug', {}, {cache: true})
31
+ div(id="pagefind_mount")
32
+ div(id="container")
33
+ header(id="header" itemscope itemtype="http://schema.org/WPHeader")
34
+ div(class="inner")
35
+ div(id="brand")
36
+ div(class="pjax")
37
+ block header
38
+ a(href=config.root class="logo" rel="start")
39
+ if alternate
40
+ p(class="artboard")
41
+ != alternate
42
+ h1(itemprop="name headline" class="title")
43
+ != title
44
+ if subtitle
45
+ p(class="meta" itemprop="description")
46
+ != `= ${subtitle} =`
47
+
48
+ != partial('_partials/header.pug', {}, {cache: true})
49
+ div(id="imgs" class="pjax")
50
+ if enableCover
51
+ if theme.homeConfig.gradient || enableFixedCover
52
+ //- cover不可用时用Bing随机图片代替
53
+ - var coverImage = theme.homeConfig?.fixedCover || "https://7ed.net/bing/api"
54
+ img(src=coverImage loading="eager" decoding="async" fetchpriority="high" alt=title)
55
+ else
56
+ if covers.length === 6
57
+ ul
58
+ each image in covers
59
+ li(class="item" style=`background-image: url("${image}");`)
60
+ else
61
+ img(src=covers loading="eager" decoding="async" fetchpriority="high" alt=title)
62
+ div(id="waves")
63
+ svg(class="waves" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 24 150 28" preserveAspectRatio="none" shape-rendering="auto")
64
+ defs
65
+ path(id="gentle-wave" d="M-160 44c30 0 58-18 88-18s 58 18 88 18 58-18 88-18 58 18 88 18 v44h-352z")
66
+ g(class="parallax")
67
+ use(xlink:href="#gentle-wave" x="48" y="0")
68
+ use(xlink:href="#gentle-wave" x="48" y="3")
69
+ use(xlink:href="#gentle-wave" x="48" y="5")
70
+ use(xlink:href="#gentle-wave" x="48" y="7")
71
+ main
72
+ div(class="inner")
73
+ div(id="main" class="pjax")
74
+ block content
75
+ div(id="sidebar")
76
+ block sidebar
77
+ +sidebarRender
78
+ div(class="dimmer")
79
+ div(id="player")
80
+ footer(id="footer")
81
+ div(class="inner")
82
+ div(class="widgets")
83
+ +WRender
84
+ != partial('_partials/footer.pug', {}, {cache: true})
85
+ - var ccIcon = '<i class="ic i-creative-commons"></i>'
86
+ - var ccText = theme.creative_commons.license.toUpperCase()
87
+ - var audioValue
88
+ if page.audio
89
+ - audioValue = JSON.stringify(page.audio);
90
+
91
+ else if page.audio === false
92
+ - audioValue = JSON.stringify({});
93
+ else
94
+ - audioValue = "undefined"
95
+
96
+ - var ccIcon = '<i class="ic i-creative-commons"></i>'
97
+ - var ccText = theme.creative_commons.license.toUpperCase()
98
+ script(data-config type="text/javascript").
99
+ var LOCAL = {
100
+ ispost: !{is_post()},
101
+ path: `#{_permapath(page.path)}`,
102
+ favicon: {
103
+ show: `#{__('favicon.show')}`,
104
+ hide: `#{__('favicon.hide')}`
105
+ },
106
+ search: {
107
+ placeholder: "!{__('search.placeholder')}",
108
+ empty: "!{__('search.empty')}",
109
+ stats: "!{__('search.stats')}"
110
+ },
111
+ nocopy: "!{!!page.nocopy}",
112
+ copyright: `!{page.copyright !== false ? (page.nocopy === true ? __("tips.nocopy") : __("tips.copyright", ccIcon + ccText)) : undefined}`,
113
+ copy_tex: #{!!page.math},
114
+ katex: #{!!page.math},
115
+ mermaid: #{!!page.mermaid},
116
+ audio: !{audioValue},
117
+ nocopy: #{!!page.nocopy},
118
+ outime: #{page.outime !== false},
119
+ template: `!{__('outime.template')}`,
120
+ quiz: {
121
+ choice: `#{__('quiz.choice')}`,
122
+ multiple: `#{__('quiz.multiple')}`,
123
+ true_false: `#{__('quiz.true_false')}`,
124
+ essay: `#{__('quiz.essay')}`,
125
+ gap_fill: `#{__('quiz.gap_fill')}`,
126
+ mistake: `#{__('quiz.mistake')}`
127
+ }
128
+ };
129
+
130
+ != partial('_partials/third-party/baidu-analytics.pug', {}, {cache: true})
131
+ != partial('_partials/third-party/clarity.pug', {}, {cache: true})
132
+ != partial('_partials/third-party/google-analytics.pug', {}, {cache: true})
133
+
134
+ != _js('siteInit.js')
135
+
136
+ != shokax_inject('bodyEnd')
137
+
138
+
@@ -1,13 +1,13 @@
1
- div(id="loading")
2
- div(class="cat")
3
- div(class="body")
4
- div(class="head")
5
- div(class="face")
6
- div(class="foot")
7
- div(class="tummy-end")
8
- div(class="bottom")
9
- div(class="legs left")
10
- div(class="legs right")
11
- div(class="paw")
12
- div(class="hands left")
13
- div(class="hands right")
1
+ div(id="loading")
2
+ div(class="cat")
3
+ div(class="body")
4
+ div(class="head")
5
+ div(class="face")
6
+ div(class="foot")
7
+ div(class="tummy-end")
8
+ div(class="bottom")
9
+ div(class="legs left")
10
+ div(class="legs right")
11
+ div(class="paw")
12
+ div(class="hands left")
13
+ div(class="hands right")
@@ -1,4 +1,4 @@
1
- if page.prev || page.next
2
- nav(class="pagination")
3
- div(class="inner")
4
- != paginator({prev_text: '<i class="ic i-angle-left" aria-label="' + __('accessibility.prev_page') + '"></i>',next_text: '<i class="ic i-angle-right" aria-label="' + __('accessibility.next_page') + '"></i>',mid_size : 1,escape : false})
1
+ if page.prev || page.next
2
+ nav(class="pagination")
3
+ div(class="inner")
4
+ != paginator({prev_text: '<i class="ic i-angle-left" aria-label="' + __('accessibility.prev_page') + '"></i>',next_text: '<i class="ic i-angle-right" aria-label="' + __('accessibility.next_page') + '"></i>',mid_size : 1,escape : false})
@@ -1,20 +1,20 @@
1
- if page.copyright !== false
2
- - var ccIcon = '<i class="ic i-creative-commons"><em>(CC)</em></i>'
3
- - var ccText = theme.creative_commons.license.toUpperCase()
4
- div(id="copyright")
5
- ul
6
- li(class="author")
7
- strong
8
- != __('post.copyright.author') + __('symbol.colon')
9
- != page.author || author
10
- i(class="ic i-at")
11
- em @
12
- != title
13
- li(class="link")
14
- strong
15
- != __('post.copyright.link') + __('symbol.colon')
16
- != _url(page.permalink, page.permalink, {title: page.title})
17
- li(class="license")
18
- strong
19
- != __('post.copyright.license_title') + __('symbol.colon')
20
- != page.copyright !== true ? __('post.copyright.license_content', _url(ccURL, ccIcon + ccText)) : __("post.copyright.nocopy")
1
+ if page.copyright !== false
2
+ - var ccIcon = '<i class="ic i-creative-commons"><em>(CC)</em></i>'
3
+ - var ccText = theme.creative_commons.license.toUpperCase()
4
+ div(id="copyright")
5
+ ul
6
+ li(class="author")
7
+ strong
8
+ != __('post.copyright.author') + __('symbol.colon')
9
+ != page.author || author
10
+ i(class="ic i-at")
11
+ em @
12
+ != title
13
+ li(class="link")
14
+ strong
15
+ != __('post.copyright.link') + __('symbol.colon')
16
+ != _url(page.permalink, page.permalink, {title: page.title})
17
+ li(class="license")
18
+ strong
19
+ != __('post.copyright.license_title') + __('symbol.colon')
20
+ != page.copyright !== true ? __('post.copyright.license_content', _url(ccURL, ccIcon + ccText)) : __("post.copyright.nocopy")
@@ -1,20 +1,20 @@
1
- div(class="meta")
2
- if theme.twikoo.enable || theme.waline.pageview
3
- span(class="item")
4
- span(class="icon")
5
- i(class="ic i-eye")
6
- span(class="text")
7
- !=__('footer.total_views') + __('symbol.colon')
8
- - var prefixedPath = post.path.startsWith('/') ? post.path : '/' + post.path
9
- span(id="twikoo_visitors" class="waline-pageview-count" data-path=prefixedPath)
10
- !=__('footer.loading')
11
- if date(post.date) !== date(post.updated) || time(post.date) !== time(post.updated)
12
- span(class="item")
13
- span(class="icon")
14
- i(class="ic i-calendar-check")
15
- span(class="text")
16
- != __('post.edited') + __('symbol.space')
17
- time(title=__('post.modified') + __('symbol.colon') + full_date(post.updated) itemprop="dateModified" datetime=moment(post.updated).format())
18
- != date(post.updated)
19
-
20
- != shokax_inject('postMeta')
1
+ div(class="meta")
2
+ if theme.twikoo.enable || theme.waline.pageview
3
+ span(class="item")
4
+ span(class="icon")
5
+ i(class="ic i-eye")
6
+ span(class="text")
7
+ !=__('footer.total_views') + __('symbol.colon')
8
+ - var prefixedPath = post.path.startsWith('/') ? post.path : '/' + post.path
9
+ span(id="twikoo_visitors" class="waline-pageview-count" data-path=prefixedPath)
10
+ !=__('footer.loading')
11
+ if date(post.date) !== date(post.updated) || time(post.date) !== time(post.updated)
12
+ span(class="item")
13
+ span(class="icon")
14
+ i(class="ic i-calendar-check")
15
+ span(class="text")
16
+ != __('post.edited') + __('symbol.space')
17
+ time(title=__('post.modified') + __('symbol.colon') + full_date(post.updated) itemprop="dateModified" datetime=moment(post.updated).format())
18
+ != date(post.updated)
19
+
20
+ != shokax_inject('postMeta')
@@ -1,17 +1,17 @@
1
- mixin navpost(item, type)
2
- - var enableNextGradientCover = theme?.homeConfig?.coverConfig?.enableNextGradientCover
3
- - var postText = item.title || item.link || __('post.untitled')
4
- - var lastcat = item.categories.last()
5
- - var itemlink = `<span class="type">${__('post.' + type)}</span>${lastcat && lastcat.name ? `<span class="category"><i class="ic i-flag"></i>${lastcat.name}</span>` : ''}<h3>${postText}</h3>`
6
- if enableNextGradientCover
7
- != _url(item.path, itemlink, {itemprop: 'url', rel: type, title: postText, style: `background-image: linear-gradient(to bottom right, ${random_color()}, ${random_color()});`})
8
- else
9
- != _url(item.path, itemlink, {itemprop: 'url', rel: type, 'data-background-image': _cover(item), title: postText})
10
-
11
- div(class="post-nav")
12
- div(class="item left")
13
- if post.next
14
- +navpost(post.next, 'prev')
15
- div(class="item right")
16
- if post.prev
17
- +navpost(post.prev, 'next')
1
+ mixin navpost(item, type)
2
+ - var enableNextGradientCover = theme?.homeConfig?.coverConfig?.enableNextGradientCover
3
+ - var postText = item.title || item.link || __('post.untitled')
4
+ - var lastcat = item.categories.last()
5
+ - var itemlink = `<span class="type">${__('post.' + type)}</span>${lastcat && lastcat.name ? `<span class="category"><i class="ic i-flag"></i>${lastcat.name}</span>` : ''}<h3>${postText}</h3>`
6
+ if enableNextGradientCover
7
+ != _url(item.path, itemlink, {itemprop: 'url', rel: type, title: postText, style: `background-image: linear-gradient(to bottom right, ${random_color()}, ${random_color()});`})
8
+ else
9
+ != _url(item.path, itemlink, {itemprop: 'url', rel: type, 'data-background-image': _cover(item), title: postText})
10
+
11
+ div(class="post-nav")
12
+ div(class="item left")
13
+ if post.next
14
+ +navpost(post.next, 'prev')
15
+ div(class="item right")
16
+ if post.prev
17
+ +navpost(post.prev, 'next')
@@ -1,42 +1,42 @@
1
- - var temp = post.lang || config.language
2
- article(itemscope itemtype="http://schema.org/Article" class="post block" lang=temp)
3
- link(itemprop="mainEntityOfPage" href!=post.permalink)
4
- span(hidden itemprop="author" itemscope itemtype="http://schema.org/Person")
5
- meta(itemprop="image" content=url_for(theme.statics + theme.assets + '/' + theme.sidebar.avatar))
6
- meta(itemprop="name" content=author)
7
- meta(itemprop="description" content=`${ subtitle }, ${ description }`)
8
- span(hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization")
9
- meta(itemprop="name" content=title)
10
- div(class=`body md${post.direction && post.direction.toLowerCase() === 'rtl'? rtl:""}` itemprop="articleBody")
11
- if post.photos && post.photos.length
12
- div(class="gallery" itemscope itemtype="http://schema.org/ImageGallery")
13
- each photo in post.photos
14
- img(loading="lazy" decoding="async" src=_image_url(photo, post.path) itemprop="contentUrl")
15
- if theme.summary.enable && page.layout === 'post'
16
- div(class='tabs' id='summary')
17
- div(class="show-btn")
18
- div(class="nav")
19
- ul(class="special")
20
- div(class="tab" data-id="summary" data-title="自我介绍")
21
- p
22
- != get_introduce()
23
- div(class="tab active" data-id="summary" data-title="文章概括")
24
- p
25
- != get_summary(page)
26
-
27
-
28
- != post.content
29
- if post.tags && post.tags.length
30
- div(class="tags")
31
- each tag in post.tags.toArray()
32
- a(href!=url_for(tag.path) rel="tag")
33
- i(class="ic i-tag")
34
- != tag.name
35
- footer
36
- != partial('_partials/post/footer.pug')
37
- if theme.reward.enable
38
- != partial('_partials/post/reward.pug', {}, {cache: true})
39
- if theme.creative_commons.license
40
- != partial('_partials/post/copyright.pug')
41
-
42
- != shokax_inject('postBodyEnd')
1
+ - var temp = post.lang || config.language
2
+ article(itemscope itemtype="http://schema.org/Article" class="post block" data-pagefind-body lang=temp)
3
+ link(itemprop="mainEntityOfPage" href!=post.permalink)
4
+ span(hidden itemprop="author" itemscope itemtype="http://schema.org/Person")
5
+ meta(itemprop="image" content=url_for(theme.statics + theme.assets + '/' + theme.sidebar.avatar))
6
+ meta(itemprop="name" content=author)
7
+ meta(itemprop="description" content=`${ subtitle }, ${ description }`)
8
+ span(hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization")
9
+ meta(itemprop="name" content=title)
10
+ div(class=`body md${post.direction && post.direction.toLowerCase() === 'rtl'? rtl:""}` itemprop="articleBody")
11
+ if post.photos && post.photos.length
12
+ div(class="gallery" itemscope itemtype="http://schema.org/ImageGallery")
13
+ each photo in post.photos
14
+ img(loading="lazy" decoding="async" src=_image_url(photo, post.path) itemprop="contentUrl")
15
+ if theme.summary.enable && page.layout === 'post'
16
+ div(class='tabs' id='summary')
17
+ div(class="show-btn")
18
+ div(class="nav")
19
+ ul(class="special")
20
+ div(class="tab" data-id="summary" data-title="自我介绍")
21
+ p
22
+ != get_introduce()
23
+ div(class="tab active" data-id="summary" data-title="文章概括")
24
+ p
25
+ != get_summary(page)
26
+
27
+
28
+ != post.content
29
+ if post.tags && post.tags.length
30
+ div(class="tags")
31
+ each tag in post.tags.toArray()
32
+ a(href!=url_for(tag.path) rel="tag")
33
+ i(class="ic i-tag")
34
+ != tag.name
35
+ footer
36
+ != partial('_partials/post/footer.pug')
37
+ if theme.reward.enable
38
+ != partial('_partials/post/reward.pug', {}, {cache: true})
39
+ if theme.creative_commons.license
40
+ != partial('_partials/post/copyright.pug')
41
+
42
+ != shokax_inject('postBodyEnd')
@@ -1,18 +1,18 @@
1
- if page.reward !== false
2
- div(class="reward")
3
- button
4
- i(class="ic i-heartbeat")
5
- != __('reward.donate')
6
- p
7
- != __('reward.text')
8
- div(id="qr")
9
- each image, name in theme.reward.account
10
- - var builtin = ['wechatpay', 'alipay', 'paypal', 'bitcoin']
11
- if builtin.includes(name)
12
- - var translation = __('reward.' + name)
13
- else
14
- - var translation = name
15
- div
16
- img(loading="lazy" src=`${url_for(theme.statics + theme.assets + image) }` alt=`${ author } ${ translation }`)
17
- p
18
- != translation
1
+ if page.reward !== false
2
+ div(class="reward")
3
+ button
4
+ i(class="ic i-heartbeat")
5
+ != __('reward.donate')
6
+ p
7
+ != __('reward.text')
8
+ div(id="qr")
9
+ each image, name in theme.reward.account
10
+ - var builtin = ['wechatpay', 'alipay', 'paypal', 'bitcoin']
11
+ if builtin.includes(name)
12
+ - var translation = __('reward.' + name)
13
+ else
14
+ - var translation = name
15
+ div
16
+ img(loading="lazy" src=`${url_for(theme.statics + theme.assets + image) }` alt=`${ author } ${ translation }`)
17
+ p
18
+ != translation