hexo-theme-shokax 0.4.6-dev5 → 0.4.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (186) 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 +76 -99
  6. package/README_en.MD +75 -91
  7. package/UsageRestrictions.md +25 -25
  8. package/_config.yml +381 -381
  9. package/_images.yml +9 -9
  10. package/eslint.config.mjs +55 -55
  11. package/languages/README.md +19 -19
  12. package/languages/default.yml +1 -1
  13. package/languages/en.yml +153 -153
  14. package/languages/ja.yml +153 -153
  15. package/languages/zh-CN.yml +153 -153
  16. package/languages/zh-HK.yml +153 -153
  17. package/languages/zh-TW.yml +153 -153
  18. package/layout/_alternate/atom.ejs +30 -30
  19. package/layout/_alternate/json.ejs +16 -16
  20. package/layout/_alternate/rss.ejs +34 -34
  21. package/layout/_mixin/breadcrumb.pug +33 -33
  22. package/layout/_mixin/card.pug +38 -38
  23. package/layout/_mixin/comment.pug +6 -6
  24. package/layout/_mixin/postmeta.pug +29 -29
  25. package/layout/_mixin/segment.pug +35 -35
  26. package/layout/_mixin/sidebar.pug +40 -40
  27. package/layout/_mixin/widgets.pug +28 -28
  28. package/layout/_partials/footer.pug +43 -43
  29. package/layout/_partials/head/head.pug +55 -55
  30. package/layout/_partials/head/head_com.pug +24 -24
  31. package/layout/_partials/head/pwa.pug +18 -18
  32. package/layout/_partials/header.pug +18 -18
  33. package/layout/_partials/layout.pug +140 -140
  34. package/layout/_partials/loading.pug +13 -13
  35. package/layout/_partials/pagination.pug +4 -4
  36. package/layout/_partials/post/copyright.pug +20 -20
  37. package/layout/_partials/post/footer.pug +17 -17
  38. package/layout/_partials/post/nav.pug +13 -13
  39. package/layout/_partials/post/post.pug +41 -41
  40. package/layout/_partials/post/reward.pug +18 -18
  41. package/layout/_partials/sidebar/menu.pug +37 -37
  42. package/layout/_partials/sidebar/overview.pug +42 -42
  43. package/layout/_partials/third-party/baidu-analytics.pug +11 -11
  44. package/layout/_partials/third-party/clarity.pug +8 -8
  45. package/layout/_partials/third-party/google-analytics.pug +9 -9
  46. package/layout/archive.pug +118 -118
  47. package/layout/category.pug +59 -59
  48. package/layout/index.pug +33 -33
  49. package/layout/page.pug +55 -55
  50. package/layout/post.pug +36 -36
  51. package/layout/tag.pug +43 -43
  52. package/package.json +72 -72
  53. package/scripts/filters/locals.js +52 -0
  54. package/scripts/filters/post.js +5 -0
  55. package/scripts/generaters/archive.js +133 -0
  56. package/scripts/generaters/config.js +51 -0
  57. package/scripts/generaters/images.js +23 -0
  58. package/scripts/generaters/index.js +107 -0
  59. package/scripts/generaters/pages.js +15 -0
  60. package/scripts/generaters/script.js +156 -0
  61. package/scripts/helpers/asset.js +73 -0
  62. package/scripts/helpers/engine.js +177 -0
  63. package/scripts/helpers/list_categories.js +80 -0
  64. package/scripts/helpers/summary_ai.js +107 -0
  65. package/scripts/helpers/symbols_count_time.js +69 -0
  66. package/scripts/plugin/check.js +32 -0
  67. package/scripts/plugin/index.js +81 -0
  68. package/scripts/plugin/lib/injects-point.js +20 -0
  69. package/scripts/plugin/lib/injects.js +89 -0
  70. package/scripts/tags/links.js +44 -0
  71. package/scripts/tags/media.js +19 -0
  72. package/scripts/utils.js +13 -0
  73. package/source/assets/algolia_logo.svg +9 -9
  74. package/source/assets/logo.svg +16 -16
  75. package/source/css/_colors.styl +207 -207
  76. package/source/css/_common/components/components.styl +6 -6
  77. package/source/css/_common/components/highlight/highlight.styl +357 -357
  78. package/source/css/_common/components/highlight/operation.styl +21 -21
  79. package/source/css/_common/components/pages/collapse.styl +119 -119
  80. package/source/css/_common/components/pages/home.styl +391 -391
  81. package/source/css/_common/components/pages/pages.styl +56 -56
  82. package/source/css/_common/components/pages/tag-cloud.styl +12 -12
  83. package/source/css/_common/components/post/breadcrumb.styl +39 -39
  84. package/source/css/_common/components/post/copyright.styl +41 -41
  85. package/source/css/_common/components/post/expand.styl +263 -263
  86. package/source/css/_common/components/post/footer.styl +11 -11
  87. package/source/css/_common/components/post/header.styl +79 -79
  88. package/source/css/_common/components/post/nav.styl +64 -64
  89. package/source/css/_common/components/post/post.styl +29 -29
  90. package/source/css/_common/components/post/reward.styl +50 -50
  91. package/source/css/_common/components/post/rtl.styl +12 -12
  92. package/source/css/_common/components/post/tags.styl +39 -39
  93. package/source/css/_common/components/tags/collapse.styl +72 -72
  94. package/source/css/_common/components/tags/container.styl +49 -49
  95. package/source/css/_common/components/tags/label.styl +12 -12
  96. package/source/css/_common/components/tags/links.styl +77 -77
  97. package/source/css/_common/components/tags/list.styl +131 -131
  98. package/source/css/_common/components/tags/note.styl +70 -70
  99. package/source/css/_common/components/tags/player.styl +361 -361
  100. package/source/css/_common/components/tags/quiz.styl +200 -200
  101. package/source/css/_common/components/tags/tabs.styl +89 -89
  102. package/source/css/_common/components/tags/tags.styl +9 -9
  103. package/source/css/_common/components/third-party/loading.styl +222 -222
  104. package/source/css/_common/components/third-party/mermaid/class.styl +90 -90
  105. package/source/css/_common/components/third-party/mermaid/flowchart.styl +72 -72
  106. package/source/css/_common/components/third-party/mermaid/gantt.styl +251 -251
  107. package/source/css/_common/components/third-party/mermaid/git.styl +7 -7
  108. package/source/css/_common/components/third-party/mermaid/mermaid.styl +37 -37
  109. package/source/css/_common/components/third-party/mermaid/pie.styl +9 -9
  110. package/source/css/_common/components/third-party/mermaid/sequence.styl +95 -95
  111. package/source/css/_common/components/third-party/mermaid/state.styl +130 -130
  112. package/source/css/_common/components/third-party/pace.styl +18 -18
  113. package/source/css/_common/components/third-party/search.styl +167 -167
  114. package/source/css/_common/components/third-party/theme.styl +151 -151
  115. package/source/css/_common/components/third-party/third-party.styl +22 -22
  116. package/source/css/_common/components/third-party/widgets.styl +57 -57
  117. package/source/css/_common/outline/footer/footer.styl +67 -67
  118. package/source/css/_common/outline/header/brand.styl +77 -77
  119. package/source/css/_common/outline/header/header.styl +20 -20
  120. package/source/css/_common/outline/header/image.styl +85 -85
  121. package/source/css/_common/outline/header/menu.styl +117 -117
  122. package/source/css/_common/outline/header/nav.styl +81 -81
  123. package/source/css/_common/outline/header/right.styl +15 -15
  124. package/source/css/_common/outline/header/tool.styl +207 -207
  125. package/source/css/_common/outline/header/waves.styl +57 -57
  126. package/source/css/_common/outline/mobile.styl +46 -46
  127. package/source/css/_common/outline/outline.styl +78 -78
  128. package/source/css/_common/outline/sidebar/author.styl +59 -59
  129. package/source/css/_common/outline/sidebar/dimmer.styl +23 -23
  130. package/source/css/_common/outline/sidebar/menu.styl +63 -63
  131. package/source/css/_common/outline/sidebar/quick.styl +43 -43
  132. package/source/css/_common/outline/sidebar/related.styl +56 -56
  133. package/source/css/_common/outline/sidebar/sidebar.styl +80 -80
  134. package/source/css/_common/outline/sidebar/social.styl +69 -69
  135. package/source/css/_common/outline/sidebar/state.styl +37 -37
  136. package/source/css/_common/outline/sidebar/tab.styl +71 -71
  137. package/source/css/_common/outline/sidebar/toc.styl +47 -47
  138. package/source/css/_common/scaffolding/animate.styl +322 -322
  139. package/source/css/_common/scaffolding/base.styl +190 -190
  140. package/source/css/_common/scaffolding/buttons.styl +48 -48
  141. package/source/css/_common/scaffolding/divider.styl +36 -36
  142. package/source/css/_common/scaffolding/iconfont.styl +443 -443
  143. package/source/css/_common/scaffolding/normalize.styl +273 -273
  144. package/source/css/_common/scaffolding/pagination.styl +81 -81
  145. package/source/css/_common/scaffolding/ribbon.styl +38 -38
  146. package/source/css/_common/scaffolding/scaffolding.styl +14 -14
  147. package/source/css/_common/scaffolding/scrollbar.styl +37 -37
  148. package/source/css/_common/scaffolding/tables.styl +50 -50
  149. package/source/css/_common/scaffolding/tip.styl +19 -19
  150. package/source/css/_common/scaffolding/toggles.styl +59 -59
  151. package/source/css/_iconfont.styl +455 -455
  152. package/source/css/_mixins.styl +148 -148
  153. package/source/css/_variables.styl +89 -89
  154. package/source/css/app.styl +41 -41
  155. package/source/css/mermaid.styl +5 -5
  156. package/source/css/optimize.styl +5 -5
  157. package/source/js/_app/components/comments.ts +88 -88
  158. package/source/js/_app/components/sidebar.ts +239 -239
  159. package/source/js/_app/components/tcomments.ts +54 -54
  160. package/source/js/_app/globals/globalVars.ts +99 -99
  161. package/source/js/_app/globals/handles.ts +124 -124
  162. package/source/js/_app/globals/themeColor.ts +63 -63
  163. package/source/js/_app/globals/thirdparty.ts +63 -63
  164. package/source/js/_app/globals/tools.ts +75 -75
  165. package/source/js/_app/library/anime.ts +110 -110
  166. package/source/js/_app/library/declare.d.ts +128 -128
  167. package/source/js/_app/library/dom.ts +28 -28
  168. package/source/js/_app/library/loadFile.ts +47 -47
  169. package/source/js/_app/library/proto.ts +137 -137
  170. package/source/js/_app/library/scriptPjax.ts +72 -72
  171. package/source/js/_app/library/storage.ts +12 -12
  172. package/source/js/_app/library/vue.ts +49 -49
  173. package/source/js/_app/page/common.ts +43 -43
  174. package/source/js/_app/page/fancybox.ts +72 -72
  175. package/source/js/_app/page/post.ts +266 -266
  176. package/source/js/_app/page/search.ts +115 -115
  177. package/source/js/_app/page/tab.ts +60 -60
  178. package/source/js/_app/pjax/domInit.ts +97 -97
  179. package/source/js/_app/pjax/refresh.ts +140 -140
  180. package/source/js/_app/pjax/siteInit.ts +106 -106
  181. package/source/js/_app/player.ts +798 -798
  182. package/toolbox/compiler.mjs +10 -6
  183. package/toolbox/hoistdep.mjs +5 -5
  184. package/toolbox/lib.mjs +63 -63
  185. package/index.html +0 -231
  186. package/meta.json +0 -6431
@@ -1,391 +1,391 @@
1
- $item {
2
- position: relative;
3
- color: inherit;
4
- width: calc(50% - 2rem);
5
- min-width: calc(50% - 2rem);
6
- height: 14rem;
7
- margin: 1rem;
8
- opacity: 0;
9
-
10
- &.show {
11
- @extend .slide-up-big-in;
12
- // content-visibility: auto;
13
- // contain-intrinsic-size: 250px;
14
- opacity: 1;
15
- }
16
-
17
- +mobile() {
18
- width: calc(100% - 1rem) !important;
19
- min-width: calc(100% - 1rem) !important;
20
- margin: 1rem .5rem !important;
21
- }
22
- }
23
-
24
- .index.wrap {
25
- .btn {
26
- position: absolute;
27
- bottom: 0;
28
- right: 0;
29
- transform-style: preserve-3d;
30
- transform: translateZ(2rem);
31
- backface-visibility: hidden;
32
- padding: .3rem 1rem;
33
- border-radius: 1rem 0;
34
- color: var(--grey-0);
35
- background-image: linear-gradient(to right, var(--color-pink) 0, var(--color-orange) 100%);
36
-
37
- &::before {
38
- position: absolute;
39
- display: block;
40
- content: '';
41
- height: calc(100% - 1rem);
42
- width: calc(100% - 1rem);
43
- transform-style: preserve-3d;
44
- transform: translateZ(-2rem);
45
- backface-visibility: hidden;
46
- border-radius: 5rem;
47
- left: .5rem;
48
- top: .8rem;
49
- box-shadow: 0 0 .6rem .6rem var(--color-pink-a3);
50
- background-color: var(--color-pink-a3);
51
- }
52
-
53
- &:hover {
54
- transform: translateZ(2.5rem);
55
- }
56
-
57
- &:hover::before {
58
- transform: translateZ(-2.5rem);
59
- }
60
- }
61
-
62
- /*.active .btn {
63
- transform-style: preserve-3d;
64
- transform: translateZ(2rem);
65
- backface-visibility: hidden;
66
-
67
- &::before {
68
- transform-style: preserve-3d;
69
- transform: translateZ(-2rem);
70
- backface-visibility: hidden;
71
- }
72
- }*/
73
-
74
- .meta {
75
- font-size: $font-size-smaller;
76
- color: var(--grey-5);
77
-
78
- .ic {
79
- margin-right: .0625rem;
80
- }
81
-
82
- .item + .item {
83
- margin-left: .625rem;
84
- }
85
-
86
- &.footer {
87
- position: absolute;
88
- bottom: .5rem;
89
- max-width: calc(100% - 7rem);
90
- white-space: nowrap;
91
- overflow: hidden;
92
- text-overflow: ellipsis;
93
- justify-content: flex-start;
94
-
95
- span {
96
- margin-right: .5rem;
97
- }
98
- }
99
- }
100
- }
101
-
102
- .cards {
103
- display: flex;
104
- margin: 0 auto;
105
- align-items: center;
106
- flex-wrap: wrap;
107
- justify-content: space-between;
108
-
109
- &.hide .item {
110
- display: none;
111
- }
112
-
113
- .item {
114
-
115
- @extend $item;
116
- perspective: 62.5rem;
117
- &.show {
118
- display: block !important;
119
- }
120
-
121
- .cover,
122
- .info {
123
- position: absolute;
124
- the-flex();
125
- border-radius: .375rem;
126
- height: 100%;
127
- width: 100%;
128
- backface-visibility: hidden;
129
- transform-style: preserve-3d;
130
- transition: ease-in-out 600ms;
131
- }
132
-
133
- .cover {
134
- background-position: center;
135
- background-size: cover;
136
- padding: .5rem 1rem;
137
- font-size: $font-size-medium;
138
- color: var(--header-text-color);
139
- overflow: hidden;
140
- transform: rotateY(0deg);
141
- background-image: unquote(hexo-config('index.cover'));
142
-
143
- .title {
144
- margin: 0;
145
- white-space: normal;
146
- text-align: center;
147
- }
148
-
149
- &::before {
150
- position: absolute;
151
- display: block;
152
- content: '';
153
- top: 0;
154
- left: 0;
155
- right: 0;
156
- bottom: 0;
157
- background-image: linear-gradient(135deg, #434343 0%, black 100%);
158
- opacity: .25;
159
- z-index: $zindex-0;
160
- }
161
-
162
- span {
163
- font-size: $font-size-smallest;
164
- position: absolute;
165
- right: .9375rem;
166
- top: .625rem;
167
- padding: 0 .3125rem;
168
- border-radius: .3125rem;
169
- box-shadow: 0 0 .3125rem .0625rem rgba(0,0,0,.6);
170
- background: rgba(0,0,0,.5);
171
- }
172
- }
173
-
174
-
175
- .info {
176
- background-color: var(--grey-0);
177
- transform: rotateY(-180deg);
178
- padding: 1rem 1.5rem 4rem;
179
- justify-content: space-between;
180
-
181
- +mobile() {
182
- padding: 1rem 1rem 4rem;
183
- }
184
-
185
- .ribbon {
186
- left: -2.5rem;
187
- margin-bottom: .8rem;
188
- max-width: calc(100% + 2rem);
189
- +mobile() {
190
- left: -2rem;
191
- }
192
- }
193
- }
194
-
195
- &:nth-child(even) .info {
196
- transform: rotateY(180deg);
197
- }
198
-
199
- &.active {
200
- .cover {
201
- transform: rotateY(180deg);
202
- }
203
-
204
- .info {
205
- transform: rotateY(0deg);
206
- box-shadow: 0 0 2rem var(--box-bg-shadow);
207
- }
208
- }
209
-
210
- &:nth-child(even).active {
211
- .cover {
212
- transform: rotateY(-180deg);
213
- }
214
- }
215
-
216
- .title {
217
- .ic {
218
- font-size: 80%;
219
- }
220
- }
221
-
222
- ul.posts {
223
- display: flex;
224
- flex-wrap: wrap;
225
- justify-content: space-between;
226
- align-content: baseline;
227
- min-height: 5rem;
228
- overflow: hidden;
229
-
230
- li {
231
- width: 45%;
232
- overflow: hidden;
233
- white-space: nowrap;
234
- text-overflow: ellipsis;
235
- color: var(--primary-color);
236
- }
237
- }
238
- }
239
- }
240
-
241
- .segments {
242
- the-flex();
243
-
244
- > .item {
245
- @extend $item;
246
-
247
- display: flex;
248
- border-radius: .625rem;
249
-
250
- width: calc(100% - 2rem);
251
- min-width: calc(100% - 2rem);
252
-
253
- shadow-box(false);
254
- the-transition();
255
-
256
-
257
- +mobile() {
258
- flex-direction: column;
259
- height: fit-content;
260
- max-height: fit-content;
261
- }
262
-
263
- &:hover {
264
- box-shadow: 0 0 2rem var(--box-bg-shadow);
265
-
266
- .cover img {
267
- transform: scale(1.05) rotate(1deg);
268
- }
269
- }
270
- }
271
-
272
- .cover {
273
- width: 50%;
274
- margin-right: 1.5rem;
275
- clip-path: polygon(0 0, 92% 0%, 100% 100%, 0% 100%);
276
- border-radius: .625rem 0 0 .625rem;
277
- overflow: hidden;
278
-
279
- +mobile() {
280
- width: 100%;
281
- height: 14rem;
282
- margin: auto;
283
- clip-path: polygon(0 0, 100% 0, 100% 92%, 0 100%);
284
- border-radius: .625rem .625rem 0 0;
285
- }
286
-
287
- img {
288
- object-fit: cover;
289
- width: 100%;
290
- height: 100%;
291
- the-transition();
292
- }
293
- }
294
-
295
- .info {
296
- position: relative;
297
- width: 50%;
298
- padding: 1rem 1.5rem 3rem 0;
299
- perspective: 62.5rem;
300
-
301
- +mobile() {
302
- width: 100%;
303
- height: 14rem;
304
- padding: 0 1rem 3rem;
305
- }
306
-
307
- .meta {
308
- display: flex;
309
- justify-content: flex-end;
310
- margin: 0;
311
-
312
- +mobile() {
313
- .item:not(:first-child) {
314
- display: none;
315
- }
316
- }
317
- }
318
-
319
- h3 {
320
- text-overflow: ellipsis;
321
- overflow: hidden;
322
- white-space: nowrap;
323
- margin: .625rem 0;
324
- color: var(--primary-color);
325
- }
326
-
327
- .excerpt {
328
- overflow: hidden;
329
- font-size: $font-size-small;
330
- max-height: 5rem;
331
- display: -webkit-box;
332
- -webkit-box-orient: vertical;
333
- -webkit-line-clamp: 3;
334
- text-overflow: ellipsis;
335
- }
336
-
337
- }
338
-
339
-
340
- > .item:nth-child(even) {
341
- flex-direction: row-reverse;
342
-
343
- +mobile() {
344
- flex-direction: column;
345
- }
346
-
347
- .cover {
348
- margin-right: auto;
349
- margin-left: 1.5rem;
350
- clip-path: polygon(0 0%, 100% 0%, 100% 100%, 8% 100%);
351
- border-radius: 0 .625rem .625rem 0;
352
-
353
- +mobile() {
354
- width: 100%;
355
- margin: auto;
356
- clip-path: polygon(0 0,100% 0,100% 100%,0 92%);
357
- border-radius: .625rem .625rem 0 0;
358
- }
359
- }
360
-
361
- .info {
362
- padding: 1rem 0 3rem 1.5rem;
363
-
364
- +mobile() {
365
- padding: 0 1rem 3rem;
366
- }
367
-
368
- .meta {
369
- justify-content: flex-start;
370
- }
371
- }
372
-
373
- .btn {
374
- left: 0;
375
- right: auto;
376
- border-radius: 0 1rem;
377
- background-image: linear-gradient(to right, var(--color-orange) 0, var(--color-pink) 100%);
378
- }
379
-
380
- .meta.footer {
381
- right: .5rem;
382
- justify-content: flex-start;
383
- }
384
-
385
- &:hover {
386
- .cover img {
387
- transform: scale(1.05) rotate(-1deg);
388
- }
389
- }
390
- }
391
- }
1
+ $item {
2
+ position: relative;
3
+ color: inherit;
4
+ width: calc(50% - 2rem);
5
+ min-width: calc(50% - 2rem);
6
+ height: 14rem;
7
+ margin: 1rem;
8
+ opacity: 0;
9
+
10
+ &.show {
11
+ @extend .slide-up-big-in;
12
+ // content-visibility: auto;
13
+ // contain-intrinsic-size: 250px;
14
+ opacity: 1;
15
+ }
16
+
17
+ +mobile() {
18
+ width: calc(100% - 1rem) !important;
19
+ min-width: calc(100% - 1rem) !important;
20
+ margin: 1rem .5rem !important;
21
+ }
22
+ }
23
+
24
+ .index.wrap {
25
+ .btn {
26
+ position: absolute;
27
+ bottom: 0;
28
+ right: 0;
29
+ transform-style: preserve-3d;
30
+ transform: translateZ(2rem);
31
+ backface-visibility: hidden;
32
+ padding: .3rem 1rem;
33
+ border-radius: 1rem 0;
34
+ color: var(--grey-0);
35
+ background-image: linear-gradient(to right, var(--color-pink) 0, var(--color-orange) 100%);
36
+
37
+ &::before {
38
+ position: absolute;
39
+ display: block;
40
+ content: '';
41
+ height: calc(100% - 1rem);
42
+ width: calc(100% - 1rem);
43
+ transform-style: preserve-3d;
44
+ transform: translateZ(-2rem);
45
+ backface-visibility: hidden;
46
+ border-radius: 5rem;
47
+ left: .5rem;
48
+ top: .8rem;
49
+ box-shadow: 0 0 .6rem .6rem var(--color-pink-a3);
50
+ background-color: var(--color-pink-a3);
51
+ }
52
+
53
+ &:hover {
54
+ transform: translateZ(2.5rem);
55
+ }
56
+
57
+ &:hover::before {
58
+ transform: translateZ(-2.5rem);
59
+ }
60
+ }
61
+
62
+ /*.active .btn {
63
+ transform-style: preserve-3d;
64
+ transform: translateZ(2rem);
65
+ backface-visibility: hidden;
66
+
67
+ &::before {
68
+ transform-style: preserve-3d;
69
+ transform: translateZ(-2rem);
70
+ backface-visibility: hidden;
71
+ }
72
+ }*/
73
+
74
+ .meta {
75
+ font-size: $font-size-smaller;
76
+ color: var(--grey-5);
77
+
78
+ .ic {
79
+ margin-right: .0625rem;
80
+ }
81
+
82
+ .item + .item {
83
+ margin-left: .625rem;
84
+ }
85
+
86
+ &.footer {
87
+ position: absolute;
88
+ bottom: .5rem;
89
+ max-width: calc(100% - 7rem);
90
+ white-space: nowrap;
91
+ overflow: hidden;
92
+ text-overflow: ellipsis;
93
+ justify-content: flex-start;
94
+
95
+ span {
96
+ margin-right: .5rem;
97
+ }
98
+ }
99
+ }
100
+ }
101
+
102
+ .cards {
103
+ display: flex;
104
+ margin: 0 auto;
105
+ align-items: center;
106
+ flex-wrap: wrap;
107
+ justify-content: space-between;
108
+
109
+ &.hide .item {
110
+ display: none;
111
+ }
112
+
113
+ .item {
114
+
115
+ @extend $item;
116
+ perspective: 62.5rem;
117
+ &.show {
118
+ display: block !important;
119
+ }
120
+
121
+ .cover,
122
+ .info {
123
+ position: absolute;
124
+ the-flex();
125
+ border-radius: .375rem;
126
+ height: 100%;
127
+ width: 100%;
128
+ backface-visibility: hidden;
129
+ transform-style: preserve-3d;
130
+ transition: ease-in-out 600ms;
131
+ }
132
+
133
+ .cover {
134
+ background-position: center;
135
+ background-size: cover;
136
+ padding: .5rem 1rem;
137
+ font-size: $font-size-medium;
138
+ color: var(--header-text-color);
139
+ overflow: hidden;
140
+ transform: rotateY(0deg);
141
+ background-image: unquote(hexo-config('index.cover'));
142
+
143
+ .title {
144
+ margin: 0;
145
+ white-space: normal;
146
+ text-align: center;
147
+ }
148
+
149
+ &::before {
150
+ position: absolute;
151
+ display: block;
152
+ content: '';
153
+ top: 0;
154
+ left: 0;
155
+ right: 0;
156
+ bottom: 0;
157
+ background-image: linear-gradient(135deg, #434343 0%, black 100%);
158
+ opacity: .25;
159
+ z-index: $zindex-0;
160
+ }
161
+
162
+ span {
163
+ font-size: $font-size-smallest;
164
+ position: absolute;
165
+ right: .9375rem;
166
+ top: .625rem;
167
+ padding: 0 .3125rem;
168
+ border-radius: .3125rem;
169
+ box-shadow: 0 0 .3125rem .0625rem rgba(0,0,0,.6);
170
+ background: rgba(0,0,0,.5);
171
+ }
172
+ }
173
+
174
+
175
+ .info {
176
+ background-color: var(--grey-0);
177
+ transform: rotateY(-180deg);
178
+ padding: 1rem 1.5rem 4rem;
179
+ justify-content: space-between;
180
+
181
+ +mobile() {
182
+ padding: 1rem 1rem 4rem;
183
+ }
184
+
185
+ .ribbon {
186
+ left: -2.5rem;
187
+ margin-bottom: .8rem;
188
+ max-width: calc(100% + 2rem);
189
+ +mobile() {
190
+ left: -2rem;
191
+ }
192
+ }
193
+ }
194
+
195
+ &:nth-child(even) .info {
196
+ transform: rotateY(180deg);
197
+ }
198
+
199
+ &.active {
200
+ .cover {
201
+ transform: rotateY(180deg);
202
+ }
203
+
204
+ .info {
205
+ transform: rotateY(0deg);
206
+ box-shadow: 0 0 2rem var(--box-bg-shadow);
207
+ }
208
+ }
209
+
210
+ &:nth-child(even).active {
211
+ .cover {
212
+ transform: rotateY(-180deg);
213
+ }
214
+ }
215
+
216
+ .title {
217
+ .ic {
218
+ font-size: 80%;
219
+ }
220
+ }
221
+
222
+ ul.posts {
223
+ display: flex;
224
+ flex-wrap: wrap;
225
+ justify-content: space-between;
226
+ align-content: baseline;
227
+ min-height: 5rem;
228
+ overflow: hidden;
229
+
230
+ li {
231
+ width: 45%;
232
+ overflow: hidden;
233
+ white-space: nowrap;
234
+ text-overflow: ellipsis;
235
+ color: var(--primary-color);
236
+ }
237
+ }
238
+ }
239
+ }
240
+
241
+ .segments {
242
+ the-flex();
243
+
244
+ > .item {
245
+ @extend $item;
246
+
247
+ display: flex;
248
+ border-radius: .625rem;
249
+
250
+ width: calc(100% - 2rem);
251
+ min-width: calc(100% - 2rem);
252
+
253
+ shadow-box(false);
254
+ the-transition();
255
+
256
+
257
+ +mobile() {
258
+ flex-direction: column;
259
+ height: fit-content;
260
+ max-height: fit-content;
261
+ }
262
+
263
+ &:hover {
264
+ box-shadow: 0 0 2rem var(--box-bg-shadow);
265
+
266
+ .cover img {
267
+ transform: scale(1.05) rotate(1deg);
268
+ }
269
+ }
270
+ }
271
+
272
+ .cover {
273
+ width: 50%;
274
+ margin-right: 1.5rem;
275
+ clip-path: polygon(0 0, 92% 0%, 100% 100%, 0% 100%);
276
+ border-radius: .625rem 0 0 .625rem;
277
+ overflow: hidden;
278
+
279
+ +mobile() {
280
+ width: 100%;
281
+ height: 14rem;
282
+ margin: auto;
283
+ clip-path: polygon(0 0, 100% 0, 100% 92%, 0 100%);
284
+ border-radius: .625rem .625rem 0 0;
285
+ }
286
+
287
+ img {
288
+ object-fit: cover;
289
+ width: 100%;
290
+ height: 100%;
291
+ the-transition();
292
+ }
293
+ }
294
+
295
+ .info {
296
+ position: relative;
297
+ width: 50%;
298
+ padding: 1rem 1.5rem 3rem 0;
299
+ perspective: 62.5rem;
300
+
301
+ +mobile() {
302
+ width: 100%;
303
+ height: 14rem;
304
+ padding: 0 1rem 3rem;
305
+ }
306
+
307
+ .meta {
308
+ display: flex;
309
+ justify-content: flex-end;
310
+ margin: 0;
311
+
312
+ +mobile() {
313
+ .item:not(:first-child) {
314
+ display: none;
315
+ }
316
+ }
317
+ }
318
+
319
+ h3 {
320
+ text-overflow: ellipsis;
321
+ overflow: hidden;
322
+ white-space: nowrap;
323
+ margin: .625rem 0;
324
+ color: var(--primary-color);
325
+ }
326
+
327
+ .excerpt {
328
+ overflow: hidden;
329
+ font-size: $font-size-small;
330
+ max-height: 5rem;
331
+ display: -webkit-box;
332
+ -webkit-box-orient: vertical;
333
+ -webkit-line-clamp: 3;
334
+ text-overflow: ellipsis;
335
+ }
336
+
337
+ }
338
+
339
+
340
+ > .item:nth-child(even) {
341
+ flex-direction: row-reverse;
342
+
343
+ +mobile() {
344
+ flex-direction: column;
345
+ }
346
+
347
+ .cover {
348
+ margin-right: auto;
349
+ margin-left: 1.5rem;
350
+ clip-path: polygon(0 0%, 100% 0%, 100% 100%, 8% 100%);
351
+ border-radius: 0 .625rem .625rem 0;
352
+
353
+ +mobile() {
354
+ width: 100%;
355
+ margin: auto;
356
+ clip-path: polygon(0 0,100% 0,100% 100%,0 92%);
357
+ border-radius: .625rem .625rem 0 0;
358
+ }
359
+ }
360
+
361
+ .info {
362
+ padding: 1rem 0 3rem 1.5rem;
363
+
364
+ +mobile() {
365
+ padding: 0 1rem 3rem;
366
+ }
367
+
368
+ .meta {
369
+ justify-content: flex-start;
370
+ }
371
+ }
372
+
373
+ .btn {
374
+ left: 0;
375
+ right: auto;
376
+ border-radius: 0 1rem;
377
+ background-image: linear-gradient(to right, var(--color-orange) 0, var(--color-pink) 100%);
378
+ }
379
+
380
+ .meta.footer {
381
+ right: .5rem;
382
+ justify-content: flex-start;
383
+ }
384
+
385
+ &:hover {
386
+ .cover img {
387
+ transform: scale(1.05) rotate(-1deg);
388
+ }
389
+ }
390
+ }
391
+ }