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,57 @@
1
+ .widgets {
2
+ display: flex;
3
+ z-index: 1;
4
+ background: var(--body-bg-shadow);
5
+ justify-content: space-around;
6
+
7
+ > div {
8
+ width: calc(50% - 2rem);
9
+ padding: 1rem;
10
+ }
11
+
12
+ +mobile() {
13
+ flex-direction: column-reverse;
14
+
15
+ > div {
16
+ width: calc(100% - 1rem) !important;
17
+ }
18
+ }
19
+
20
+ ul {
21
+ counter-reset: counter;
22
+ }
23
+
24
+ .item {
25
+ padding: .5rem 0 .5rem 2rem;
26
+ border-bottom: .0625rem dashed var(--grey-4);
27
+ position: relative;
28
+
29
+ &::before {
30
+ counter-increment: counter;
31
+ content: counter(counter);
32
+ position: absolute;
33
+ left: 0;
34
+ font-size: 1.5em;
35
+ color: var(--grey-4);
36
+ line-height: 1.2;
37
+ text-align: right;
38
+ width: 1em;
39
+ }
40
+
41
+
42
+ span, .breadcrumb {
43
+ display: block;
44
+ text-overflow: ellipsis;
45
+ overflow: hidden;
46
+ max-height: 2rem;
47
+ white-space: nowrap;
48
+ }
49
+
50
+ .breadcrumb {
51
+ margin: 0;
52
+ display: flex;
53
+ max-height: 1.2rem;
54
+ }
55
+ }
56
+
57
+ }
@@ -0,0 +1,69 @@
1
+ // Footer Section
2
+ // --------------------------------------------------
3
+ #footer {
4
+ color: var(--grey-5);
5
+ font-size: $font-size-small;
6
+ background: var(--body-bg-shadow);
7
+
8
+ .inner {
9
+ margin: 0 auto;
10
+ width: $content-desktop;
11
+ position: relative;
12
+
13
+ if (hexo-config('sidebar.position') == 'left') {
14
+ padding-left: 16.25rem;
15
+ } else {
16
+ padding-right: 16.25rem;
17
+ }
18
+
19
+ +desktop-large() {
20
+ width: $content-desktop-large;
21
+ }
22
+
23
+ +desktop-largest() {
24
+ width: $content-desktop-largest;
25
+ }
26
+
27
+ +tablet-mobile() {
28
+ padding-left: 0;
29
+ padding-right: 0;
30
+ width: auto;
31
+ }
32
+ }
33
+ }
34
+
35
+ .status {
36
+ width: 100%;
37
+ text-align: center;
38
+ margin-top: 2rem;
39
+ }
40
+
41
+ .languages {
42
+ display: inline-block;
43
+ font-size: $font-size-large;
44
+ position: relative;
45
+
46
+ .lang-select-label span {
47
+ margin: 0 .5rem;
48
+ }
49
+
50
+ .lang-select {
51
+ height: 100%;
52
+ left: 0;
53
+ opacity: 0;
54
+ position: absolute;
55
+ top: 0;
56
+ width: 100%;
57
+ }
58
+ }
59
+
60
+ .with-love {
61
+ color: unquote(hexo-config('footer.icon.color'));
62
+ display: inline-block;
63
+ margin: 0 .3125rem 0 .125rem;
64
+ }
65
+
66
+ .powered-by, .theme-info {
67
+ display: inline-block;
68
+ margin-bottom: .625rem;
69
+ }
@@ -0,0 +1,77 @@
1
+ #brand {
2
+ position: fixed;
3
+ padding: 3rem 5rem 0;
4
+ text-align: center;
5
+ width: 100%;
6
+ height: 50vh;
7
+ min-height: 10rem;
8
+
9
+ &.affix {
10
+ z-index: $zindex-0;
11
+ }
12
+
13
+ &, .pjax {
14
+ the-flex();
15
+ }
16
+
17
+ .artboard {
18
+ font-family: $font-family-logo;
19
+ font-size: $font-size-logo;
20
+ line-height: 1.2;
21
+ }
22
+
23
+ h1 {
24
+ font-size: $font-size-title;
25
+ letter-spacing: .125rem;
26
+ }
27
+
28
+ .artboard + h1 {
29
+ margin: .625rem 0;
30
+ }
31
+
32
+ .sticky {
33
+ font-size: $font-size-smallest;
34
+ display: inline-block;
35
+ transform: rotate(30deg);
36
+ backface-visibility: hidden;
37
+ }
38
+
39
+ .meta {
40
+ display: flex;
41
+ font-size: $font-size-subtitle;
42
+ margin: 0;
43
+
44
+ .item+.item {
45
+ margin-left: .625rem;
46
+ }
47
+ }
48
+
49
+ +tablet() {
50
+ .meta {
51
+ font-size: $font-size-smaller;
52
+ }
53
+ }
54
+
55
+ +mobile() {
56
+ padding: 3rem .5rem 0;
57
+
58
+ h1 {
59
+ font-size: $font-size-largest;
60
+ }
61
+
62
+ .meta {
63
+ font-size: $font-size-smallest;
64
+
65
+ .text {
66
+ display: none;
67
+ }
68
+ }
69
+ }
70
+
71
+
72
+ +mobile-smallest() {
73
+ .artboard {
74
+ font-size: $font-size-title;
75
+ }
76
+ }
77
+ }
@@ -0,0 +1,20 @@
1
+ // Header Section
2
+ // --------------------------------------------------
3
+ #header {
4
+ margin: 0 auto;
5
+ position: relative;
6
+ width: 100%;
7
+ height: 50vh;
8
+ text-shadow: 0 .2rem .3rem alpha(#000, .5);
9
+ color: var(--header-text-color);
10
+
11
+ a:hover {
12
+ color: currentColor;
13
+ }
14
+ }
15
+
16
+ @import 'image';
17
+ @import 'nav';
18
+ @import 'brand';
19
+ @import 'tool';
20
+ @import 'waves';
@@ -0,0 +1,79 @@
1
+ #imgs {
2
+ display: block;
3
+ position: fixed;
4
+ top: 0;
5
+ left: 0;
6
+ width: 100%;
7
+ height: 70vh;
8
+ min-height: 25rem;
9
+ z-index: -9;
10
+ background-color: #363636;
11
+
12
+ img {
13
+ width: 100%;
14
+ height: 100%;
15
+ position: absolute;
16
+ top: 0;
17
+ left: 0;
18
+ object-fit: cover;
19
+ }
20
+
21
+ .item {
22
+ width: 100%;
23
+ height: 100%;
24
+ position: absolute;
25
+ top: 0;
26
+ left: 0;
27
+ background-size: cover;
28
+ background-position: 50% 50%;
29
+ background-repeat: no-repeat;
30
+ opacity: 0;
31
+ z-index: 0;
32
+ animation: imageAnimation 36s linear infinite 0s;
33
+ backface-visibility: hidden;
34
+ transform-style: preserve-3d;
35
+ }
36
+
37
+ for num in (1 .. 6) {
38
+ .item:nth-child({num+1}) {
39
+ animation-delay: unit(num * 6, 's');
40
+ }
41
+ }
42
+
43
+ &::before {
44
+ content: '';
45
+ display: block;
46
+ position: absolute;
47
+ top: 0;
48
+ left: 0;
49
+ width: 100%;
50
+ height: 100%;
51
+ background-color: rgba(0, 0, 0, .2);
52
+ z-index: $zindex-1;
53
+ the-transition();
54
+ }
55
+ }
56
+
57
+ @keyframes imageAnimation {
58
+ 0% {
59
+ opacity: 0;
60
+ animation-timing-function: ease-in;
61
+ }
62
+ 2% {
63
+ opacity: 1;
64
+ }
65
+ 8% {
66
+ opacity: 1;
67
+ transform: scale(1.05);
68
+ animation-timing-function: ease-out;
69
+ }
70
+ 17% {
71
+ opacity: 1;
72
+ transform: scale(1.1);
73
+ }
74
+ 25% {
75
+ opacity: 0;
76
+ transform: scale(1.1);
77
+ }
78
+ 100% { opacity: 0 }
79
+ }
@@ -0,0 +1,117 @@
1
+ // Menu
2
+ // --------------------------------------------------
3
+ #nav .menu {
4
+ padding: .625rem 0;
5
+ margin: 0;
6
+ width: 100%;
7
+
8
+ .item {
9
+ display: inline-block;
10
+ position: relative;
11
+
12
+ padding: 0 .625rem;
13
+ letter-spacing: .0625rem;
14
+ text-align: center;
15
+
16
+
17
+ +mobile() {
18
+ display: none;
19
+
20
+ &.title {
21
+ display: block;
22
+ }
23
+ }
24
+
25
+ .ic {
26
+ margin-right: .5rem;
27
+ }
28
+
29
+ &:not(.title) a {
30
+ display: block;
31
+ font-size: $font-size-medium;
32
+
33
+ @extend $hover-underline;
34
+ }
35
+
36
+ &.active:not(.dropdown), &:not(.dropdown):hover {
37
+ a::before {
38
+ width: 70%;
39
+ }
40
+ }
41
+ }
42
+
43
+ .submenu {
44
+ display: none;
45
+ position: absolute;
46
+ margin-top: .5rem;
47
+ padding: 0;
48
+ width: max-content;
49
+ background-color: var(--grey-9-a5);
50
+ box-shadow: 0 .3125rem 1.25rem -.25rem var(--grey-9-a1);
51
+ border-radius: .625rem 0;
52
+ @extend .slide-up-in;
53
+
54
+ &::before {
55
+ position: absolute;
56
+ top: -1.25rem;
57
+ left: 0;
58
+ width: 100%;
59
+ height: 2.5rem;
60
+ content: '';
61
+ }
62
+
63
+ &:hover {
64
+ display: block;
65
+ }
66
+
67
+ .item {
68
+ display: block;
69
+
70
+ &:first-child{
71
+ border-radius: .625rem 0 0 0;
72
+ }
73
+
74
+ &:last-child{
75
+ border-radius: 0 0 .625rem 0
76
+ }
77
+
78
+ a {
79
+ display: inline-block;
80
+ padding: .3rem .7rem;
81
+ width: 100%;
82
+ text-shadow: none;
83
+ &::before {
84
+ content: none;
85
+ }
86
+ }
87
+
88
+ &:hover a {
89
+ transform: translateX(.3rem);
90
+ }
91
+
92
+ &:hover, &.active {
93
+ @extend $color-btn;
94
+ a {
95
+ opacity: 1;
96
+ }
97
+ }
98
+ }
99
+ }
100
+
101
+ .item.dropdown {
102
+ >a::after {
103
+ content: "";
104
+ display: inline-block;
105
+ margin-left: .3rem;
106
+ vertical-align: middle;
107
+ border: .3rem solid transparent;
108
+ border-top-color: currentColor;
109
+ border-bottom: 0;
110
+ }
111
+ &:hover {
112
+ .submenu {
113
+ display: block;
114
+ }
115
+ }
116
+ }
117
+ }
@@ -0,0 +1,81 @@
1
+ #nav {
2
+ position: fixed;
3
+ z-index: $zindex-2;
4
+ width: 100%;
5
+ height: 3.125rem;
6
+ backdrop-filter: saturate(180%) blur(20px);
7
+ the-transition();
8
+
9
+ &.up {
10
+ transform: translateY(0);
11
+ }
12
+
13
+ &.down {
14
+ transform: translateY(-100%);
15
+ }
16
+
17
+ &.show {
18
+ background: var(--nav-bg);
19
+ box-shadow: .1rem .1rem .2rem var(--grey-9-a1);
20
+ text-shadow: 0 0 .0625rem var(--grey-9-a1);
21
+ color: var(--text-color);
22
+
23
+ .line {
24
+ background: var(--text-color);
25
+ box-shadow: 0 0 .0625rem var(--grey-9-a1);
26
+ }
27
+
28
+ .item.active > a, .item.expand > a {
29
+ color: var(--color-aqua);
30
+ opacity: 1;
31
+ }
32
+
33
+ .menu {
34
+ .submenu {
35
+ background-color: var(--grey-1);
36
+ .item.active a {
37
+ color: var(--grey-0);
38
+ opacity: 1;
39
+ }
40
+ }
41
+ }
42
+ }
43
+
44
+ .inner {
45
+ height: 100%;
46
+ display: flex;
47
+ width: $content-desktop;
48
+ flex-wrap: nowrap;
49
+
50
+ +desktop-large() {
51
+ width: $content-desktop-large;
52
+ }
53
+
54
+ +desktop-largest() {
55
+ width: $content-desktop-largest;
56
+ }
57
+
58
+ +tablet-mobile() {
59
+ //width: auto;
60
+ }
61
+
62
+ }
63
+
64
+ .toggle {
65
+ display: none;
66
+
67
+ +tablet-mobile() {
68
+ the-flex();
69
+ }
70
+
71
+ .lines {
72
+ padding: 1.25rem;
73
+ width: 1.375rem;
74
+ box-sizing: unset;
75
+ }
76
+ }
77
+ }
78
+
79
+
80
+ @import 'menu';
81
+ @import 'right';
@@ -0,0 +1,15 @@
1
+ #nav .right {
2
+ display: inline-flex;
3
+ align-items: center;
4
+ justify-content: center;
5
+
6
+ .item {
7
+ padding: .625rem .5rem;
8
+ cursor: pointer;
9
+ }
10
+
11
+ .i-sun {
12
+ font-size: $font-size-large;
13
+ }
14
+ }
15
+
@@ -0,0 +1,207 @@
1
+ #tool {
2
+ position: fixed;
3
+ if (hexo-config('sidebar.position') == 'left') {
4
+ right: 1rem;
5
+ } else {
6
+ left: 1rem;
7
+ }
8
+
9
+ top: 50vh;
10
+ z-index: $zindex-2;
11
+
12
+
13
+ +tablet-mobile() {
14
+ right: 1rem;
15
+ left: auto;
16
+ }
17
+
18
+ .item {
19
+ display: none;
20
+ width: 1.875rem;
21
+ height: 1.875rem;
22
+ opacity: .5;
23
+ cursor: pointer;
24
+ align-items: center;
25
+ justify-content: center;
26
+ flex-direction: column;
27
+ the-transition();
28
+ &:hover {
29
+ opacity: .9;
30
+ }
31
+ }
32
+
33
+ .player {
34
+ display: inline-flex;
35
+ flex-direction: row-reverse;
36
+ font-size: $font-size-largest;
37
+ width: auto;
38
+ height: auto;
39
+
40
+ > .btn {
41
+ font-family-icons();
42
+ width: 1.875rem;
43
+ text-align: center;
44
+ &+.btn {
45
+ margin-right: .625rem;
46
+ }
47
+ }
48
+
49
+ .play-pause {
50
+ &::before {
51
+ @extend .i-play:before;
52
+ }
53
+ }
54
+
55
+ .music {
56
+ display: none;
57
+ &::before {
58
+ @extend .i-music:before;
59
+ }
60
+ }
61
+ }
62
+
63
+ &.playing .player {
64
+ .play-pause::before {
65
+ @extend .i-pause:before;
66
+ }
67
+ }
68
+
69
+ .player-info {
70
+ shadow-box();
71
+ background: var(--grey-1-a7);
72
+ backdrop-filter: blur(.625rem);
73
+ position: fixed;
74
+ display: none;
75
+ bottom: 0;
76
+ overflow: hidden;
77
+
78
+ if (hexo-config('sidebar.position') == 'left') {
79
+ right: 3.5rem;
80
+ } else {
81
+ left: 3.5rem;
82
+ }
83
+ width: 50vw;
84
+ z-index: $zindex-2;
85
+ max-width: 25rem;
86
+
87
+ +mobile() {
88
+ right: 2.5rem;
89
+ }
90
+
91
+ .nav {
92
+ font-size: $font-size-smallest;
93
+ height: 2.1875rem;
94
+ }
95
+ }
96
+
97
+ .back-to-top {
98
+ span {
99
+ font-size: $font-size-smallest;
100
+ }
101
+ }
102
+
103
+
104
+ &.affix {
105
+ text-shadow: none;
106
+ top: auto;
107
+ box-shadow: 0 0 .5rem rgba(0,0,0,.1);
108
+ background: var(--grey-1-a3);
109
+ border-radius: .3125rem;
110
+ if (hexo-config('sidebar.position') == 'left') {
111
+ right: 0;
112
+ } else {
113
+ left: 0;
114
+ }
115
+ bottom: 0;
116
+
117
+ .item {
118
+ display: flex;
119
+ color: var(--primary-color);
120
+ }
121
+
122
+ .player {
123
+ font-size: $font-size-base;
124
+ flex-direction: column-reverse;
125
+
126
+ > .btn+.btn {
127
+ margin-right: 0;
128
+ }
129
+
130
+ .music {
131
+ display: block;
132
+ }
133
+
134
+ }
135
+
136
+ .player-info {
137
+ if (hexo-config('sidebar.position') == 'left') {
138
+ right: 2.5rem;
139
+ } else {
140
+ left: 2.5rem;
141
+ }
142
+
143
+ +desktop-large() {
144
+ if (hexo-config('sidebar.position') == 'left') {
145
+ right: 3.5rem;
146
+ } else {
147
+ left: 3.5rem;
148
+ }
149
+ }
150
+
151
+ +tablet-mobile() {
152
+ right: 2.5rem;
153
+ left: auto;
154
+ }
155
+
156
+ &.show {
157
+ display: block;
158
+ if (hexo-config('sidebar.position') == 'left') {
159
+ @extend .slide-right-in;
160
+ } else {
161
+ @extend .slide-left-in;
162
+
163
+ +tablet-mobile() {
164
+ animation: slideRightIn .3s;
165
+ }
166
+ }
167
+
168
+ &.hide {
169
+ @extend .fade-out;
170
+ }
171
+ }
172
+ }
173
+
174
+ .back-to-top {
175
+ align-items: center;
176
+ justify-content: center;
177
+ height: auto;
178
+ padding: .3125rem 0 0;
179
+ }
180
+
181
+ .contents {
182
+ display: none;
183
+
184
+ +tablet-mobile() {
185
+ display: flex;
186
+ }
187
+ }
188
+
189
+ +desktop-large() {
190
+ if (hexo-config('sidebar.position') == 'left') {
191
+ right: 1rem;
192
+ } else {
193
+ left: 1rem;
194
+ }
195
+ bottom: 1rem;
196
+ }
197
+
198
+ +tablet-mobile() {
199
+ right: 0;
200
+ bottom: 0;
201
+ left: auto;
202
+ }
203
+ }
204
+ }
205
+
206
+
207
+