hexo-theme-shokax 0.4.5 → 0.4.6-beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (183) hide show
  1. package/CODE_OF_CONDUCT.md +128 -128
  2. package/CONTRIBUTING.md +58 -58
  3. package/LICENSE +660 -660
  4. package/LICENSE-shoka +21 -21
  5. package/README.md +99 -98
  6. package/README_en.MD +91 -90
  7. package/UsageRestrictions.md +25 -25
  8. package/_config.yml +381 -388
  9. package/_images.yml +9 -9
  10. package/eslint.config.mjs +55 -55
  11. package/index.html +231 -0
  12. package/languages/README.md +19 -19
  13. package/languages/default.yml +1 -1
  14. package/languages/en.yml +153 -153
  15. package/languages/ja.yml +153 -153
  16. package/languages/zh-CN.yml +153 -153
  17. package/languages/zh-HK.yml +153 -153
  18. package/languages/zh-TW.yml +153 -153
  19. package/layout/_alternate/atom.ejs +30 -30
  20. package/layout/_alternate/json.ejs +16 -16
  21. package/layout/_alternate/rss.ejs +34 -34
  22. package/layout/_mixin/breadcrumb.pug +33 -33
  23. package/layout/_mixin/card.pug +38 -38
  24. package/layout/_mixin/comment.pug +6 -6
  25. package/layout/_mixin/postmeta.pug +29 -29
  26. package/layout/_mixin/segment.pug +35 -35
  27. package/layout/_mixin/sidebar.pug +40 -40
  28. package/layout/_mixin/widgets.pug +28 -28
  29. package/layout/_partials/footer.pug +43 -43
  30. package/layout/_partials/head/head.pug +55 -56
  31. package/layout/_partials/head/head_com.pug +24 -24
  32. package/layout/_partials/head/pwa.pug +18 -18
  33. package/layout/_partials/header.pug +18 -18
  34. package/layout/_partials/layout.pug +140 -140
  35. package/layout/_partials/loading.pug +13 -13
  36. package/layout/_partials/pagination.pug +4 -4
  37. package/layout/_partials/post/copyright.pug +20 -20
  38. package/layout/_partials/post/footer.pug +17 -17
  39. package/layout/_partials/post/nav.pug +13 -13
  40. package/layout/_partials/post/post.pug +41 -41
  41. package/layout/_partials/post/reward.pug +18 -18
  42. package/layout/_partials/sidebar/menu.pug +37 -37
  43. package/layout/_partials/sidebar/overview.pug +42 -42
  44. package/layout/_partials/third-party/baidu-analytics.pug +11 -11
  45. package/layout/_partials/third-party/clarity.pug +8 -8
  46. package/layout/_partials/third-party/google-analytics.pug +9 -9
  47. package/layout/archive.pug +118 -118
  48. package/layout/category.pug +59 -59
  49. package/layout/index.pug +33 -33
  50. package/layout/page.pug +55 -55
  51. package/layout/post.pug +36 -36
  52. package/layout/tag.pug +43 -43
  53. package/meta.json +6431 -0
  54. package/package.json +72 -70
  55. package/scripts/helpers/engine.js +10 -0
  56. package/scripts/plugin/check.js +2 -2
  57. package/scripts/tags/links.js +4 -4
  58. package/source/assets/algolia_logo.svg +9 -9
  59. package/source/assets/logo.svg +16 -16
  60. package/source/css/_colors.styl +207 -207
  61. package/source/css/_common/components/components.styl +6 -6
  62. package/source/css/_common/components/highlight/highlight.styl +357 -357
  63. package/source/css/_common/components/highlight/operation.styl +21 -21
  64. package/source/css/_common/components/pages/collapse.styl +119 -119
  65. package/source/css/_common/components/pages/home.styl +391 -391
  66. package/source/css/_common/components/pages/pages.styl +56 -56
  67. package/source/css/_common/components/pages/tag-cloud.styl +12 -12
  68. package/source/css/_common/components/post/breadcrumb.styl +39 -39
  69. package/source/css/_common/components/post/copyright.styl +41 -41
  70. package/source/css/_common/components/post/expand.styl +263 -263
  71. package/source/css/_common/components/post/footer.styl +11 -11
  72. package/source/css/_common/components/post/header.styl +79 -79
  73. package/source/css/_common/components/post/nav.styl +64 -64
  74. package/source/css/_common/components/post/post.styl +29 -29
  75. package/source/css/_common/components/post/reward.styl +50 -50
  76. package/source/css/_common/components/post/rtl.styl +12 -12
  77. package/source/css/_common/components/post/tags.styl +39 -39
  78. package/source/css/_common/components/tags/collapse.styl +72 -72
  79. package/source/css/_common/components/tags/container.styl +49 -49
  80. package/source/css/_common/components/tags/label.styl +12 -12
  81. package/source/css/_common/components/tags/links.styl +77 -77
  82. package/source/css/_common/components/tags/list.styl +131 -131
  83. package/source/css/_common/components/tags/note.styl +70 -70
  84. package/source/css/_common/components/tags/player.styl +361 -361
  85. package/source/css/_common/components/tags/quiz.styl +200 -200
  86. package/source/css/_common/components/tags/tabs.styl +89 -89
  87. package/source/css/_common/components/tags/tags.styl +9 -9
  88. package/source/css/_common/components/third-party/loading.styl +222 -222
  89. package/source/css/_common/components/third-party/mermaid/class.styl +90 -90
  90. package/source/css/_common/components/third-party/mermaid/flowchart.styl +72 -72
  91. package/source/css/_common/components/third-party/mermaid/gantt.styl +251 -251
  92. package/source/css/_common/components/third-party/mermaid/git.styl +7 -7
  93. package/source/css/_common/components/third-party/mermaid/mermaid.styl +37 -37
  94. package/source/css/_common/components/third-party/mermaid/pie.styl +9 -9
  95. package/source/css/_common/components/third-party/mermaid/sequence.styl +95 -95
  96. package/source/css/_common/components/third-party/mermaid/state.styl +130 -130
  97. package/source/css/_common/components/third-party/pace.styl +18 -18
  98. package/source/css/_common/components/third-party/search.styl +167 -167
  99. package/source/css/_common/components/third-party/theme.styl +151 -151
  100. package/source/css/_common/components/third-party/third-party.styl +22 -22
  101. package/source/css/_common/components/third-party/widgets.styl +57 -57
  102. package/source/css/_common/outline/footer/footer.styl +67 -67
  103. package/source/css/_common/outline/header/brand.styl +77 -77
  104. package/source/css/_common/outline/header/header.styl +20 -20
  105. package/source/css/_common/outline/header/image.styl +85 -85
  106. package/source/css/_common/outline/header/menu.styl +117 -117
  107. package/source/css/_common/outline/header/nav.styl +81 -81
  108. package/source/css/_common/outline/header/right.styl +15 -15
  109. package/source/css/_common/outline/header/tool.styl +207 -207
  110. package/source/css/_common/outline/header/waves.styl +57 -57
  111. package/source/css/_common/outline/mobile.styl +46 -46
  112. package/source/css/_common/outline/outline.styl +78 -78
  113. package/source/css/_common/outline/sidebar/author.styl +59 -59
  114. package/source/css/_common/outline/sidebar/dimmer.styl +23 -23
  115. package/source/css/_common/outline/sidebar/menu.styl +63 -63
  116. package/source/css/_common/outline/sidebar/quick.styl +43 -43
  117. package/source/css/_common/outline/sidebar/related.styl +56 -56
  118. package/source/css/_common/outline/sidebar/sidebar.styl +80 -80
  119. package/source/css/_common/outline/sidebar/social.styl +69 -69
  120. package/source/css/_common/outline/sidebar/state.styl +37 -37
  121. package/source/css/_common/outline/sidebar/tab.styl +71 -71
  122. package/source/css/_common/outline/sidebar/toc.styl +47 -47
  123. package/source/css/_common/scaffolding/animate.styl +322 -322
  124. package/source/css/_common/scaffolding/base.styl +190 -190
  125. package/source/css/_common/scaffolding/buttons.styl +48 -48
  126. package/source/css/_common/scaffolding/divider.styl +36 -36
  127. package/source/css/_common/scaffolding/iconfont.styl +443 -443
  128. package/source/css/_common/scaffolding/normalize.styl +273 -273
  129. package/source/css/_common/scaffolding/pagination.styl +81 -81
  130. package/source/css/_common/scaffolding/ribbon.styl +38 -38
  131. package/source/css/_common/scaffolding/scaffolding.styl +14 -14
  132. package/source/css/_common/scaffolding/scrollbar.styl +37 -37
  133. package/source/css/_common/scaffolding/tables.styl +50 -50
  134. package/source/css/_common/scaffolding/tip.styl +19 -19
  135. package/source/css/_common/scaffolding/toggles.styl +59 -59
  136. package/source/css/_iconfont.styl +455 -455
  137. package/source/css/_mixins.styl +148 -148
  138. package/source/css/_variables.styl +89 -89
  139. package/source/css/app.styl +41 -41
  140. package/source/css/mermaid.styl +5 -5
  141. package/source/css/optimize.styl +5 -5
  142. package/source/js/_app/components/comments.js +59 -0
  143. package/source/js/_app/components/comments.ts +88 -89
  144. package/source/js/_app/components/sidebar.js +244 -0
  145. package/source/js/_app/components/sidebar.ts +239 -239
  146. package/source/js/_app/components/tcomments.js +47 -0
  147. package/source/js/_app/components/tcomments.ts +54 -54
  148. package/source/js/_app/globals/globalVars.ts +99 -99
  149. package/source/js/_app/globals/handles.js +105 -0
  150. package/source/js/_app/globals/handles.ts +124 -124
  151. package/source/js/_app/globals/themeColor.ts +63 -63
  152. package/source/js/_app/globals/thirdparty.ts +63 -63
  153. package/source/js/_app/globals/tools.ts +75 -75
  154. package/source/js/_app/library/anime.ts +110 -110
  155. package/source/js/_app/library/declare.d.ts +128 -130
  156. package/source/js/_app/library/dom.ts +28 -28
  157. package/source/js/_app/library/loadFile.js +43 -0
  158. package/source/js/_app/library/loadFile.ts +47 -50
  159. package/source/js/_app/library/proto.ts +137 -137
  160. package/source/js/_app/library/scriptPjax.ts +72 -72
  161. package/source/js/_app/library/storage.ts +12 -12
  162. package/source/js/_app/library/vue.js +52 -0
  163. package/source/js/_app/library/vue.ts +49 -49
  164. package/source/js/_app/page/common.js +45 -0
  165. package/source/js/_app/page/common.ts +43 -43
  166. package/source/js/_app/page/fancybox.js +70 -0
  167. package/source/js/_app/page/fancybox.ts +72 -72
  168. package/source/js/_app/page/post.js +253 -0
  169. package/source/js/_app/page/post.ts +266 -266
  170. package/source/js/_app/page/search.js +111 -0
  171. package/source/js/_app/page/search.ts +115 -115
  172. package/source/js/_app/page/tab.ts +60 -60
  173. package/source/js/_app/pjax/domInit.js +80 -0
  174. package/source/js/_app/pjax/domInit.ts +97 -97
  175. package/source/js/_app/pjax/refresh.js +137 -0
  176. package/source/js/_app/pjax/refresh.ts +140 -138
  177. package/source/js/_app/pjax/siteInit.js +115 -0
  178. package/source/js/_app/pjax/siteInit.ts +106 -104
  179. package/source/js/_app/player.js +777 -0
  180. package/source/js/_app/player.ts +798 -798
  181. package/toolbox/compiler.mjs +73 -0
  182. package/toolbox/hoistdep.mjs +6 -0
  183. package/toolbox/lib.mjs +40 -0
@@ -1,42 +1,42 @@
1
- div(class="author" itemprop="author" itemscope itemtype="http://schema.org/Person")
2
- img(loading="lazy" decoding="async" class="image" itemprop="image" alt=author
3
- src=url_for(theme.statics + theme.assets + '/'+ theme.sidebar.avatar))
4
- p(class="name" itemprop="name")
5
- != author
6
- div(class="description" itemprop="description")
7
- != description
8
-
9
- nav(class="state")
10
- if config.archive_dir !== '/' && site.posts.length > 0
11
- div(class="item posts")
12
- a(href=url_for(config.archive_dir + '/'))
13
- span(class="count")
14
- != site.posts.length
15
- span(class="name")
16
- != __('state.posts')
17
- if config.category_dir !== '/' && site.categories.length > 0
18
- div(class="item categories")
19
- a(href=url_for(config.category_dir + '/'))
20
- span(class="count")
21
- != site.categories.length
22
- span(class="name")
23
- != __('state.categories')
24
- if config.tag_dir !== '/' && site.tags.length > 0
25
- div(class="item tags")
26
- a(href=url_for(config.tag_dir + '/'))
27
- span(class="count")
28
- != site.tags.length
29
- span(class="name")
30
- != __('state.tags')
31
-
32
- div(class="social")
33
- if theme.social
34
- each link, name in theme.social
35
- - var sidebarURL = link.split('||')[0].trim()
36
- - var sidebarIcon = '<i class="ic i-' + link.split('||')[1].trim() + '"></i>'
37
- != _url(sidebarURL, sidebarIcon, {title: sidebarURL, class: 'item ' + name})
38
-
39
- != shokax_inject('sidebar')
40
-
41
- div(class="menu")
42
- != partial('_partials/sidebar/menu.pug')
1
+ div(class="author" itemprop="author" itemscope itemtype="http://schema.org/Person")
2
+ img(loading="lazy" decoding="async" class="image" itemprop="image" alt=author
3
+ src=url_for(theme.statics + theme.assets + '/'+ theme.sidebar.avatar))
4
+ p(class="name" itemprop="name")
5
+ != author
6
+ div(class="description" itemprop="description")
7
+ != description
8
+
9
+ nav(class="state")
10
+ if config.archive_dir !== '/' && site.posts.length > 0
11
+ div(class="item posts")
12
+ a(href=url_for(config.archive_dir + '/'))
13
+ span(class="count")
14
+ != site.posts.length
15
+ span(class="name")
16
+ != __('state.posts')
17
+ if config.category_dir !== '/' && site.categories.length > 0
18
+ div(class="item categories")
19
+ a(href=url_for(config.category_dir + '/'))
20
+ span(class="count")
21
+ != site.categories.length
22
+ span(class="name")
23
+ != __('state.categories')
24
+ if config.tag_dir !== '/' && site.tags.length > 0
25
+ div(class="item tags")
26
+ a(href=url_for(config.tag_dir + '/'))
27
+ span(class="count")
28
+ != site.tags.length
29
+ span(class="name")
30
+ != __('state.tags')
31
+
32
+ div(class="social")
33
+ if theme.social
34
+ each link, name in theme.social
35
+ - var sidebarURL = link.split('||')[0].trim()
36
+ - var sidebarIcon = '<i class="ic i-' + link.split('||')[1].trim() + '"></i>'
37
+ != _url(sidebarURL, sidebarIcon, {title: sidebarURL, class: 'item ' + name})
38
+
39
+ != shokax_inject('sidebar')
40
+
41
+ div(class="menu")
42
+ != partial('_partials/sidebar/menu.pug')
@@ -1,11 +1,11 @@
1
- - var hmSrc = `https://hm.baidu.com/hm.js?${ theme.visitor.baiduAnalytics }`
2
- if theme.visitor.baiduAnalytics
3
- script(data-pjax=true).
4
- var _hmt = _hmt || [];
5
- (function () {
6
- const hm = document.createElement("script");
7
- hm.src = "#{hmSrc}"
8
- hm.async = true;
9
- const s = document.getElementsByTagName("script")[0];
10
- s.parentNode.insertBefore(hm, s);
11
- })();
1
+ - var hmSrc = `https://hm.baidu.com/hm.js?${ theme.visitor.baiduAnalytics }`
2
+ if theme.visitor.baiduAnalytics
3
+ script(data-pjax=true).
4
+ var _hmt = _hmt || [];
5
+ (function () {
6
+ const hm = document.createElement("script");
7
+ hm.src = "#{hmSrc}"
8
+ hm.async = true;
9
+ const s = document.getElementsByTagName("script")[0];
10
+ s.parentNode.insertBefore(hm, s);
11
+ })();
@@ -1,8 +1,8 @@
1
- - var code = theme?.visitor?.clarity
2
- if code
3
- script.
4
- (function(c,l,a,r,i,t,y){
5
- c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
6
- t=l.createElement(r);t.async=true;t.src="https://www.clarity.ms/tag/"+i;
7
- y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
8
- })(window, document, "clarity", "script", "#{code}");
1
+ - var code = theme?.visitor?.clarity
2
+ if code
3
+ script.
4
+ (function(c,l,a,r,i,t,y){
5
+ c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
6
+ t=l.createElement(r);t.async=true;t.src="https://www.clarity.ms/tag/"+i;
7
+ y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
8
+ })(window, document, "clarity", "script", "#{code}");
@@ -1,10 +1,10 @@
1
- - var googleId = theme.visitor.googleAnalytics
2
- if googleId
3
- script(async, src=`https://www.googletagmanager.com/gtag/js?id=${ googleId }`)
4
- script(data-pjax=true).
5
- window.dataLayer = window.dataLayer || [];
6
- function gtag() {
7
- dataLayer.push(arguments);
8
- }
9
- gtag('js', new Date());
1
+ - var googleId = theme.visitor.googleAnalytics
2
+ if googleId
3
+ script(async, src=`https://www.googletagmanager.com/gtag/js?id=${ googleId }`)
4
+ script(data-pjax=true).
5
+ window.dataLayer = window.dataLayer || [];
6
+ function gtag() {
7
+ dataLayer.push(arguments);
8
+ }
9
+ gtag('js', new Date());
10
10
  gtag('config', '#{googleId}');
@@ -1,118 +1,118 @@
1
- extends _partials/layout.pug
2
-
3
- block title
4
- if is_month()
5
- != `${page.year}${__('symbol.year')}/${page.month}${__('symbol.month')}`
6
- else if is_year()
7
- != `${page.year}${__('symbol.year')}`
8
- != `${__('title.archive')}`
9
-
10
- block header
11
- h1(itemprop="name headline")
12
- if is_month()
13
- != _p('title.archive_in', page.year + __('symbol.year') + page.month + __('symbol.month'))
14
- else if is_year()
15
- != _p('title.archive_in', page.year + __('symbol.year'))
16
- else
17
- != __('title.archive')
18
-
19
- block content
20
- div(class="collapse wrap")
21
- h2(class="item header")
22
- if is_month()
23
- a(href=url_for(config.archive_dir))
24
- != __('title.all')
25
- small /
26
- a(href=url_for(config.archive_dir + '/' + page.year ))
27
- != `${page.year} ${__('symbol.year')}`
28
- small /
29
- != `${page.month}${__('symbol.month')}`
30
- small
31
- != __('title.archive')
32
- else if is_year()
33
- a(href=url_for(config.archive_dir))
34
- != __('title.all')
35
- small /
36
- != page.year + __('symbol.year')
37
- small
38
- != __('title.archive')
39
- else
40
- a(href=url_for(site.path))
41
- != __('menu.home')
42
- small /
43
- - var posts_length = site.posts.length,cheers
44
- if posts_length > 210
45
- - cheers = 'excellent'
46
- else if posts_length > 130
47
- - cheers = 'great'
48
- else if posts_length > 80
49
- - cheers = 'good'
50
- else if posts_length > 50
51
- - cheers = 'nice'
52
- else if posts_length > 30
53
- - cheers = 'ok'
54
- else
55
- - cheers = 'um'
56
- != _p('counter.archive_posts', site.posts.length)
57
- small(class="cheers")
58
- != __('cheers.' + cheers)
59
- != ' '
60
- != __('keep_on')
61
-
62
- - var current_year = '1970'
63
- - var current_month = '01'
64
- - var count_post = 1
65
- each post in page.posts.toArray()
66
- - var year = date(post.date, 'YYYY')
67
- - var month = date(post.date, 'MM')
68
- if !is_year()
69
- if year !== current_year || month !== current_month
70
- if current_year !== '1970'
71
- small (#{count_post})
72
- </h3>
73
- <h3 class="item section">
74
- a(href=url_for(config.archive_dir + '/' + year )) #{year} #{__('symbol.year')}
75
- small /
76
- a(href=url_for(config.archive_dir + '/' + year + '/' + month)) #{ month } #{__('symbol.month')}
77
- - current_year = year
78
- - current_month = month
79
- - count_post = 1
80
- else
81
- - count_post = count_post + 1
82
- else
83
- if year !== current_year && !is_year()
84
- - current_year = year
85
- h3(class="item section")
86
- a(href=url_for(config.archive_dir + '/' + year )) #{ year } #{__('symbol.year')}
87
- if month !== current_month && is_year() && !is_month()
88
- - current_month = month
89
- h3(class="item section")
90
- a(href=url_for(config.archive_dir + '/' + year + '/' + month)) #{ month } #{__('symbol.month')}
91
- article(class="item normal" itemscope itemtype="http://schema.org/Article")
92
- div(class="meta")
93
- time(
94
- itemprop="dateCreated"
95
- datetime=moment(post.date).format()
96
- content=date(post.date, config.date_format)
97
- ) #{date(post.date, 'MM-DD')}
98
- if post.categories && post.categories.length
99
- - var cat_length = post.categories.length
100
- each cat,index in post.categories.toArray()
101
- if index === cat_length && cat.name !== page.category
102
- span
103
- a(href=url_for(cat.path)) #{cat.name}
104
- div(class="title")
105
- if post.link
106
- - var postTitleIcon = '<i class="ic i-link-alt"></i>'
107
- - var postText = post.title || post.link
108
- != _url(post.link, postText + postTitleIcon, {class: 'external', itemprop: 'url'})
109
- else
110
- - var postTitle = post.title || __('post.untitled')
111
- a(href=url_for(post.path) itemprop="url")
112
- span(itemprop="name") #{postTitle}
113
- if !is_year()
114
- small (#{count_post})
115
- </h3>
116
-
117
- include _partials/pagination.pug
118
-
1
+ extends _partials/layout.pug
2
+
3
+ block title
4
+ if is_month()
5
+ != `${page.year}${__('symbol.year')}/${page.month}${__('symbol.month')}`
6
+ else if is_year()
7
+ != `${page.year}${__('symbol.year')}`
8
+ != `${__('title.archive')}`
9
+
10
+ block header
11
+ h1(itemprop="name headline")
12
+ if is_month()
13
+ != _p('title.archive_in', page.year + __('symbol.year') + page.month + __('symbol.month'))
14
+ else if is_year()
15
+ != _p('title.archive_in', page.year + __('symbol.year'))
16
+ else
17
+ != __('title.archive')
18
+
19
+ block content
20
+ div(class="collapse wrap")
21
+ h2(class="item header")
22
+ if is_month()
23
+ a(href=url_for(config.archive_dir))
24
+ != __('title.all')
25
+ small /
26
+ a(href=url_for(config.archive_dir + '/' + page.year ))
27
+ != `${page.year} ${__('symbol.year')}`
28
+ small /
29
+ != `${page.month}${__('symbol.month')}`
30
+ small
31
+ != __('title.archive')
32
+ else if is_year()
33
+ a(href=url_for(config.archive_dir))
34
+ != __('title.all')
35
+ small /
36
+ != page.year + __('symbol.year')
37
+ small
38
+ != __('title.archive')
39
+ else
40
+ a(href=url_for(site.path))
41
+ != __('menu.home')
42
+ small /
43
+ - var posts_length = site.posts.length,cheers
44
+ if posts_length > 210
45
+ - cheers = 'excellent'
46
+ else if posts_length > 130
47
+ - cheers = 'great'
48
+ else if posts_length > 80
49
+ - cheers = 'good'
50
+ else if posts_length > 50
51
+ - cheers = 'nice'
52
+ else if posts_length > 30
53
+ - cheers = 'ok'
54
+ else
55
+ - cheers = 'um'
56
+ != _p('counter.archive_posts', site.posts.length)
57
+ small(class="cheers")
58
+ != __('cheers.' + cheers)
59
+ != ' '
60
+ != __('keep_on')
61
+
62
+ - var current_year = '1970'
63
+ - var current_month = '01'
64
+ - var count_post = 1
65
+ each post in page.posts.toArray()
66
+ - var year = date(post.date, 'YYYY')
67
+ - var month = date(post.date, 'MM')
68
+ if !is_year()
69
+ if year !== current_year || month !== current_month
70
+ if current_year !== '1970'
71
+ small (#{count_post})
72
+ </h3>
73
+ <h3 class="item section">
74
+ a(href=url_for(config.archive_dir + '/' + year )) #{year} #{__('symbol.year')}
75
+ small /
76
+ a(href=url_for(config.archive_dir + '/' + year + '/' + month)) #{ month } #{__('symbol.month')}
77
+ - current_year = year
78
+ - current_month = month
79
+ - count_post = 1
80
+ else
81
+ - count_post = count_post + 1
82
+ else
83
+ if year !== current_year && !is_year()
84
+ - current_year = year
85
+ h3(class="item section")
86
+ a(href=url_for(config.archive_dir + '/' + year )) #{ year } #{__('symbol.year')}
87
+ if month !== current_month && is_year() && !is_month()
88
+ - current_month = month
89
+ h3(class="item section")
90
+ a(href=url_for(config.archive_dir + '/' + year + '/' + month)) #{ month } #{__('symbol.month')}
91
+ article(class="item normal" itemscope itemtype="http://schema.org/Article")
92
+ div(class="meta")
93
+ time(
94
+ itemprop="dateCreated"
95
+ datetime=moment(post.date).format()
96
+ content=date(post.date, config.date_format)
97
+ ) #{date(post.date, 'MM-DD')}
98
+ if post.categories && post.categories.length
99
+ - var cat_length = post.categories.length
100
+ each cat,index in post.categories.toArray()
101
+ if index === cat_length && cat.name !== page.category
102
+ span
103
+ a(href=url_for(cat.path)) #{cat.name}
104
+ div(class="title")
105
+ if post.link
106
+ - var postTitleIcon = '<i class="ic i-link-alt"></i>'
107
+ - var postText = post.title || post.link
108
+ != _url(post.link, postText + postTitleIcon, {class: 'external', itemprop: 'url'})
109
+ else
110
+ - var postTitle = post.title || __('post.untitled')
111
+ a(href=url_for(post.path) itemprop="url")
112
+ span(itemprop="name") #{postTitle}
113
+ if !is_year()
114
+ small (#{count_post})
115
+ </h3>
116
+
117
+ include _partials/pagination.pug
118
+
@@ -1,59 +1,59 @@
1
- extends ./_partials/layout.pug
2
-
3
- block title
4
- != `${__('title.category')}${__('symbol.colon')}${page.category}`
5
-
6
- block header
7
- h1(itemprop="name headline")
8
- != _p('title.category_in', page.title)
9
-
10
- block content
11
- div(class="collapse wrap")
12
- - var prev = _category_prev(page.category)
13
- h2(class="item header")
14
- a(href=url_for(config.category_dir)) #{__('title.all')}
15
- if prev
16
- small /
17
- != prev
18
- small /
19
- != page.title
20
- small #{__('title.category')}
21
- - var posts = page.posts
22
- - var current = "c"
23
- - var lastcat = ""
24
- - var lastcatslug = ""
25
- each post in posts.toArray()
26
- if post.categories && post.categories.length
27
- - var cat_length = post.categories.length
28
- each cat,index in post.categories.toArray()
29
- if cat.name === page.title
30
- - lastcat = ""
31
- - lastcatslug = ""
32
- else
33
- - lastcat += `<a href=${url_for(cat.path)}>${cat.name}</a><small>`
34
- if index >= post.categories.toArray().length - 1
35
- - lastcat = lastcat+' ( '+cat.length+' ) '+`</small>`
36
- else
37
- - lastcat = lastcat+'/'+`</small>`
38
- - lastcatslug = lastcatslug + cat.slug
39
- if lastcat && lastcatslug && lastcatslug !== current
40
- h3(class="item section")
41
- !=lastcat
42
- - current = lastcatslug
43
- article(class="item normal" itemscope itemtype="http://schema.org/Article")
44
- div(class="meta")
45
- time(
46
- itemprop="dateCreated"
47
- datetime=moment(post.date).format()
48
- content=date(post.date, config.date_format)
49
- ) #{date(post.date, 'MM-DD')}
50
- div(class="title")
51
- if post.link
52
- - var postTitleIcon = '<i class="ic i-link-alt"></i>'
53
- - var postText = post.title || post.link
54
- != _url(post.link, postText + postTitleIcon, {class: 'external', itemprop: 'url'})
55
- else
56
- a(href=url_for(post.path) itemprop="url")
57
- span(itemprop="name")
58
- != post.title || __('post.untitled')
59
- include _partials/pagination.pug
1
+ extends ./_partials/layout.pug
2
+
3
+ block title
4
+ != `${__('title.category')}${__('symbol.colon')}${page.category}`
5
+
6
+ block header
7
+ h1(itemprop="name headline")
8
+ != _p('title.category_in', page.title)
9
+
10
+ block content
11
+ div(class="collapse wrap")
12
+ - var prev = _category_prev(page.category)
13
+ h2(class="item header")
14
+ a(href=url_for(config.category_dir)) #{__('title.all')}
15
+ if prev
16
+ small /
17
+ != prev
18
+ small /
19
+ != page.title
20
+ small #{__('title.category')}
21
+ - var posts = page.posts
22
+ - var current = "c"
23
+ - var lastcat = ""
24
+ - var lastcatslug = ""
25
+ each post in posts.toArray()
26
+ if post.categories && post.categories.length
27
+ - var cat_length = post.categories.length
28
+ each cat,index in post.categories.toArray()
29
+ if cat.name === page.title
30
+ - lastcat = ""
31
+ - lastcatslug = ""
32
+ else
33
+ - lastcat += `<a href=${url_for(cat.path)}>${cat.name}</a><small>`
34
+ if index >= post.categories.toArray().length - 1
35
+ - lastcat = lastcat+' ( '+cat.length+' ) '+`</small>`
36
+ else
37
+ - lastcat = lastcat+'/'+`</small>`
38
+ - lastcatslug = lastcatslug + cat.slug
39
+ if lastcat && lastcatslug && lastcatslug !== current
40
+ h3(class="item section")
41
+ !=lastcat
42
+ - current = lastcatslug
43
+ article(class="item normal" itemscope itemtype="http://schema.org/Article")
44
+ div(class="meta")
45
+ time(
46
+ itemprop="dateCreated"
47
+ datetime=moment(post.date).format()
48
+ content=date(post.date, config.date_format)
49
+ ) #{date(post.date, 'MM-DD')}
50
+ div(class="title")
51
+ if post.link
52
+ - var postTitleIcon = '<i class="ic i-link-alt"></i>'
53
+ - var postText = post.title || post.link
54
+ != _url(post.link, postText + postTitleIcon, {class: 'external', itemprop: 'url'})
55
+ else
56
+ a(href=url_for(post.path) itemprop="url")
57
+ span(itemprop="name")
58
+ != post.title || __('post.untitled')
59
+ include _partials/pagination.pug
package/layout/index.pug CHANGED
@@ -1,33 +1,33 @@
1
- extends _partials/layout.pug
2
- include _mixin/card.pug
3
- include _mixin/postmeta.pug
4
- include _mixin/segment.pug
5
-
6
- block content
7
- div(class="index wrap")
8
- if page.current === 1
9
- if page.sticky.length > 0
10
- h2(class="divider")
11
- != __('index.sticky')
12
- - var sticky = page.sticky.toArray()
13
- div(class="segments sticky")
14
- each post in sticky
15
- +SMRender(post, false)
16
- if page.catlist.length > 0
17
- h2(class="divider")
18
- != __('index.category')
19
- div(class="cards")
20
- each cat in page.catlist
21
- +CardRender(cat)
22
- - var pagePosts = page?.posts?.length
23
- if pagePosts > 0
24
- - var posts = page.posts.toArray()
25
- if page.current === 1
26
- h2(class="divider")
27
- != __('index.posts')
28
- div(class="segments posts")
29
- each post in posts
30
- +SMRender(post, true)
31
- include _partials/pagination.pug
32
-
33
-
1
+ extends _partials/layout.pug
2
+ include _mixin/card.pug
3
+ include _mixin/postmeta.pug
4
+ include _mixin/segment.pug
5
+
6
+ block content
7
+ div(class="index wrap")
8
+ if page.current === 1
9
+ if page.sticky.length > 0
10
+ h2(class="divider")
11
+ != __('index.sticky')
12
+ - var sticky = page.sticky.toArray()
13
+ div(class="segments sticky")
14
+ each post in sticky
15
+ +SMRender(post, false)
16
+ if page.catlist.length > 0
17
+ h2(class="divider")
18
+ != __('index.category')
19
+ div(class="cards")
20
+ each cat in page.catlist
21
+ +CardRender(cat)
22
+ - var pagePosts = page?.posts?.length
23
+ if pagePosts > 0
24
+ - var posts = page.posts.toArray()
25
+ if page.current === 1
26
+ h2(class="divider")
27
+ != __('index.posts')
28
+ div(class="segments posts")
29
+ each post in posts
30
+ +SMRender(post, true)
31
+ include _partials/pagination.pug
32
+
33
+