hexo-theme-shokax 0.0.2-alpha2 → 0.0.3

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