hexo-theme-shokax 0.4.6-dev6 → 0.4.7

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 +71 -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 -19
  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,361 +1,361 @@
1
- .media-container {
2
- position: relative;
3
- shadow-box();
4
- overflow: hidden;
5
- margin-bottom: 2rem;
6
- }
7
-
8
-
9
- .player-info {
10
- color: var(--text-color);
11
- font-size: $font-size-base;
12
- min-width: 16.25rem;
13
-
14
- .tabs {
15
- border: none;
16
- box-shadow: none;
17
-
18
- .show-btn {
19
- display: none;
20
- }
21
-
22
- .tab {
23
- padding: 0;
24
- }
25
- }
26
-
27
- .controller {
28
- font-family-icons();
29
- cursor: pointer;
30
- font-size: $font-size-larger;
31
- display: flex;
32
- justify-content: space-around;
33
- align-items: center;
34
- text-align: center;
35
-
36
- .btn {
37
- color: var(--grey-6);
38
- width: 18%;
39
-
40
- &:hover {
41
- color: var(--color-pink);
42
- }
43
- }
44
- }
45
-
46
- .play-pause {
47
- font-size: 130%;
48
- &::before {
49
- @extend .i-circle-play:before;
50
- }
51
- }
52
-
53
- .backward {
54
- &::before {
55
- @extend .i-backward:before;
56
- }
57
- }
58
-
59
- .forward {
60
- &::before {
61
- @extend .i-forward:before;
62
- }
63
- }
64
-
65
- .volume {
66
- position: relative;
67
-
68
- &.off::before {
69
- @extend .i-volume-off:before;
70
- }
71
- &.on::before {
72
- @extend .i-volume-on:before;
73
- }
74
-
75
- .bar {
76
- position: absolute;
77
- height: .25rem;
78
- background: var(--color-pink-a3);
79
- bottom: 0;
80
- left: 0;
81
- the-transition(.2s, ease-out);
82
- }
83
-
84
- &.off .bar {
85
- height: 0;
86
- }
87
- }
88
-
89
- .mode {
90
- &.random::before {
91
- @extend .i-random:before;
92
- }
93
- &.loop::before {
94
- @extend .i-loop:before;
95
- }
96
- &.order::before {
97
- @extend .i-order:before;
98
- }
99
- }
100
-
101
- .playlist {
102
- border-top: .125rem solid var(--grey-9-a1);
103
- }
104
-
105
- ol {
106
- font-size: $font-size-smaller;
107
- padding: .3125rem 0;
108
- margin: .625rem 0 0;
109
- height: 12.5rem;
110
- overflow-x: scroll;
111
- counter-reset: counter;
112
- position: relative;
113
-
114
- &::-webkit-scrollbar {
115
- width: .1875rem;
116
- height: .1875rem;
117
- }
118
-
119
- >li {
120
- display: flex;
121
- padding: .3125rem .9375rem .3125rem 1.5625rem;
122
- cursor: pointer;
123
- the-transition();
124
- height: 2rem;
125
- overflow: hidden;
126
-
127
- &.error {
128
- opacity: .5;
129
- text-decoration-line: line-through;
130
- }
131
-
132
- &::before {
133
- height: auto;
134
- background: 0 0!important;
135
- border: none!important;
136
- position: relative;
137
- top: 0!important;
138
- left: 0!important;
139
- font-size: inherit;
140
- line-height: inherit;
141
- margin-left: -1.25rem;
142
- width: 1.875rem;
143
- counter-increment: counter;
144
- content: counter(counter);
145
- text-align: right;
146
- padding-right: .3125rem;
147
- color: var(--grey-5);
148
- }
149
-
150
- .info {
151
- display: block;
152
- width: 100%;
153
-
154
- span {
155
- &:nth-child(2) {
156
- float: right;
157
- margin-left: .625rem;
158
- color: var(--grey-5);
159
- }
160
- }
161
- }
162
-
163
- &.current {
164
- color: var(--primary-color);
165
- position: relative;
166
-
167
- &::before {
168
- font-family-icons();
169
- @extend .i-play:before;
170
- color: currentColor;
171
- }
172
-
173
- .progress {
174
- .bar {
175
- position: absolute;
176
- height: 100%;
177
- background: var(--color-pink-a3);
178
- top: 0;
179
- left: 0;
180
- the-transition(.2s, ease-out);
181
- }
182
-
183
- &::before {
184
- content: attr(data-ptime) " / " attr(data-dtime);
185
- color: var(--grey-5);
186
- position: absolute;
187
- right: 0;
188
- padding: 0 .3rem;
189
- }
190
-
191
- &.seeking {
192
- &::before {
193
- color: currentColor;
194
- }
195
- }
196
- }
197
-
198
- .info {
199
- padding-right: 5rem;
200
- user-select: none;
201
-
202
- span {
203
- &:nth-child(2) {
204
- display: none;
205
- }
206
- }
207
- }
208
- }
209
-
210
- &:hover {
211
- background-color: var(--grey-1-a7);
212
- &::before {
213
- color: var(--primary-color);
214
- }
215
- }
216
- }
217
- }
218
- }
219
-
220
-
221
- .video {
222
- border-radius: 0 0 .5rem .5rem;
223
- }
224
-
225
- .audio {
226
-
227
- .preview {
228
- display: flex;
229
- align-items: center;
230
- padding: 1.25rem 1.25rem 0;
231
-
232
- +mobile() {
233
- padding: 1.25rem .625rem 0;
234
- flex-direction: column;
235
- }
236
-
237
- .info {
238
- display: flex;
239
- flex-direction: column;
240
- margin-left: .625rem;
241
- padding: .625rem;
242
- text-overflow: ellipsis;
243
- overflow: hidden;
244
- width: 100%;
245
-
246
- +mobile() {
247
- margin-left: 0;
248
- }
249
-
250
- h4 {
251
- margin: 0;
252
- text-overflow: ellipsis;
253
- max-height: 3rem;
254
- padding: 0;
255
- overflow: hidden;
256
- }
257
-
258
- span {
259
- font-size: $font-size-smallest;
260
- }
261
- }
262
-
263
- .lrc {
264
- max-height: 4rem;
265
- margin-top: .3125rem;
266
- font-size: $font-size-smallest;
267
- position: relative;
268
- text-align: center;
269
- overflow: hidden;
270
-
271
- .inner {
272
- width: 100%;
273
- transition: all .5s ease-out;
274
- }
275
-
276
- p {
277
- font-size: .75rem;
278
- color: var(--grey-6);
279
- line-height: 1rem!important;
280
- height: 1rem!important;
281
- padding: 0!important;
282
- margin: 0!important;
283
- transition: all .5s ease-out;
284
- opacity: .3;
285
- overflow: hidden;
286
-
287
- &.current {
288
- opacity: 1;
289
- overflow: visible;
290
- height: auto!important;
291
- min-height: 1rem;
292
- }
293
- }
294
- }
295
- }
296
-
297
- .cover{
298
- position: relative;
299
- flex-shrink: 0;
300
- cursor: pointer;
301
-
302
- &::before {
303
- content: "";
304
- position: absolute;
305
- z-index: 1;
306
- background: url("../assets/play_needle.png") no-repeat center/contain;
307
- width: 3.4375rem;
308
- height: 5.1875rem;
309
- top: -1.5625rem;
310
- left: -1.5625rem;
311
- transform: rotateZ(-60deg);
312
- animation: rotate-needle-pause .5s 1 normal linear forwards;
313
- transform-origin: .625rem .625rem;
314
- }
315
-
316
- .disc {
317
- animation: rotate 20s linear infinite;
318
- animation-play-state: paused;
319
- padding: 1.5rem;
320
- max-height: 144px;
321
-
322
- &::after {
323
- content: "";
324
- position: absolute;
325
- background: url("../assets/play_disc.png") no-repeat center/contain;
326
- z-index: 1;
327
- width: 100%;
328
- height: 100%;
329
- top: 0;
330
- left: 0;
331
- }
332
- }
333
-
334
- img {
335
- object-fit: contain;
336
- width: 6rem;
337
- height: 6rem;
338
- border-radius: 50%;
339
- }
340
- }
341
-
342
- &.playing {
343
- .cover {
344
- &::before {
345
- animation: rotate-needle-resume .5s 1 normal linear forwards;
346
- }
347
-
348
- .disc {
349
- animation-play-state: running;
350
- }
351
- }
352
- }
353
- }
354
-
355
- .playing {
356
- .player-info .play-pause {
357
- &::before {
358
- @extend .i-circle-pause:before;
359
- }
360
- }
361
- }
1
+ .media-container {
2
+ position: relative;
3
+ shadow-box();
4
+ overflow: hidden;
5
+ margin-bottom: 2rem;
6
+ }
7
+
8
+
9
+ .player-info {
10
+ color: var(--text-color);
11
+ font-size: $font-size-base;
12
+ min-width: 16.25rem;
13
+
14
+ .tabs {
15
+ border: none;
16
+ box-shadow: none;
17
+
18
+ .show-btn {
19
+ display: none;
20
+ }
21
+
22
+ .tab {
23
+ padding: 0;
24
+ }
25
+ }
26
+
27
+ .controller {
28
+ font-family-icons();
29
+ cursor: pointer;
30
+ font-size: $font-size-larger;
31
+ display: flex;
32
+ justify-content: space-around;
33
+ align-items: center;
34
+ text-align: center;
35
+
36
+ .btn {
37
+ color: var(--grey-6);
38
+ width: 18%;
39
+
40
+ &:hover {
41
+ color: var(--color-pink);
42
+ }
43
+ }
44
+ }
45
+
46
+ .play-pause {
47
+ font-size: 130%;
48
+ &::before {
49
+ @extend .i-circle-play:before;
50
+ }
51
+ }
52
+
53
+ .backward {
54
+ &::before {
55
+ @extend .i-backward:before;
56
+ }
57
+ }
58
+
59
+ .forward {
60
+ &::before {
61
+ @extend .i-forward:before;
62
+ }
63
+ }
64
+
65
+ .volume {
66
+ position: relative;
67
+
68
+ &.off::before {
69
+ @extend .i-volume-off:before;
70
+ }
71
+ &.on::before {
72
+ @extend .i-volume-on:before;
73
+ }
74
+
75
+ .bar {
76
+ position: absolute;
77
+ height: .25rem;
78
+ background: var(--color-pink-a3);
79
+ bottom: 0;
80
+ left: 0;
81
+ the-transition(.2s, ease-out);
82
+ }
83
+
84
+ &.off .bar {
85
+ height: 0;
86
+ }
87
+ }
88
+
89
+ .mode {
90
+ &.random::before {
91
+ @extend .i-random:before;
92
+ }
93
+ &.loop::before {
94
+ @extend .i-loop:before;
95
+ }
96
+ &.order::before {
97
+ @extend .i-order:before;
98
+ }
99
+ }
100
+
101
+ .playlist {
102
+ border-top: .125rem solid var(--grey-9-a1);
103
+ }
104
+
105
+ ol {
106
+ font-size: $font-size-smaller;
107
+ padding: .3125rem 0;
108
+ margin: .625rem 0 0;
109
+ height: 12.5rem;
110
+ overflow-x: scroll;
111
+ counter-reset: counter;
112
+ position: relative;
113
+
114
+ &::-webkit-scrollbar {
115
+ width: .1875rem;
116
+ height: .1875rem;
117
+ }
118
+
119
+ >li {
120
+ display: flex;
121
+ padding: .3125rem .9375rem .3125rem 1.5625rem;
122
+ cursor: pointer;
123
+ the-transition();
124
+ height: 2rem;
125
+ overflow: hidden;
126
+
127
+ &.error {
128
+ opacity: .5;
129
+ text-decoration-line: line-through;
130
+ }
131
+
132
+ &::before {
133
+ height: auto;
134
+ background: 0 0!important;
135
+ border: none!important;
136
+ position: relative;
137
+ top: 0!important;
138
+ left: 0!important;
139
+ font-size: inherit;
140
+ line-height: inherit;
141
+ margin-left: -1.25rem;
142
+ width: 1.875rem;
143
+ counter-increment: counter;
144
+ content: counter(counter);
145
+ text-align: right;
146
+ padding-right: .3125rem;
147
+ color: var(--grey-5);
148
+ }
149
+
150
+ .info {
151
+ display: block;
152
+ width: 100%;
153
+
154
+ span {
155
+ &:nth-child(2) {
156
+ float: right;
157
+ margin-left: .625rem;
158
+ color: var(--grey-5);
159
+ }
160
+ }
161
+ }
162
+
163
+ &.current {
164
+ color: var(--primary-color);
165
+ position: relative;
166
+
167
+ &::before {
168
+ font-family-icons();
169
+ @extend .i-play:before;
170
+ color: currentColor;
171
+ }
172
+
173
+ .progress {
174
+ .bar {
175
+ position: absolute;
176
+ height: 100%;
177
+ background: var(--color-pink-a3);
178
+ top: 0;
179
+ left: 0;
180
+ the-transition(.2s, ease-out);
181
+ }
182
+
183
+ &::before {
184
+ content: attr(data-ptime) " / " attr(data-dtime);
185
+ color: var(--grey-5);
186
+ position: absolute;
187
+ right: 0;
188
+ padding: 0 .3rem;
189
+ }
190
+
191
+ &.seeking {
192
+ &::before {
193
+ color: currentColor;
194
+ }
195
+ }
196
+ }
197
+
198
+ .info {
199
+ padding-right: 5rem;
200
+ user-select: none;
201
+
202
+ span {
203
+ &:nth-child(2) {
204
+ display: none;
205
+ }
206
+ }
207
+ }
208
+ }
209
+
210
+ &:hover {
211
+ background-color: var(--grey-1-a7);
212
+ &::before {
213
+ color: var(--primary-color);
214
+ }
215
+ }
216
+ }
217
+ }
218
+ }
219
+
220
+
221
+ .video {
222
+ border-radius: 0 0 .5rem .5rem;
223
+ }
224
+
225
+ .audio {
226
+
227
+ .preview {
228
+ display: flex;
229
+ align-items: center;
230
+ padding: 1.25rem 1.25rem 0;
231
+
232
+ +mobile() {
233
+ padding: 1.25rem .625rem 0;
234
+ flex-direction: column;
235
+ }
236
+
237
+ .info {
238
+ display: flex;
239
+ flex-direction: column;
240
+ margin-left: .625rem;
241
+ padding: .625rem;
242
+ text-overflow: ellipsis;
243
+ overflow: hidden;
244
+ width: 100%;
245
+
246
+ +mobile() {
247
+ margin-left: 0;
248
+ }
249
+
250
+ h4 {
251
+ margin: 0;
252
+ text-overflow: ellipsis;
253
+ max-height: 3rem;
254
+ padding: 0;
255
+ overflow: hidden;
256
+ }
257
+
258
+ span {
259
+ font-size: $font-size-smallest;
260
+ }
261
+ }
262
+
263
+ .lrc {
264
+ max-height: 4rem;
265
+ margin-top: .3125rem;
266
+ font-size: $font-size-smallest;
267
+ position: relative;
268
+ text-align: center;
269
+ overflow: hidden;
270
+
271
+ .inner {
272
+ width: 100%;
273
+ transition: all .5s ease-out;
274
+ }
275
+
276
+ p {
277
+ font-size: .75rem;
278
+ color: var(--grey-6);
279
+ line-height: 1rem!important;
280
+ height: 1rem!important;
281
+ padding: 0!important;
282
+ margin: 0!important;
283
+ transition: all .5s ease-out;
284
+ opacity: .3;
285
+ overflow: hidden;
286
+
287
+ &.current {
288
+ opacity: 1;
289
+ overflow: visible;
290
+ height: auto!important;
291
+ min-height: 1rem;
292
+ }
293
+ }
294
+ }
295
+ }
296
+
297
+ .cover{
298
+ position: relative;
299
+ flex-shrink: 0;
300
+ cursor: pointer;
301
+
302
+ &::before {
303
+ content: "";
304
+ position: absolute;
305
+ z-index: 1;
306
+ background: url("../assets/play_needle.png") no-repeat center/contain;
307
+ width: 3.4375rem;
308
+ height: 5.1875rem;
309
+ top: -1.5625rem;
310
+ left: -1.5625rem;
311
+ transform: rotateZ(-60deg);
312
+ animation: rotate-needle-pause .5s 1 normal linear forwards;
313
+ transform-origin: .625rem .625rem;
314
+ }
315
+
316
+ .disc {
317
+ animation: rotate 20s linear infinite;
318
+ animation-play-state: paused;
319
+ padding: 1.5rem;
320
+ max-height: 144px;
321
+
322
+ &::after {
323
+ content: "";
324
+ position: absolute;
325
+ background: url("../assets/play_disc.png") no-repeat center/contain;
326
+ z-index: 1;
327
+ width: 100%;
328
+ height: 100%;
329
+ top: 0;
330
+ left: 0;
331
+ }
332
+ }
333
+
334
+ img {
335
+ object-fit: contain;
336
+ width: 6rem;
337
+ height: 6rem;
338
+ border-radius: 50%;
339
+ }
340
+ }
341
+
342
+ &.playing {
343
+ .cover {
344
+ &::before {
345
+ animation: rotate-needle-resume .5s 1 normal linear forwards;
346
+ }
347
+
348
+ .disc {
349
+ animation-play-state: running;
350
+ }
351
+ }
352
+ }
353
+ }
354
+
355
+ .playing {
356
+ .player-info .play-pause {
357
+ &::before {
358
+ @extend .i-circle-pause:before;
359
+ }
360
+ }
361
+ }