hexo-theme-shokax 0.0.1-alpha1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (162) hide show
  1. package/LICENSE +21 -0
  2. package/LICENSE-shoka +21 -0
  3. package/README.md +47 -0
  4. package/_config.yml +353 -0
  5. package/_images.yml +99 -0
  6. package/languages/README.md +19 -0
  7. package/languages/default.yml +1 -0
  8. package/languages/en.yml +151 -0
  9. package/languages/ja.yml +146 -0
  10. package/languages/zh-CN.yml +154 -0
  11. package/languages/zh-HK.yml +146 -0
  12. package/languages/zh-TW.yml +146 -0
  13. package/layout/_alternate/atom.ejs +30 -0
  14. package/layout/_alternate/json.ejs +16 -0
  15. package/layout/_alternate/rss.ejs +34 -0
  16. package/layout/_mixin/breadcrumb.pug +33 -0
  17. package/layout/_mixin/card.pug +37 -0
  18. package/layout/_mixin/comment.pug +10 -0
  19. package/layout/_mixin/postmeta.pug +30 -0
  20. package/layout/_mixin/segment.pug +32 -0
  21. package/layout/_mixin/sidebar.pug +36 -0
  22. package/layout/_mixin/widgets.pug +29 -0
  23. package/layout/_partials/footer.pug +61 -0
  24. package/layout/_partials/head/head.pug +54 -0
  25. package/layout/_partials/head/head_com.pug +17 -0
  26. package/layout/_partials/head/pwa.pug +17 -0
  27. package/layout/_partials/header.pug +19 -0
  28. package/layout/_partials/layout.pug +143 -0
  29. package/layout/_partials/loading.pug +13 -0
  30. package/layout/_partials/pagination.pug +4 -0
  31. package/layout/_partials/post/copyright.pug +20 -0
  32. package/layout/_partials/post/footer.pug +13 -0
  33. package/layout/_partials/post/nav.pug +13 -0
  34. package/layout/_partials/post/post.pug +26 -0
  35. package/layout/_partials/post/reward.pug +18 -0
  36. package/layout/_partials/sidebar/menu.pug +37 -0
  37. package/layout/_partials/sidebar/overview.pug +40 -0
  38. package/layout/_partials/third-party/baidu-analytics.pug +11 -0
  39. package/layout/_partials/third-party/clarity.pug +8 -0
  40. package/layout/_partials/third-party/qweather.pug +35 -0
  41. package/layout/archive.pug +31 -0
  42. package/layout/category.pug +66 -0
  43. package/layout/index.pug +33 -0
  44. package/layout/page.pug +56 -0
  45. package/layout/post.pug +35 -0
  46. package/layout/tag.pug +43 -0
  47. package/package.json +35 -0
  48. package/scripts/filters/locals.js +57 -0
  49. package/scripts/filters/post.js +23 -0
  50. package/scripts/generaters/archive.js +141 -0
  51. package/scripts/generaters/config.js +43 -0
  52. package/scripts/generaters/images.js +26 -0
  53. package/scripts/generaters/index.js +110 -0
  54. package/scripts/generaters/pages.js +19 -0
  55. package/scripts/generaters/script.js +81 -0
  56. package/scripts/helpers/asset.js +237 -0
  57. package/scripts/helpers/engine.js +183 -0
  58. package/scripts/helpers/list_categories.js +140 -0
  59. package/scripts/helpers/symbols_count_time.js +76 -0
  60. package/scripts/tags/links.js +86 -0
  61. package/scripts/tags/media.js +19 -0
  62. package/source/assets/404.png +0 -0
  63. package/source/assets/algolia_logo.svg +9 -0
  64. package/source/assets/apple-touch-icon.png +0 -0
  65. package/source/assets/beian.webp +0 -0
  66. package/source/assets/failure.ico +0 -0
  67. package/source/assets/favicon.ico +0 -0
  68. package/source/assets/logo.svg +16 -0
  69. package/source/assets/play_disc.png +0 -0
  70. package/source/assets/play_needle.png +0 -0
  71. package/source/assets/search.png +0 -0
  72. package/source/css/_colors.styl +207 -0
  73. package/source/css/_common/components/components.styl +6 -0
  74. package/source/css/_common/components/highlight/highlight.styl +353 -0
  75. package/source/css/_common/components/highlight/operation.styl +21 -0
  76. package/source/css/_common/components/pages/collapse.styl +119 -0
  77. package/source/css/_common/components/pages/home.styl +385 -0
  78. package/source/css/_common/components/pages/pages.styl +56 -0
  79. package/source/css/_common/components/pages/tag-cloud.styl +12 -0
  80. package/source/css/_common/components/post/breadcrumb.styl +39 -0
  81. package/source/css/_common/components/post/copyright.styl +41 -0
  82. package/source/css/_common/components/post/expand.styl +264 -0
  83. package/source/css/_common/components/post/footer.styl +11 -0
  84. package/source/css/_common/components/post/header.styl +79 -0
  85. package/source/css/_common/components/post/nav.styl +63 -0
  86. package/source/css/_common/components/post/post.styl +29 -0
  87. package/source/css/_common/components/post/reward.styl +50 -0
  88. package/source/css/_common/components/post/rtl.styl +12 -0
  89. package/source/css/_common/components/post/tags.styl +39 -0
  90. package/source/css/_common/components/tags/collapse.styl +72 -0
  91. package/source/css/_common/components/tags/container.styl +49 -0
  92. package/source/css/_common/components/tags/label.styl +12 -0
  93. package/source/css/_common/components/tags/links.styl +77 -0
  94. package/source/css/_common/components/tags/list.styl +131 -0
  95. package/source/css/_common/components/tags/note.styl +70 -0
  96. package/source/css/_common/components/tags/player.styl +361 -0
  97. package/source/css/_common/components/tags/quiz.styl +200 -0
  98. package/source/css/_common/components/tags/tabs.styl +83 -0
  99. package/source/css/_common/components/tags/tags.styl +9 -0
  100. package/source/css/_common/components/third-party/loading.styl +222 -0
  101. package/source/css/_common/components/third-party/mermaid/class.styl +90 -0
  102. package/source/css/_common/components/third-party/mermaid/flowchart.styl +72 -0
  103. package/source/css/_common/components/third-party/mermaid/gantt.styl +251 -0
  104. package/source/css/_common/components/third-party/mermaid/git.styl +7 -0
  105. package/source/css/_common/components/third-party/mermaid/mermaid.styl +37 -0
  106. package/source/css/_common/components/third-party/mermaid/pie.styl +9 -0
  107. package/source/css/_common/components/third-party/mermaid/sequence.styl +95 -0
  108. package/source/css/_common/components/third-party/mermaid/state.styl +130 -0
  109. package/source/css/_common/components/third-party/pace.styl +18 -0
  110. package/source/css/_common/components/third-party/search.styl +167 -0
  111. package/source/css/_common/components/third-party/theme.styl +151 -0
  112. package/source/css/_common/components/third-party/third-party.styl +22 -0
  113. package/source/css/_common/components/third-party/valine.styl +548 -0
  114. package/source/css/_common/components/third-party/widgets.styl +57 -0
  115. package/source/css/_common/outline/footer/footer.styl +69 -0
  116. package/source/css/_common/outline/header/brand.styl +77 -0
  117. package/source/css/_common/outline/header/header.styl +20 -0
  118. package/source/css/_common/outline/header/image.styl +79 -0
  119. package/source/css/_common/outline/header/menu.styl +117 -0
  120. package/source/css/_common/outline/header/nav.styl +81 -0
  121. package/source/css/_common/outline/header/right.styl +15 -0
  122. package/source/css/_common/outline/header/tool.styl +207 -0
  123. package/source/css/_common/outline/header/waves.styl +50 -0
  124. package/source/css/_common/outline/mobile.styl +46 -0
  125. package/source/css/_common/outline/outline.styl +78 -0
  126. package/source/css/_common/outline/sidebar/author.styl +59 -0
  127. package/source/css/_common/outline/sidebar/dimmer.styl +23 -0
  128. package/source/css/_common/outline/sidebar/menu.styl +63 -0
  129. package/source/css/_common/outline/sidebar/quick.styl +43 -0
  130. package/source/css/_common/outline/sidebar/related.styl +56 -0
  131. package/source/css/_common/outline/sidebar/sidebar.styl +75 -0
  132. package/source/css/_common/outline/sidebar/social.styl +69 -0
  133. package/source/css/_common/outline/sidebar/state.styl +37 -0
  134. package/source/css/_common/outline/sidebar/tab.styl +71 -0
  135. package/source/css/_common/outline/sidebar/toc.styl +47 -0
  136. package/source/css/_common/scaffolding/animate.styl +318 -0
  137. package/source/css/_common/scaffolding/base.styl +172 -0
  138. package/source/css/_common/scaffolding/buttons.styl +48 -0
  139. package/source/css/_common/scaffolding/divider.styl +36 -0
  140. package/source/css/_common/scaffolding/iconfont.styl +443 -0
  141. package/source/css/_common/scaffolding/normalize.styl +289 -0
  142. package/source/css/_common/scaffolding/pagination.styl +81 -0
  143. package/source/css/_common/scaffolding/ribbon.styl +38 -0
  144. package/source/css/_common/scaffolding/scaffolding.styl +14 -0
  145. package/source/css/_common/scaffolding/scrollbar.styl +37 -0
  146. package/source/css/_common/scaffolding/tables.styl +50 -0
  147. package/source/css/_common/scaffolding/tip.styl +19 -0
  148. package/source/css/_common/scaffolding/toggles.styl +59 -0
  149. package/source/css/_iconfont.styl +451 -0
  150. package/source/css/_mixins.styl +146 -0
  151. package/source/css/_variables.styl +89 -0
  152. package/source/css/app.styl +27 -0
  153. package/source/css/comment.styl +5 -0
  154. package/source/css/mermaid.styl +5 -0
  155. package/source/css/plugin.styl +174 -0
  156. package/source/css/twikoo.css +2002 -0
  157. package/source/js/_app/components.js +330 -0
  158. package/source/js/_app/global.js +317 -0
  159. package/source/js/_app/library.js +302 -0
  160. package/source/js/_app/page.js +623 -0
  161. package/source/js/_app/player.js +748 -0
  162. package/source/js/_app/vue.js +43 -0
@@ -0,0 +1,77 @@
1
+ .links {
2
+ display: flex;
3
+ flex-wrap: wrap;
4
+ font-size: .9rem;
5
+
6
+
7
+ .item {
8
+ position: relative;
9
+ display: inline-flex;
10
+ justify-self: center;
11
+ align-items: center;
12
+ line-height: 1.5;
13
+ width: calc(50% - 2rem);
14
+ padding: .5rem 1rem;
15
+ margin: 1rem;
16
+ the-transition();
17
+ shadow-box();
18
+
19
+ --bg-color: var(--block-color, #666);
20
+
21
+ .image {
22
+ display: block;
23
+ width: 4rem;
24
+ height: 4rem;
25
+ border-radius: .9375rem;
26
+ background: var(--grey-1) center no-repeat;
27
+ background-size: contain;
28
+ flex-shrink: 0;
29
+ border: none;
30
+ }
31
+
32
+ .info {
33
+ padding-left: 1rem;
34
+ }
35
+
36
+ .title {
37
+ margin: .5rem 0;
38
+ font-family: $font-family-title;
39
+ font-weight: bold;
40
+ color: var(--bg-color);
41
+ border: none;
42
+ .ic {
43
+ display: none;
44
+ }
45
+ }
46
+
47
+ .desc {
48
+ font-size: $font-size-smallest;
49
+ margin: .5rem 0;
50
+ }
51
+
52
+
53
+ &:hover {
54
+ color: var(--header-text-color);
55
+ background-color: var(--bg-color);
56
+ box-shadow: 0 .125rem 1.25rem var(--bg-color);
57
+ border-color: var(--bg-color);
58
+
59
+ .image {
60
+ mix-blend-mode: normal;
61
+ background-color: var(--bg-color);
62
+ }
63
+
64
+ .title {
65
+ color: var(--header-text-color);
66
+ }
67
+ }
68
+ }
69
+
70
+
71
+ +mobile() {
72
+ font-size: $font-size-base;
73
+ .item {
74
+ width: calc(100% - 2rem);
75
+ }
76
+ }
77
+ }
@@ -0,0 +1,131 @@
1
+ .md {
2
+ li {
3
+ position: relative;
4
+ margin: .2rem 0;
5
+
6
+ &:before {
7
+ the-transition();
8
+ }
9
+
10
+ p {
11
+ margin: 0;
12
+ }
13
+ }
14
+
15
+ ul, ol, dl {
16
+ margin: .5em 0 .5em;
17
+ padding: .1em .2em .1em 1.4em;
18
+ }
19
+
20
+ ul > li,
21
+ dl dt {
22
+ &::before {
23
+ content: "";
24
+ position: absolute;
25
+ width: .4em;
26
+ height: .4em;
27
+ background: var(--primary-color);
28
+ border-radius: 50%;
29
+ top: .85em;
30
+ left: -1em;
31
+ }
32
+
33
+ &:hover::before {
34
+ background: var(--color-pink);
35
+ }
36
+ }
37
+
38
+ ol {
39
+ &:not([start]) {
40
+ counter-reset: counter;
41
+ }
42
+
43
+ >li {
44
+
45
+ &::before {
46
+ counter-increment: counter;
47
+ content: counter(counter);
48
+ position: absolute;
49
+ width: 1.4em;
50
+ height: 1.4em;
51
+ border-radius: 50%;
52
+ text-align: center;
53
+ font-size: .8em;
54
+ line-height: 1.4;
55
+ top: .5em;
56
+ left: -1.8em;
57
+ background: var(--primary-color);
58
+ color: var(--grey-1);
59
+ cursor: pointer;
60
+ }
61
+
62
+ &:hover::before {
63
+ color: var(--grey-1);
64
+ background: var(--color-pink);
65
+ }
66
+ }
67
+ }
68
+
69
+ dl {
70
+ dt {
71
+ position: relative;
72
+ }
73
+ dd {
74
+ padding-left: .9375em;
75
+ }
76
+ }
77
+
78
+ ul {
79
+ li.nodot {
80
+ &::before {
81
+ li-nodot();
82
+ }
83
+ }
84
+
85
+ li.task-list-item {
86
+ &::before {
87
+ li-nodot();
88
+ }
89
+
90
+ input[type='checkbox'] {
91
+ display: none;
92
+ }
93
+
94
+ input[type='checkbox']+label::before {
95
+ @extend .i-times-circle:before;
96
+ font-family-icons();
97
+ color: var(--grey-4);
98
+ display: inline-block;
99
+ margin-right: .625em;
100
+ }
101
+
102
+ input[type='checkbox']:checked+label::before {
103
+ @extend .i-check-circle:before;
104
+ color: var(--note-text, var(--primary-color));
105
+ }
106
+ }
107
+ }
108
+
109
+ li ul > li {
110
+ &::before {
111
+ background: var(--grey-1);
112
+ border: 1px solid var(--primary-color);
113
+ }
114
+ }
115
+
116
+ li ol > li, dd ol > li{
117
+ &::before {
118
+ content: counter(counter) ".";
119
+ background: none;
120
+ color: var(--primary-color);
121
+ font-size: 1em;
122
+ line-height: 1;
123
+ width: auto;
124
+ }
125
+
126
+ &:hover::before {
127
+ background: none;
128
+ color: var(--color-pink);
129
+ }
130
+ }
131
+ }
@@ -0,0 +1,70 @@
1
+ .md .note {
2
+ border-radius: .1875rem;
3
+ margin: 1rem 0;
4
+ padding: 1rem;
5
+ position: relative;
6
+
7
+ background: var(--note-bg, var(--grey-2));
8
+ color: var(--grey-6);
9
+ border-left: .25rem solid var(--note-border, var(--grey-4));
10
+
11
+ font-size: $font-size-small;
12
+
13
+ padding-left: 2.5rem;
14
+
15
+ --primary-color: var(--note-text);
16
+
17
+ &::before {
18
+ position: absolute;
19
+ left: .5rem;
20
+ top: calc(50% - 1.5rem);
21
+ font-family-icons();
22
+ font-size: 1.5rem;
23
+ color: var(--note-text, var(--grey-6));
24
+ }
25
+
26
+ &.default {
27
+ &::before {
28
+ @extend .i-arrow-circle-right:before;
29
+ }
30
+ }
31
+
32
+ &.primary {
33
+ &::before {
34
+ @extend .i-plus-circle:before;
35
+ }
36
+ }
37
+
38
+ &.info {
39
+ &::before {
40
+ @extend .i-info-circle:before;
41
+ }
42
+ }
43
+
44
+ &.success {
45
+ &::before {
46
+ @extend .i-check-circle:before;
47
+ }
48
+
49
+ }
50
+
51
+ &.warning {
52
+ &::before {
53
+ @extend .i-exclamation-circle:before;
54
+ }
55
+ }
56
+
57
+ &.danger {
58
+ &::before {
59
+ @extend .i-minus-circle:before;
60
+ }
61
+ }
62
+
63
+ &.no-icon {
64
+ &::before {
65
+ content: none;
66
+ }
67
+
68
+ padding-left: 1rem;
69
+ }
70
+ }
@@ -0,0 +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("../images/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("../images/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
+ }