hexo-theme-shokax 0.4.4 → 0.4.6-beta1

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 (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 -55
  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 -123
  151. package/source/js/_app/globals/themeColor.ts +63 -64
  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 -133
  156. package/source/js/_app/library/dom.ts +28 -26
  157. package/source/js/_app/library/loadFile.js +43 -0
  158. package/source/js/_app/library/loadFile.ts +47 -43
  159. package/source/js/_app/library/proto.ts +137 -141
  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 -50
  164. package/source/js/_app/page/common.js +45 -0
  165. package/source/js/_app/page/common.ts +43 -42
  166. package/source/js/_app/page/fancybox.js +70 -0
  167. package/source/js/_app/page/fancybox.ts +72 -71
  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 -799
  181. package/toolbox/compiler.mjs +73 -0
  182. package/toolbox/hoistdep.mjs +6 -0
  183. package/toolbox/lib.mjs +40 -0
@@ -1,153 +1,153 @@
1
- ---
2
- name: 繁體中文
3
- favicon:
4
- show: (●´3`●)復活成功
5
- hide: (´Д`)瀏覽器崩潰啦
6
-
7
- title:
8
- archive: 歸檔
9
- category: 分類
10
- tag: 標籤
11
- all: 全部
12
- not_found: Σ( ° △ °|||)︴404!何も見えない
13
- category_in: 分類於"%s"的文章
14
- tag_in: 包含標籤"%s"的文章
15
- archive_in: 發表於"%s"的文章
16
-
17
- menu:
18
- home: 首頁
19
- posts: 文章
20
- archives: 歸檔
21
- categories: 分類
22
- tags: 標籤
23
- about: 關於
24
- search: 檢索
25
- census: 博客訪問統計
26
- aboutsite: 關於本站
27
- updata: 更新日誌
28
- statistics: 統計
29
- admiration: 讚賞博主
30
- friends: 友鏈
31
- privacy: 隱私政策
32
-
33
- sidebar:
34
- overview: 本站概要
35
- toc: 文章目錄
36
- related: 系列文章
37
-
38
- index:
39
- sticky: 置頂文章
40
- category: 精選分類
41
- posts: 文章列表
42
- random_posts: 隨機文章
43
- recent_comments: 最新評論
44
-
45
- post:
46
- posted: 發表於
47
- edited: 更新於
48
- created: 創建時間
49
- modified: 修改時間
50
- edit: 編輯
51
- in: 分類於
52
- read_more: 閱讀全文
53
- untitled: 未命名
54
- sticky: 置頂
55
- views: 閱讀次數
56
- related_posts: 相關文章
57
- next: 下一篇
58
- prev: 上一篇
59
- copyright:
60
- author: 作者
61
- link: 文章連結
62
- license_title: 版權聲明
63
- license_content: "本網誌所有文章除特別聲明外,均採用 %s 許可協議。轉載請註明出處!"
64
- nocopy: "<span class=\"red\">本頁內容禁止轉載!</span>"
65
-
66
- footer:
67
- powered: "基於 %s"
68
- total_views: 總瀏覽次數
69
- total_visitors: 訪客總數
70
-
71
- counter:
72
- index:
73
- post: "%d 篇文章"
74
- category: "%d 個子項,"
75
- tag_cloud:
76
- zero: 沒有標籤
77
- one: 目前共有 1 個標籤
78
- other: "目前共有 %d 個標籤"
79
- categories:
80
- zero: 沒有分類
81
- one: 目前共有 1 個分類
82
- other: "目前共有 %d 個分類"
83
- archive_posts:
84
- zero: 沒有文章。
85
- one: 目前共有 1 篇文章。
86
- other: "目前共有 %d 篇文章。"
87
-
88
- state:
89
- posts: 文章
90
- tags: 標籤
91
- categories: 分類
92
-
93
- search:
94
- placeholder: 文章搜尋
95
- empty: "關於 「 ${query} 」 ,什麼也沒搜到"
96
- stats: "${time} ms 內找到 ${hits} 條結果"
97
-
98
- cheers:
99
- um: 嗯..
100
- ok: 還行
101
- nice: 好
102
- good: 很好
103
- great: 非常好
104
- excellent: 太棒了
105
-
106
- keep_on: 繼續努力。
107
-
108
- symbol:
109
- comma: ","
110
- period: "。"
111
- colon: ":"
112
- year: 年
113
- month: 月
114
-
115
- reward:
116
- donate: 捐贈
117
- text: 請我喝[茶]~( ̄▽ ̄)~*
118
- wechatpay: 微信支付
119
- alipay: 支付寶
120
- paypal: PayPal
121
- bitcoin: 比特幣
122
-
123
- follow_me:
124
- welcome: 歡迎關注我的其它發布渠道
125
-
126
- accessibility:
127
- nav_toggle: 切換導航欄
128
- prev_page: 上一頁
129
- next_page: 下一頁
130
-
131
- symbols_count_time:
132
- count: 文章字數
133
- count_total: 總字數
134
- time: 所需閱讀時間
135
- time_total: 所需總閱讀時間
136
- time_minutes: 分鐘
137
- word: 字
138
- view: 次
139
-
140
- tips:
141
- copyright: "複製成功,轉載請遵守 %s 協議。"
142
- nocopy: "複製失敗,本頁內容禁止轉載!"
143
-
144
- quiz:
145
- choice: 單選題
146
- multiple: 多選題
147
- true_false: 判斷題
148
- essay: 問答題
149
- gap_fill: 填空題
150
- mistake: 錯題備註
151
-
152
- outime:
153
- template: "<div class=\"note warning\"><p><span class=\"label warning\">文章時效性提示</span><br>這是一篇發佈於 {{publish}} 天前,最後一次更新在 {{updated}} 天前的文章,部分信息可能已經發生改變,請注意甄別。</p></div>"
1
+ ---
2
+ name: 繁體中文
3
+ favicon:
4
+ show: (●´3`●)復活成功
5
+ hide: (´Д`)瀏覽器崩潰啦
6
+
7
+ title:
8
+ archive: 歸檔
9
+ category: 分類
10
+ tag: 標籤
11
+ all: 全部
12
+ not_found: Σ( ° △ °|||)︴404!何も見えない
13
+ category_in: 分類於"%s"的文章
14
+ tag_in: 包含標籤"%s"的文章
15
+ archive_in: 發表於"%s"的文章
16
+
17
+ menu:
18
+ home: 首頁
19
+ posts: 文章
20
+ archives: 歸檔
21
+ categories: 分類
22
+ tags: 標籤
23
+ about: 關於
24
+ search: 檢索
25
+ census: 博客訪問統計
26
+ aboutsite: 關於本站
27
+ updata: 更新日誌
28
+ statistics: 統計
29
+ admiration: 讚賞博主
30
+ friends: 友鏈
31
+ privacy: 隱私政策
32
+
33
+ sidebar:
34
+ overview: 本站概要
35
+ toc: 文章目錄
36
+ related: 系列文章
37
+
38
+ index:
39
+ sticky: 置頂文章
40
+ category: 精選分類
41
+ posts: 文章列表
42
+ random_posts: 隨機文章
43
+ recent_comments: 最新評論
44
+
45
+ post:
46
+ posted: 發表於
47
+ edited: 更新於
48
+ created: 創建時間
49
+ modified: 修改時間
50
+ edit: 編輯
51
+ in: 分類於
52
+ read_more: 閱讀全文
53
+ untitled: 未命名
54
+ sticky: 置頂
55
+ views: 閱讀次數
56
+ related_posts: 相關文章
57
+ next: 下一篇
58
+ prev: 上一篇
59
+ copyright:
60
+ author: 作者
61
+ link: 文章連結
62
+ license_title: 版權聲明
63
+ license_content: "本網誌所有文章除特別聲明外,均採用 %s 許可協議。轉載請註明出處!"
64
+ nocopy: "<span class=\"red\">本頁內容禁止轉載!</span>"
65
+
66
+ footer:
67
+ powered: "基於 %s"
68
+ total_views: 總瀏覽次數
69
+ total_visitors: 訪客總數
70
+
71
+ counter:
72
+ index:
73
+ post: "%d 篇文章"
74
+ category: "%d 個子項,"
75
+ tag_cloud:
76
+ zero: 沒有標籤
77
+ one: 目前共有 1 個標籤
78
+ other: "目前共有 %d 個標籤"
79
+ categories:
80
+ zero: 沒有分類
81
+ one: 目前共有 1 個分類
82
+ other: "目前共有 %d 個分類"
83
+ archive_posts:
84
+ zero: 沒有文章。
85
+ one: 目前共有 1 篇文章。
86
+ other: "目前共有 %d 篇文章。"
87
+
88
+ state:
89
+ posts: 文章
90
+ tags: 標籤
91
+ categories: 分類
92
+
93
+ search:
94
+ placeholder: 文章搜尋
95
+ empty: "關於 「 ${query} 」 ,什麼也沒搜到"
96
+ stats: "${time} ms 內找到 ${hits} 條結果"
97
+
98
+ cheers:
99
+ um: 嗯..
100
+ ok: 還行
101
+ nice: 好
102
+ good: 很好
103
+ great: 非常好
104
+ excellent: 太棒了
105
+
106
+ keep_on: 繼續努力。
107
+
108
+ symbol:
109
+ comma: ","
110
+ period: "。"
111
+ colon: ":"
112
+ year: 年
113
+ month: 月
114
+
115
+ reward:
116
+ donate: 捐贈
117
+ text: 請我喝[茶]~( ̄▽ ̄)~*
118
+ wechatpay: 微信支付
119
+ alipay: 支付寶
120
+ paypal: PayPal
121
+ bitcoin: 比特幣
122
+
123
+ follow_me:
124
+ welcome: 歡迎關注我的其它發布渠道
125
+
126
+ accessibility:
127
+ nav_toggle: 切換導航欄
128
+ prev_page: 上一頁
129
+ next_page: 下一頁
130
+
131
+ symbols_count_time:
132
+ count: 文章字數
133
+ count_total: 總字數
134
+ time: 所需閱讀時間
135
+ time_total: 所需總閱讀時間
136
+ time_minutes: 分鐘
137
+ word: 字
138
+ view: 次
139
+
140
+ tips:
141
+ copyright: "複製成功,轉載請遵守 %s 協議。"
142
+ nocopy: "複製失敗,本頁內容禁止轉載!"
143
+
144
+ quiz:
145
+ choice: 單選題
146
+ multiple: 多選題
147
+ true_false: 判斷題
148
+ essay: 問答題
149
+ gap_fill: 填空題
150
+ mistake: 錯題備註
151
+
152
+ outime:
153
+ template: "<div class=\"note warning\"><p><span class=\"label warning\">文章時效性提示</span><br>這是一篇發佈於 {{publish}} 天前,最後一次更新在 {{updated}} 天前的文章,部分信息可能已經發生改變,請注意甄別。</p></div>"
@@ -1,30 +1,30 @@
1
- <?xml version="1.0"?>
2
- <feed xmlns="http://www.w3.org/2005/Atom">
3
- <id><%= config.url %></id>
4
- <title><%= config.title %></title>
5
- <subtitle><%= config.subtitle %></subtitle>
6
- <icon><%= full_url_for('/assets/favicon.ico') %></icon>
7
- <link href="<%= config.url %>" />
8
- <author>
9
- <name><%= config.author %></name>
10
- </author>
11
- <updated><%= moment(lastBuildDate).toISOString() %></updated>
12
- <%_ for (item of (config.keywords ? config.keywords.split(',') : [])) { _%>
13
- <category term="<%= item %>" />
14
- <%_ } _%>
15
- <%_ for (const post of posts) { _%>
16
- <entry>
17
- <id><%= post.permalink %></id>
18
- <title><%= post.title %></title>
19
- <link rel="alternate" href="<%= post.permalink %>"/>
20
- <content type="html"><%= post.content %></content>
21
- <%_ for (const { name, path } of (post.categories ? post.categories.toArray() : [])) { _%>
22
- <category term="<%= name %>" scheme="<%= full_url_for(path) %>" />
23
- <%_ } _%>
24
- <%_ for (const { name, path } of (post.tags ? post.tags.toArray() : [])) { _%>
25
- <category term="<%= name %>" scheme="<%= full_url_for(path) %>" />
26
- <%_ } _%>
27
- <updated><%= moment(post.date).toISOString() %></updated>
28
- </entry>
29
- <%_ } _%>
30
- </feed>
1
+ <?xml version="1.0"?>
2
+ <feed xmlns="http://www.w3.org/2005/Atom">
3
+ <id><%= config.url %></id>
4
+ <title><%= config.title %></title>
5
+ <subtitle><%= config.subtitle %></subtitle>
6
+ <icon><%= full_url_for('/assets/favicon.ico') %></icon>
7
+ <link href="<%= config.url %>" />
8
+ <author>
9
+ <name><%= config.author %></name>
10
+ </author>
11
+ <updated><%= moment(lastBuildDate).toISOString() %></updated>
12
+ <%_ for (item of (config.keywords ? config.keywords.split(',') : [])) { _%>
13
+ <category term="<%= item %>" />
14
+ <%_ } _%>
15
+ <%_ for (const post of posts) { _%>
16
+ <entry>
17
+ <id><%= post.permalink %></id>
18
+ <title><%= post.title %></title>
19
+ <link rel="alternate" href="<%= post.permalink %>"/>
20
+ <content type="html"><%= post.content %></content>
21
+ <%_ for (const { name, path } of (post.categories ? post.categories.toArray() : [])) { _%>
22
+ <category term="<%= name %>" scheme="<%= full_url_for(path) %>" />
23
+ <%_ } _%>
24
+ <%_ for (const { name, path } of (post.tags ? post.tags.toArray() : [])) { _%>
25
+ <category term="<%= name %>" scheme="<%= full_url_for(path) %>" />
26
+ <%_ } _%>
27
+ <updated><%= moment(post.date).toISOString() %></updated>
28
+ </entry>
29
+ <%_ } _%>
30
+ </feed>
@@ -1,16 +1,16 @@
1
- <%- JSON.stringify({
2
- version: 'https://jsonfeed.org/version/1',
3
- title: config.title,
4
- subtitle: config.subtitle,
5
- icon: full_url_for('/assets/favicon.ico'),
6
- description: config.description,
7
- home_page_url: config.url,
8
- items: posts.map(post => ({
9
- id: post.permalink,
10
- url: post.permalink,
11
- title: post.title,
12
- date_published: moment(post.date).toISOString(),
13
- content_html: post.content || '',
14
- tags: [...(post.categories ? post.categories.toArray() : []).map(({ name }) => name), ...(post.tags ? post.tags.toArray() : []).map(({ name }) => name)]
15
- }))
16
- }, null, 4) _%>
1
+ <%- JSON.stringify({
2
+ version: 'https://jsonfeed.org/version/1',
3
+ title: config.title,
4
+ subtitle: config.subtitle,
5
+ icon: full_url_for('/assets/favicon.ico'),
6
+ description: config.description,
7
+ home_page_url: config.url,
8
+ items: posts.map(post => ({
9
+ id: post.permalink,
10
+ url: post.permalink,
11
+ title: post.title,
12
+ date_published: moment(post.date).toISOString(),
13
+ content_html: post.content || '',
14
+ tags: [...(post.categories ? post.categories.toArray() : []).map(({ name }) => name), ...(post.tags ? post.tags.toArray() : []).map(({ name }) => name)]
15
+ }))
16
+ }, null, 4) _%>
@@ -1,34 +1,34 @@
1
- <?xml version="1.0"?>
2
- <rss version="2.0">
3
- <channel>
4
- <title><%= config.title %></title>
5
- <subtitle><%= config.subtitle %></subtitle>
6
- <icon><%= full_url_for('/assets/favicon.ico') %></icon>
7
- <link><%= config.url %></link>
8
- <author>
9
- <name><%= config.author %></name>
10
- </author>
11
- <description><%= config.description %></description>
12
- <language><%= config.language %></language>
13
- <pubDate><%= moment(lastBuildDate).locale('en').format('ddd, DD MMM YYYY HH:mm:ss ZZ') %></pubDate>
14
- <lastBuildDate><%= moment(lastBuildDate).locale('en').format('ddd, DD MMM YYYY HH:mm:ss ZZ') %></lastBuildDate>
15
- <%_ for (item of (config.keywords ? config.keywords.split(',') : [])) { _%>
16
- <category term="<%= item %>" />
17
- <%_ } _%>
18
- <%_ for (const post of posts) { _%>
19
- <item>
20
- <guid isPermalink="true"><%= post.permalink %></guid>
21
- <title><%= post.title %></title>
22
- <link><%= post.permalink %></link>
23
- <%_ for (const { name, path } of (post.categories ? post.categories.toArray() : [])) { _%>
24
- <category term="<%= name %>" scheme="<%= full_url_for(path) %>" />
25
- <%_ } _%>
26
- <%_ for (const { name, path } of (post.tags ? post.tags.toArray() : [])) { _%>
27
- <category term="<%= name %>" scheme="<%= full_url_for(path) %>" />
28
- <%_ } _%>
29
- <pubDate><%= moment(post.date).locale('en').format('ddd, DD MMM YYYY HH:mm:ss ZZ') %></pubDate>
30
- <description><![CDATA[ <%= post.content %> ]]></description>
31
- </item>
32
- <%_ } _%>
33
- </channel>
34
- </rss>
1
+ <?xml version="1.0"?>
2
+ <rss version="2.0">
3
+ <channel>
4
+ <title><%= config.title %></title>
5
+ <subtitle><%= config.subtitle %></subtitle>
6
+ <icon><%= full_url_for('/assets/favicon.ico') %></icon>
7
+ <link><%= config.url %></link>
8
+ <author>
9
+ <name><%= config.author %></name>
10
+ </author>
11
+ <description><%= config.description %></description>
12
+ <language><%= config.language %></language>
13
+ <pubDate><%= moment(lastBuildDate).locale('en').format('ddd, DD MMM YYYY HH:mm:ss ZZ') %></pubDate>
14
+ <lastBuildDate><%= moment(lastBuildDate).locale('en').format('ddd, DD MMM YYYY HH:mm:ss ZZ') %></lastBuildDate>
15
+ <%_ for (item of (config.keywords ? config.keywords.split(',') : [])) { _%>
16
+ <category term="<%= item %>" />
17
+ <%_ } _%>
18
+ <%_ for (const post of posts) { _%>
19
+ <item>
20
+ <guid isPermalink="true"><%= post.permalink %></guid>
21
+ <title><%= post.title %></title>
22
+ <link><%= post.permalink %></link>
23
+ <%_ for (const { name, path } of (post.categories ? post.categories.toArray() : [])) { _%>
24
+ <category term="<%= name %>" scheme="<%= full_url_for(path) %>" />
25
+ <%_ } _%>
26
+ <%_ for (const { name, path } of (post.tags ? post.tags.toArray() : [])) { _%>
27
+ <category term="<%= name %>" scheme="<%= full_url_for(path) %>" />
28
+ <%_ } _%>
29
+ <pubDate><%= moment(post.date).locale('en').format('ddd, DD MMM YYYY HH:mm:ss ZZ') %></pubDate>
30
+ <description><![CDATA[ <%= post.content %> ]]></description>
31
+ </item>
32
+ <%_ } _%>
33
+ </channel>
34
+ </rss>
@@ -1,33 +1,33 @@
1
- mixin BCRender(post, home)
2
- if home
3
- != '<div class="breadcrumb" itemListElement itemscope itemtype="https://schema.org/BreadcrumbList">'
4
- i(class="ic i-home")
5
- span
6
- a(href=url_for(site.path))
7
- != __('menu.home')
8
- else
9
- != '<div class="breadcrumb">'
10
- if post.categories && post.categories.length
11
- - var cat_length = post.categories.length
12
- if home
13
- i(class="ic i-angle-right")
14
- each cat,index in post.categories.toArray()
15
- if home
16
- if index===cat_length-1
17
- span(class="current" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem")
18
- a(href=url_for(cat.path) itemprop="item" rel="index" title=__('post.in')+ cat.name)
19
- span(itemprop="name")
20
- != cat.name
21
- meta(itemprop="position" content=index)
22
- else
23
- span(itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem")
24
- a(href=url_for(cat.path) itemprop="item" rel="index" title=__('post.in') + cat.name)
25
- span(itemprop="name")
26
- != cat.name
27
- meta(itemprop="position" content=index)
28
- else
29
- a(href=url_for(cat.path) title=__('post.in')+cat.name)
30
- != cat.name
31
- if cat_length > 1 && index !== cat_length - 1
32
- i(class="ic i-angle-right")
33
- != '</div>'
1
+ mixin BCRender(post, home)
2
+ if home
3
+ != '<div class="breadcrumb" itemListElement itemscope itemtype="https://schema.org/BreadcrumbList">'
4
+ i(class="ic i-home")
5
+ span
6
+ a(href=url_for(site.path))
7
+ != __('menu.home')
8
+ else
9
+ != '<div class="breadcrumb">'
10
+ if post.categories && post.categories.length
11
+ - var cat_length = post.categories.length
12
+ if home
13
+ i(class="ic i-angle-right")
14
+ each cat,index in post.categories.toArray()
15
+ if home
16
+ if index===cat_length-1
17
+ span(class="current" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem")
18
+ a(href=url_for(cat.path) itemprop="item" rel="index" title=__('post.in')+ cat.name)
19
+ span(itemprop="name")
20
+ != cat.name
21
+ meta(itemprop="position" content=index)
22
+ else
23
+ span(itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem")
24
+ a(href=url_for(cat.path) itemprop="item" rel="index" title=__('post.in') + cat.name)
25
+ span(itemprop="name")
26
+ != cat.name
27
+ meta(itemprop="position" content=index)
28
+ else
29
+ a(href=url_for(cat.path) title=__('post.in')+cat.name)
30
+ != cat.name
31
+ if cat_length > 1 && index !== cat_length - 1
32
+ i(class="ic i-angle-right")
33
+ != '</div>'
@@ -1,38 +1,38 @@
1
- mixin CardRender(item)
2
- - cover = url_for(theme.statics + item.slug + '/cover.jpg')
3
- - itemname = item.name
4
-
5
- section(class="item")
6
- div(class="cover" data-background-image!=cover ? cover:"")
7
- h2(class="title")
8
- != itemname
9
- - var temp = item?.top?.name
10
- if temp
11
- span
12
- != item.top.name
13
- div(class="info")
14
- if item.link
15
- - var postTitleIcon = '<i class="ic i-link-alt"></i>'
16
- - var postText = itemname || item.link || item.path || __('post.untitled')
17
- div(class="ribbon")
18
- - var tempL = item.link || item.path
19
- != _url(tempL , postText + (postTitleIcon || ''), {itemprop: 'url', title: postText})
20
- div(class="inner")
21
- - var len = ''
22
- if item.child
23
- - len = _p('counter.index.category', item.child)
24
- - len = len + _p('counter.index.post', item.length)
25
- ul(class="posts")
26
- each sub in item.subs
27
- - var subname = sub.name || sub.title
28
- li
29
- a(title=subname href=url_for(sub.path))
30
- = subname
31
- div(class="meta footer")
32
- if item.top
33
- span
34
- != _url(item.top.path, '<i class="ic i-flag"></i>'+item.top.name, {itemprop: 'url', title: item.top.name})
35
- span
36
- i(class="ic i-file")
37
- != len
38
- != _url(item.path, 'more...', {itemprop: 'url', title: itemname, class: 'btn'})
1
+ mixin CardRender(item)
2
+ - cover = url_for(theme.statics + item.slug + '/cover.jpg')
3
+ - itemname = item.name
4
+
5
+ section(class="item")
6
+ div(class="cover" data-background-image!=cover ? cover:"")
7
+ h2(class="title")
8
+ != itemname
9
+ - var temp = item?.top?.name
10
+ if temp
11
+ span
12
+ != item.top.name
13
+ div(class="info")
14
+ if item.link
15
+ - var postTitleIcon = '<i class="ic i-link-alt"></i>'
16
+ - var postText = itemname || item.link || item.path || __('post.untitled')
17
+ div(class="ribbon")
18
+ - var tempL = item.link || item.path
19
+ != _url(tempL , postText + (postTitleIcon || ''), {itemprop: 'url', title: postText})
20
+ div(class="inner")
21
+ - var len = ''
22
+ if item.child
23
+ - len = _p('counter.index.category', item.child)
24
+ - len = len + _p('counter.index.post', item.length)
25
+ ul(class="posts")
26
+ each sub in item.subs
27
+ - var subname = sub.name || sub.title
28
+ li
29
+ a(title=subname href=url_for(sub.path))
30
+ = subname
31
+ div(class="meta footer")
32
+ if item.top
33
+ span
34
+ != _url(item.top.path, '<i class="ic i-flag"></i>'+item.top.name, {itemprop: 'url', title: item.top.name})
35
+ span
36
+ i(class="ic i-file")
37
+ != len
38
+ != _url(item.path, 'more...', {itemprop: 'url', title: itemname, class: 'btn'})
@@ -1,6 +1,6 @@
1
- mixin CommentRender()
2
- != shokax_inject('comment')
3
- if page.comment !== false
4
- div(class="wrap" id="comments")
5
-
6
-
1
+ mixin CommentRender()
2
+ != shokax_inject('comment')
3
+ if page.comment !== false
4
+ div(class="wrap" id="comments")
5
+
6
+