hexo-theme-shokax 0.5.1 → 0.5.2

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 (164) hide show
  1. package/CODE_OF_CONDUCT.md +128 -128
  2. package/LICENSE +660 -660
  3. package/LICENSE-shoka +21 -21
  4. package/README.md +74 -68
  5. package/UsageRestrictions.md +25 -25
  6. package/_config.yml +352 -350
  7. package/languages/README.md +19 -19
  8. package/languages/default.yml +1 -1
  9. package/languages/en.yml +155 -155
  10. package/languages/ja.yml +155 -155
  11. package/languages/zh-CN.yml +155 -155
  12. package/languages/zh-HK.yml +155 -155
  13. package/languages/zh-TW.yml +155 -155
  14. package/layout/_alternate/atom.ejs +30 -30
  15. package/layout/_alternate/json.ejs +16 -16
  16. package/layout/_alternate/rss.ejs +34 -34
  17. package/layout/_mixin/breadcrumb.pug +33 -33
  18. package/layout/_mixin/card.pug +37 -37
  19. package/layout/_mixin/comment.pug +6 -6
  20. package/layout/_mixin/postmeta.pug +29 -29
  21. package/layout/_mixin/segment.pug +35 -35
  22. package/layout/_mixin/sidebar.pug +40 -40
  23. package/layout/_mixin/widgets.pug +28 -28
  24. package/layout/_partials/footer.pug +43 -43
  25. package/layout/_partials/head/head.pug +50 -50
  26. package/layout/_partials/head/head_com.pug +24 -24
  27. package/layout/_partials/head/pwa.pug +18 -18
  28. package/layout/_partials/header.pug +18 -18
  29. package/layout/_partials/layout.pug +137 -137
  30. package/layout/_partials/loading.pug +13 -13
  31. package/layout/_partials/pagination.pug +4 -4
  32. package/layout/_partials/post/copyright.pug +20 -20
  33. package/layout/_partials/post/footer.pug +20 -20
  34. package/layout/_partials/post/nav.pug +17 -17
  35. package/layout/_partials/post/post.pug +42 -42
  36. package/layout/_partials/post/reward.pug +18 -18
  37. package/layout/_partials/sidebar/menu.pug +37 -37
  38. package/layout/_partials/sidebar/overview.pug +42 -42
  39. package/layout/_partials/third-party/baidu-analytics.pug +11 -11
  40. package/layout/_partials/third-party/clarity.pug +8 -8
  41. package/layout/_partials/third-party/google-analytics.pug +9 -9
  42. package/layout/archive.pug +121 -121
  43. package/layout/category.pug +62 -62
  44. package/layout/index.pug +36 -36
  45. package/layout/page.pug +60 -60
  46. package/layout/post.pug +42 -42
  47. package/layout/tag.pug +46 -46
  48. package/package.json +13 -12
  49. package/scripts/generaters/images.js +11 -13
  50. package/scripts/generaters/script.js +3 -1
  51. package/scripts/plugin/check.js +48 -10
  52. package/scripts/plugin/index.js +2 -2
  53. package/source/assets/algolia_logo.svg +9 -9
  54. package/source/assets/logo.svg +16 -16
  55. package/source/css/_colors.styl +207 -207
  56. package/source/css/_common/components/components.styl +5 -6
  57. package/source/css/_common/components/pages/collapse.styl +119 -119
  58. package/source/css/_common/components/pages/home.styl +391 -391
  59. package/source/css/_common/components/pages/pages.styl +56 -56
  60. package/source/css/_common/components/pages/tag-cloud.styl +12 -12
  61. package/source/css/_common/components/post/breadcrumb.styl +39 -39
  62. package/source/css/_common/components/post/copyright.styl +41 -41
  63. package/source/css/_common/components/post/expand.styl +263 -263
  64. package/source/css/_common/components/post/footer.styl +11 -11
  65. package/source/css/_common/components/post/header.styl +79 -79
  66. package/source/css/_common/components/post/nav.styl +64 -64
  67. package/source/css/_common/components/post/post.styl +29 -29
  68. package/source/css/_common/components/post/reward.styl +50 -50
  69. package/source/css/_common/components/post/rtl.styl +12 -12
  70. package/source/css/_common/components/post/tags.styl +39 -39
  71. package/source/css/_common/components/tags/collapse.styl +72 -72
  72. package/source/css/_common/components/tags/container.styl +49 -49
  73. package/source/css/_common/components/tags/label.styl +12 -12
  74. package/source/css/_common/components/tags/links.styl +77 -77
  75. package/source/css/_common/components/tags/list.styl +131 -131
  76. package/source/css/_common/components/tags/note.styl +70 -70
  77. package/source/css/_common/components/tags/player.styl +361 -361
  78. package/source/css/_common/components/tags/quiz.styl +200 -200
  79. package/source/css/_common/components/tags/tabs.styl +89 -89
  80. package/source/css/_common/components/tags/tags.styl +9 -9
  81. package/source/css/_common/components/third-party/loading.styl +222 -222
  82. package/source/css/_common/components/third-party/mermaid/class.styl +90 -90
  83. package/source/css/_common/components/third-party/mermaid/flowchart.styl +72 -72
  84. package/source/css/_common/components/third-party/mermaid/gantt.styl +251 -251
  85. package/source/css/_common/components/third-party/mermaid/git.styl +7 -7
  86. package/source/css/_common/components/third-party/mermaid/mermaid.styl +37 -37
  87. package/source/css/_common/components/third-party/mermaid/pie.styl +9 -9
  88. package/source/css/_common/components/third-party/mermaid/sequence.styl +95 -95
  89. package/source/css/_common/components/third-party/mermaid/state.styl +130 -130
  90. package/source/css/_common/components/third-party/pace.styl +18 -18
  91. package/source/css/_common/components/third-party/search.styl +167 -167
  92. package/source/css/_common/components/third-party/theme.styl +151 -151
  93. package/source/css/_common/components/third-party/third-party.styl +22 -22
  94. package/source/css/_common/components/third-party/widgets.styl +57 -57
  95. package/source/css/_common/outline/footer/footer.styl +67 -67
  96. package/source/css/_common/outline/header/brand.styl +77 -77
  97. package/source/css/_common/outline/header/header.styl +20 -20
  98. package/source/css/_common/outline/header/image.styl +85 -85
  99. package/source/css/_common/outline/header/menu.styl +117 -117
  100. package/source/css/_common/outline/header/nav.styl +81 -81
  101. package/source/css/_common/outline/header/right.styl +15 -15
  102. package/source/css/_common/outline/header/tool.styl +207 -207
  103. package/source/css/_common/outline/header/waves.styl +57 -57
  104. package/source/css/_common/outline/mobile.styl +46 -46
  105. package/source/css/_common/outline/outline.styl +78 -78
  106. package/source/css/_common/outline/sidebar/author.styl +59 -59
  107. package/source/css/_common/outline/sidebar/dimmer.styl +23 -23
  108. package/source/css/_common/outline/sidebar/menu.styl +63 -63
  109. package/source/css/_common/outline/sidebar/quick.styl +43 -43
  110. package/source/css/_common/outline/sidebar/related.styl +56 -56
  111. package/source/css/_common/outline/sidebar/sidebar.styl +82 -82
  112. package/source/css/_common/outline/sidebar/social.styl +69 -69
  113. package/source/css/_common/outline/sidebar/state.styl +37 -37
  114. package/source/css/_common/outline/sidebar/tab.styl +71 -71
  115. package/source/css/_common/outline/sidebar/toc.styl +47 -47
  116. package/source/css/_common/scaffolding/animate.styl +322 -322
  117. package/source/css/_common/scaffolding/base.styl +192 -190
  118. package/source/css/_common/scaffolding/buttons.styl +48 -48
  119. package/source/css/_common/scaffolding/divider.styl +36 -36
  120. package/source/css/_common/scaffolding/iconfont.styl +443 -443
  121. package/source/css/_common/scaffolding/normalize.styl +273 -273
  122. package/source/css/_common/scaffolding/pagination.styl +81 -81
  123. package/source/css/_common/scaffolding/ribbon.styl +38 -38
  124. package/source/css/_common/scaffolding/scaffolding.styl +14 -14
  125. package/source/css/_common/scaffolding/scrollbar.styl +37 -37
  126. package/source/css/_common/scaffolding/tables.styl +50 -50
  127. package/source/css/_common/scaffolding/tip.styl +19 -19
  128. package/source/css/_common/scaffolding/toggles.styl +59 -59
  129. package/source/css/_iconfont.styl +455 -455
  130. package/source/css/_mixins.styl +148 -148
  131. package/source/css/_variables.styl +89 -89
  132. package/source/css/app.styl +25 -25
  133. package/source/css/mermaid.styl +5 -5
  134. package/source/css/page.styl +2 -2
  135. package/source/css/post.styl +6 -5
  136. package/source/css/scaffolding.styl +4 -4
  137. package/source/js/_app/components/cloudflare.ts +18 -18
  138. package/source/js/_app/components/comments.ts +88 -86
  139. package/source/js/_app/components/sidebar.ts +243 -243
  140. package/source/js/_app/components/tcomments.ts +53 -53
  141. package/source/js/_app/globals/globalVars.ts +84 -84
  142. package/source/js/_app/globals/handles.ts +124 -124
  143. package/source/js/_app/globals/themeColor.ts +62 -62
  144. package/source/js/_app/globals/thirdparty.ts +63 -63
  145. package/source/js/_app/globals/tools.ts +73 -73
  146. package/source/js/_app/library/anime.ts +121 -121
  147. package/source/js/_app/library/declare.d.ts +128 -126
  148. package/source/js/_app/library/proto.ts +70 -70
  149. package/source/js/_app/library/vue.ts +49 -49
  150. package/source/js/_app/page/common.ts +41 -41
  151. package/source/js/_app/page/imageviewer.ts +15 -15
  152. package/source/js/_app/page/post.ts +252 -248
  153. package/source/js/_app/page/search.ts +109 -109
  154. package/source/js/_app/page/tab.ts +59 -59
  155. package/source/js/_app/pjax/domInit.ts +102 -102
  156. package/source/js/_app/pjax/refresh.ts +117 -117
  157. package/source/js/_app/pjax/siteInit.ts +90 -90
  158. package/source/js/_app/player.ts +13 -13
  159. package/toolbox/compiler.mjs +49 -53
  160. package/toolbox/dev-version.mjs +14 -14
  161. package/toolbox/hoistdep.mjs +5 -5
  162. package/toolbox/lib.mjs +63 -63
  163. package/source/css/_common/components/highlight/highlight.styl +0 -357
  164. package/source/css/_common/components/highlight/operation.styl +0 -21
@@ -1,137 +1,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="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="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,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" 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
@@ -1,37 +1,37 @@
1
- mixin item(name, path, parent, sublist)
2
- - var trimn = (str)=>{return str!=null?str.trim():"";}
3
- - var path = path.split('||')
4
- - var itemURL = path[0].trim()
5
- - if (!itemURL.startsWith('http')){ itemURL = itemURL.replace('//', '/') }
6
- - var menuIcon = '<i class="ic i-' + trimn(path[1]) + '"></i>'
7
- - var menuText = __('menu.' + name).replace('menu.', '')
8
- if parent
9
- li(class="item dropdown")
10
- if itemURL === '/'
11
- a(href="#" onclick="return false;")
12
- != menuIcon + menuText
13
- else
14
- != _url(itemURL, menuIcon + menuText, {rel: 'section'})
15
- ul(class="submenu")
16
- each subvalue, subname in sublist
17
- - var path = subvalue.split('||')
18
- - var itemURL = path[0].trim()
19
- - if (itemURL==='/') itemURL='javascript:void(0)'
20
- - var menuText = __('menu.' + subname).replace('menu.', '')
21
- if subname === 'default'
22
- - var menuText = __('menu.' + name).replace('menu.', '')
23
- else
24
- - var menuIcon = '<i class="ic i-' + trimn(path[1]) + '"></i>'
25
- li(class="item")
26
- != _url(itemURL, menuIcon + menuText, {rel: 'section'})
27
- else
28
- li(class="item")
29
- != _url(itemURL, menuIcon + menuText, {rel: 'section'})
30
-
31
- each value, name in theme.menu
32
- if value.toString() === '[object Object]'
33
- each subvalue, subname in value
34
- if subname === 'default'
35
- +item(name, subvalue, true, value)
36
- else
37
- +item(name, value)
1
+ mixin item(name, path, parent, sublist)
2
+ - var trimn = (str)=>{return str!=null?str.trim():"";}
3
+ - var path = path.split('||')
4
+ - var itemURL = path[0].trim()
5
+ - if (!itemURL.startsWith('http')){ itemURL = itemURL.replace('//', '/') }
6
+ - var menuIcon = '<i class="ic i-' + trimn(path[1]) + '"></i>'
7
+ - var menuText = __('menu.' + name).replace('menu.', '')
8
+ if parent
9
+ li(class="item dropdown")
10
+ if itemURL === '/'
11
+ a(href="#" onclick="return false;")
12
+ != menuIcon + menuText
13
+ else
14
+ != _url(itemURL, menuIcon + menuText, {rel: 'section'})
15
+ ul(class="submenu")
16
+ each subvalue, subname in sublist
17
+ - var path = subvalue.split('||')
18
+ - var itemURL = path[0].trim()
19
+ - if (itemURL==='/') itemURL='javascript:void(0)'
20
+ - var menuText = __('menu.' + subname).replace('menu.', '')
21
+ if subname === 'default'
22
+ - var menuText = __('menu.' + name).replace('menu.', '')
23
+ else
24
+ - var menuIcon = '<i class="ic i-' + trimn(path[1]) + '"></i>'
25
+ li(class="item")
26
+ != _url(itemURL, menuIcon + menuText, {rel: 'section'})
27
+ else
28
+ li(class="item")
29
+ != _url(itemURL, menuIcon + menuText, {rel: 'section'})
30
+
31
+ each value, name in theme.menu
32
+ if value.toString() === '[object Object]'
33
+ each subvalue, subname in value
34
+ if subname === 'default'
35
+ +item(name, subvalue, true, value)
36
+ else
37
+ +item(name, value)