hexo-theme-solitude 2.1.16 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/.github/workflows/npm-publish.yml +1 -1
  2. package/.github/workflows/release.yml +29 -0
  3. package/LICENSE +10 -18
  4. package/README.md +3 -1
  5. package/README_en-US.md +3 -1
  6. package/README_zh-Hant.md +3 -1
  7. package/_config.yml +28 -24
  8. package/languages/en.yml +0 -0
  9. package/languages/zh-CN.yml +0 -0
  10. package/languages/zh-TW.yml +0 -0
  11. package/layout/includes/footer.pug +10 -7
  12. package/layout/includes/head/config.pug +9 -9
  13. package/layout/includes/inject/body.pug +5 -5
  14. package/layout/includes/inject/head.pug +2 -2
  15. package/layout/includes/page/{says.pug → brevity.pug} +7 -7
  16. package/layout/includes/page/kit.pug +3 -0
  17. package/layout/includes/page/links.pug +5 -3
  18. package/layout/includes/widgets/aside/asideInfoCard.pug +18 -86
  19. package/layout/includes/widgets/home/banner.pug +8 -2
  20. package/layout/includes/widgets/home/bbTimeList.pug +4 -4
  21. package/layout/includes/widgets/page/about/contentinfo.pug +1 -1
  22. package/layout/includes/widgets/page/{equipment → kit}/content.pug +3 -2
  23. package/layout/includes/widgets/page/recentcomment/waline.pug +0 -1
  24. package/layout/index.pug +2 -2
  25. package/layout/page.pug +4 -6
  26. package/package.json +10 -10
  27. package/plugins.yml +1 -1
  28. package/scripts/event/cdn.js +45 -115
  29. package/scripts/event/merge_config.js +5 -7
  30. package/scripts/filter/checkThemeConfig.js +3 -3
  31. package/scripts/helper/stylus.js +1 -3
  32. package/source/css/_comments/twikoo.styl +1 -1
  33. package/source/css/{_layout → _components}/capsule.styl +47 -48
  34. package/source/css/_components/expire.styl +12 -0
  35. package/source/css/_components/index.styl +17 -0
  36. package/source/css/_components/keyboard.styl +59 -0
  37. package/source/css/_components/pace.styl +39 -0
  38. package/source/css/_components/rightside.styl +63 -0
  39. package/source/css/_components/universe.styl +17 -0
  40. package/source/css/_layout/aside.styl +162 -460
  41. package/source/css/_layout/footer.styl +7 -10
  42. package/source/css/_page/_about/contentinfo.styl +2 -2
  43. package/source/css/_page/_home/home.styl +1 -1
  44. package/source/css/_page/{says.styl → brevity.styl} +54 -53
  45. package/source/css/_page/error.styl +1 -1
  46. package/source/css/_page/index.styl +5 -8
  47. package/source/css/index.styl +4 -1
  48. package/source/css/var.styl +2 -0
  49. package/source/js/main.js +21 -7
  50. package/source/js/third_party/waterfall.min.js +1 -1
  51. package/.github/workflows/code-review-bot.yml +0 -28
  52. package/.github/workflows/issue_close_question.yml +0 -25
  53. package/layout/includes/page/equipment.pug +0 -2
  54. package/layout/includes/page/tlink.pug +0 -13
  55. package/scripts/tags/article.js +0 -56
  56. package/source/css/_layout/expire.styl +0 -13
  57. package/source/css/_layout/keyboard.styl +0 -60
  58. package/source/css/_layout/pace.styl +0 -40
  59. package/source/css/_layout/rightside.styl +0 -58
  60. package/source/css/_layout/universe.styl +0 -18
  61. package/source/css/_page/_gallery/index.styl +0 -38
package/package.json CHANGED
@@ -1,18 +1,15 @@
1
1
  {
2
2
  "name": "hexo-theme-solitude",
3
- "version": "2.1.16",
3
+ "version": "3.0.1",
4
4
  "description": "A beautiful, powerful, and efficient Hexo theme developed by everfu.",
5
5
  "main": "package.json",
6
- "scripts": {
7
- "test": "echo \"Error: no test specified\" && exit 1"
8
- },
9
6
  "keywords": [
10
7
  "hexo",
11
8
  "theme",
12
9
  "solitude",
13
10
  "Card UI Design",
14
- "everfu",
15
- "伍十七",
11
+ "@everfu",
12
+ "everly",
16
13
  "hexo-theme-solitude"
17
14
  ],
18
15
  "repository": {
@@ -25,9 +22,12 @@
25
22
  },
26
23
  "bugs": {
27
24
  "url": "https://github.com/everfu/hexo-theme-solitude/issues",
28
- "email": "o@everfu.org"
25
+ "email": "o@efu.me"
29
26
  },
30
27
  "homepage": "https://solitude.js.org",
31
- "author": "Hexo-Theme-Solitude<o@everfu.org>",
32
- "license": "MIT"
33
- }
28
+ "author": "Hexo-Theme-Solitude<o@efu.me>",
29
+ "license": "Apache-2.0",
30
+ "scripts": {
31
+ "test": "echo \"Error: no test specified\" && exit 1"
32
+ }
33
+ }
package/plugins.yml CHANGED
@@ -111,7 +111,7 @@ mermaid_js:
111
111
  chart_js:
112
112
  name: chart.js
113
113
  file: dist/chart.umd.js
114
- version: 4.4.1
114
+ version: 4.4.7
115
115
  other_name: Chart.js
116
116
  typeit_js:
117
117
  name: typeit
@@ -3,117 +3,48 @@
3
3
  * Merge CDN
4
4
  */
5
5
 
6
- 'use strict'
6
+ 'use strict';
7
7
 
8
- const { version } = require('../../package.json')
9
- const path = require('path')
8
+ const { version } = require('../../package.json');
9
+ const path = require('path');
10
10
 
11
11
  hexo.extend.filter.register('before_generate', () => {
12
- const themeConfig = hexo.theme.config
13
- const { CDN } = themeConfig
12
+ const themeConfig = hexo.theme.config;
13
+ const { CDN } = themeConfig;
14
+ const name = 'hexo-theme-solitude';
14
15
 
15
- const thirdPartySrc = hexo.render.renderSync({ path: path.join(hexo.theme_dir, '/plugins.yml'), engine: 'yaml' })
16
+ const thirdPartySrc = hexo.render.renderSync({ path: path.join(hexo.theme_dir, '/plugins.yml'), engine: 'yaml' });
16
17
  const internalSrc = {
17
- main: {
18
- name: 'hexo-theme-solitude',
19
- file: 'js/main.js',
20
- version
21
- },
22
- utils: {
23
- name: 'hexo-theme-solitude',
24
- file: 'js/utils.js',
25
- version
26
- },
27
- local_search: {
28
- name: 'hexo-theme-solitude',
29
- file: 'js/search/local.js',
30
- version
31
- },
32
- algolia_js: {
33
- name: 'hexo-theme-solitude',
34
- file: 'js/search/algolia.js',
35
- version
36
- },
37
- cover_local: {
38
- name: 'hexo-theme-solitude',
39
- file: 'js/covercolor/local.js',
40
- version
41
- },
42
- cover_api: {
43
- name: 'hexo-theme-solitude',
44
- file: 'js/covercolor/api.js',
45
- version
46
- },
47
- cover_ave: {
48
- name: 'hexo-theme-solitude',
49
- file: 'js/covercolor/ave.js',
50
- version
51
- },
52
- music_js: {
53
- name: 'hexo-theme-solitude',
54
- file: 'js/music.js',
55
- version
56
- },
57
- right_menu_js: {
58
- name: 'hexo-theme-solitude',
59
- file: 'js/right_menu.js',
60
- version
61
- },
62
- translate_js:{
63
- name: 'hexo-theme-solitude',
64
- file: 'js/tw_cn.js',
65
- version
66
- },
67
- post_ai: {
68
- name: 'hexo-theme-solitude',
69
- file: 'js/third_party/post_ai.min.js',
70
- version
71
- },
72
- commentBarrage: {
73
- name: 'hexo-theme-solitude',
74
- file: 'js/third_party/barrage.min.js',
75
- version
76
- },
77
- waterfall: {
78
- name: 'hexo-theme-solitude',
79
- file: 'js/third_party/waterfall.min.js',
80
- version
81
- },
82
- universe_js: {
83
- name: 'hexo-theme-solitude',
84
- file: 'js/third_party/universe.min.js',
85
- version
86
- },
87
- envelope_js: {
88
- name: 'hexo-theme-solitude',
89
- file: 'js/third_party/envelope.min.js',
90
- version
91
- }
92
- }
18
+ main: { name, file: 'js/main.js', version },
19
+ utils: { name, file: 'js/utils.js', version },
20
+ local_search: { name, file: 'js/search/local.js', version },
21
+ algolia_js: { name, file: 'js/search/algolia.js', version },
22
+ cover_local: { name, file: 'js/covercolor/local.js', version },
23
+ cover_api: { name, file: 'js/covercolor/api.js', version },
24
+ cover_ave: { name, file: 'js/covercolor/ave.js', version },
25
+ music_js: { name, file: 'js/music.js', version },
26
+ right_menu_js: { name, file: 'js/right_menu.js', version },
27
+ translate_js: { name, file: 'js/tw_cn.js', version },
28
+ post_ai: { name, file: 'js/third_party/post_ai.min.js', version },
29
+ commentBarrage: { name, file: 'js/third_party/barrage.min.js', version },
30
+ waterfall: { name, file: 'js/third_party/waterfall.min.js', version },
31
+ universe_js: { name, file: 'js/third_party/universe.min.js', version },
32
+ envelope_js: { name, file: 'js/third_party/envelope.min.js', version }
33
+ };
93
34
 
94
- const minFile = file => {
95
- return file.replace(/(?<!\.min)\.(js|css)$/g, ext => '.min' + ext)
96
- }
35
+ const minFile = file => file.replace(/(?<!\.min)\.(js|css)$/g, ext => `.min${ext}`);
97
36
 
98
37
  const createCDNLink = (data, type, cond = '') => {
99
38
  Object.keys(data).forEach(key => {
100
- let { name, version, file, other_name } = data[key]
101
- const cdnjs_name = other_name || name
102
- const cdnjs_file = file.replace(/^[lib|dist]*\/|browser\//g, '')
103
- const min_cdnjs_file = minFile(cdnjs_file)
104
- if (cond === 'internal') file = `source/${file}`
105
- const min_file = minFile(file)
106
- const verType = CDN.version ? (type === 'local' ? `?v=${version}` : `@${version}`) : ''
39
+ let { name, version, file, other_name } = data[key];
40
+ const cdnjs_name = other_name || name;
41
+ const cdnjs_file = file.replace(/^[lib|dist]*\/|browser\//g, '');
42
+ const min_cdnjs_file = minFile(cdnjs_file);
43
+ if (cond === 'internal') file = `source/${file}`;
44
+ const min_file = minFile(file);
45
+ const verType = CDN.version ? (type === 'local' ? `?v=${version}` : `@${version}`) : '';
107
46
 
108
- const value = {
109
- version,
110
- name,
111
- file,
112
- cdnjs_file,
113
- min_file,
114
- min_cdnjs_file,
115
- cdnjs_name
116
- }
47
+ const value = { version, name, file, cdnjs_file, min_file, min_cdnjs_file, cdnjs_name };
117
48
 
118
49
  const cdnSource = {
119
50
  local: cond === 'internal' ? `${cdnjs_file + verType}` : `/pluginsSrc/${name}/${file + verType}`,
@@ -121,27 +52,26 @@ hexo.extend.filter.register('before_generate', () => {
121
52
  unpkg: `https://unpkg.com/${name}${verType}/${file}`,
122
53
  cdnjs: `https://cdnjs.cloudflare.com/ajax/libs/${cdnjs_name}/${version}/${min_cdnjs_file}`,
123
54
  custom: (CDN.custom_format || '').replace(/\$\{(.+?)}/g, (match, $1) => value[$1]),
124
- }
55
+ };
125
56
 
126
- data[key] = cdnSource[type]
127
- })
57
+ data[key] = cdnSource[type];
58
+ });
128
59
 
129
- if (cond === 'internal') data.main_css = 'css/index.css' + (CDN.version ? `?v=${version}` : '')
130
- return data
131
- }
60
+ if (cond === 'internal') data.main_css = `css/index.css${CDN.version ? `?v=${version}` : ''}`;
61
+ return data;
62
+ };
132
63
 
133
- // delete null value
134
64
  const deleteNullValue = obj => {
135
- if (!obj) return
136
- for (const i in obj) {
137
- obj[i] === null && delete obj[i]
65
+ if (!obj) return;
66
+ for (const key in obj) {
67
+ if (obj[key] === null) delete obj[key];
138
68
  }
139
- return obj
140
- }
69
+ return obj;
70
+ };
141
71
 
142
72
  themeConfig.cdn = Object.assign(
143
73
  createCDNLink(internalSrc, CDN.internal, 'internal'),
144
74
  createCDNLink(thirdPartySrc, CDN.third_party),
145
75
  deleteNullValue(CDN.options)
146
- )
147
- })
76
+ );
77
+ });
@@ -37,23 +37,20 @@ hexo.extend.filter.register('before_generate', () => {
37
37
  post: { noSticky: 'about', Sticky: 'allInfo' },
38
38
  page: { noSticky: 'about', Sticky: 'allInfo' },
39
39
  card: {
40
- style: 0,
41
40
  author: {
42
41
  img: '/img/logo.png',
43
42
  sticker: '/img/happy-sticker.avif',
44
43
  },
45
44
  url: '/about/',
46
- background: null,
47
45
  content1: 'Solitude',
48
- content2: 'A simple theme for Hexo',
49
- sayhello: {
46
+ state: {
50
47
  morning: 'Good Morning',
51
48
  noon: 'Good Noon',
52
49
  afternoon: 'Good Afternoon',
53
50
  night: 'Good Night',
54
51
  goodnight: 'Good Night',
55
52
  },
56
- sayhello2: ['Welcome to Solitude', 'A simple theme for Hexo', 'Enjoy your time', 'Have a nice day', 'Good luck'],
53
+ witty_words: [],
57
54
  information: null,
58
55
  },
59
56
  flip: {
@@ -171,8 +168,9 @@ hexo.extend.filter.register('before_generate', () => {
171
168
  text: '404 Not Found',
172
169
  recommendList: true
173
170
  },
174
- says: {
171
+ brevity: {
175
172
  enable: false,
173
+ music: false,
176
174
  home_mini: false,
177
175
  style: 1,
178
176
  strip: 30
@@ -327,7 +325,7 @@ hexo.extend.filter.register('before_generate', () => {
327
325
  font: {
328
326
  'font-size': '16px',
329
327
  'code-font-size': '16px',
330
- 'font-family': 'PingFang SC, Hiragino Sans GB,Microsoft YaHei',
328
+ 'font-family': 'PingFang SC, Hiragino Sans GB,Microsoft YaHei, sans-serif',
331
329
  'code-font-family': '"monospace", monospace',
332
330
  },
333
331
  extends: {
@@ -4,9 +4,9 @@ hexo.extend.filter.register('before_post_render', () => {
4
4
  const data = hexo.locals.get('data');
5
5
  const logger = hexo.log;
6
6
  const theme = hexo.theme.config;
7
- if (theme.says.enable && !data.essay) {
8
- logger.error('\n 启用即刻短文的情况下,请新建 essay.yaml。');
9
- logger.error('\n If says is enabled, essay data must be supplied! \n Please create essay.yaml.');
7
+ if (theme.brevity.enable && !data.brevity) {
8
+ logger.error('\n 启用即刻短文的情况下,请新建 brevity.yaml。');
9
+ logger.error('\n If brevity is enabled, brevity data must be supplied! \n Please create brevity.yaml.');
10
10
  process.exit(-1);
11
11
  }
12
12
  if (theme.footer.randomlink && !data.links){
@@ -2,9 +2,7 @@ hexo.extend.filter.register('stylus:renderer', function (style) {
2
2
  const {config, theme} = this;
3
3
  const data = hexo.locals.get('data');
4
4
 
5
- style.define('$about', data && data.about ? Object.keys(data.about) : false);
6
- style.define('$link', !!(data && data.links) || !!(data && data.tlink))
7
- style.define('$equipment', !!(data && data.equipment))
5
+ style.define('$about', data && data.about ? Object.keys(data.about) : {});
8
6
 
9
7
  // highlight
10
8
  const {syntax_highlighter: syntaxHighlighter, highlight, prismjs} = hexo.config
@@ -282,7 +282,7 @@
282
282
  code
283
283
  kbd
284
284
  samp
285
- font-family ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace
285
+ font-family $code-font-family
286
286
 
287
287
  pre
288
288
  background var(--efu-secondbg)
@@ -1,19 +1,18 @@
1
- if hexo-config('capsule.enable')
2
- @keyframes changeright
3
- 0%, 50%, 100%
4
- transform: rotate(0deg) scale(1.1)
5
- box-shadow: 0 0 2px #ffffff00
6
- 25%, 75%
7
- transform: rotate(90deg) scale(1.1)
8
- box-shadow: 0 0 14px #ffffff
9
-
10
- @keyframes playingShadow
1
+ @keyframes changeright
2
+ 0%, 50%, 100%
3
+ transform: rotate(0deg) scale(1.1)
4
+ box-shadow: 0 0 2px #ffffff00
5
+ 25%, 75%
6
+ transform: rotate(90deg) scale(1.1)
7
+ box-shadow: 0 0 14px #ffffff
8
+
9
+ @keyframes playingShadow
11
10
  0%, 100%
12
11
  box-shadow: 0 0px 12px -3px var(--efu-none)
13
12
  50%
14
13
  box-shadow: 0 0px 12px 0px var(--efu-main)
15
14
 
16
- @keyframes lightBar
15
+ @keyframes lightBar
17
16
  0%, 100%
18
17
  opacity: 0.1
19
18
  60%
@@ -21,11 +20,11 @@ if hexo-config('capsule.enable')
21
20
 
22
21
  .aplayer.aplayer-narrow
23
22
  .aplayer-body,
24
- .aplayer-pic
23
+ .aplayer-pic
25
24
  height: 66px
26
25
  width: 66px
27
26
 
28
- #nav-music
27
+ #nav-music
29
28
  display: flex
30
29
  align-items: center
31
30
  z-index: 12
@@ -39,41 +38,41 @@ if hexo-config('capsule.enable')
39
38
  border-radius: 40px
40
39
  overflow: hidden
41
40
 
42
- &:active
41
+ &:active
43
42
  transform: scale(0.97)
44
43
 
45
- &.playing
44
+ &.playing
46
45
  border: var(--style-border)
47
46
  box-shadow: 0 0px 12px -3px var(--efu-none)
48
47
  animation: playingShadow 5s linear infinite
49
48
 
50
49
  .aplayer.aplayer-withlrc
51
- .aplayer-pic
50
+ .aplayer-pic
52
51
  box-shadow: 0 0 14px #ffffffa6
53
52
  transform: rotate(0deg) scale(1.1)
54
53
  border-color: var(--efu-white)
55
- animation-play-state: running
54
+ animation-play-state: running
56
55
 
57
- .aplayer-info
56
+ .aplayer-info
58
57
  color: var(--efu-white)
59
58
 
60
- #nav-music-hoverTips
59
+ #nav-music-hoverTips
61
60
  width: 0
62
61
 
63
- .aplayer
62
+ .aplayer
64
63
  background: var(--efu-main)
65
64
  border: var(--style-border-hover)
66
65
  backdrop-filter: saturate(180%) blur(20px)
67
66
  transform: translateZ(0)
68
67
 
69
- .aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-played
68
+ .aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-played
70
69
  animation-play-state: running
71
70
 
72
- &:hover:not(.playing) #nav-music-hoverTips
71
+ &:hover:not(.playing) #nav-music-hoverTips
73
72
  opacity: 1
74
73
 
75
74
  .aplayer.aplayer-withlrc
76
- .aplayer-pic
75
+ .aplayer-pic
77
76
  height: 25px
78
77
  width: 25px
79
78
  border-radius: 40px
@@ -84,7 +83,7 @@ if hexo-config('capsule.enable')
84
83
  animation: changeright 24s linear infinite
85
84
  animation-play-state: paused
86
85
 
87
- .aplayer-info
86
+ .aplayer-info
88
87
  height: 100%
89
88
  color: var(--efu-fontcolor)
90
89
  margin: 0
@@ -92,7 +91,7 @@ if hexo-config('capsule.enable')
92
91
  display: flex
93
92
  align-items: center
94
93
 
95
- #nav-music-hoverTips
94
+ #nav-music-hoverTips
96
95
  color: var(--efu-white)
97
96
  background: var(--efu-main)
98
97
  width: 100%
@@ -109,7 +108,7 @@ if hexo-config('capsule.enable')
109
108
  z-index: 2
110
109
  transition: 0.3s
111
110
 
112
- .aplayer
111
+ .aplayer
113
112
  background: var(--efu-card-bg)
114
113
  border-radius: 60px
115
114
  height: 41px
@@ -121,16 +120,16 @@ if hexo-config('capsule.enable')
121
120
 
122
121
  .aplayer-notice,
123
122
  .aplayer-miniswitcher,
124
- .aplayer-list
123
+ .aplayer-list
125
124
  display: none
126
125
 
127
- .aplayer-body
126
+ .aplayer-body
128
127
  position: relative
129
128
  display: flex
130
129
  align-items: center
131
130
 
132
- .aplayer-info
133
- .aplayer-music
131
+ .aplayer-info
132
+ .aplayer-music
134
133
  margin: 0
135
134
  display: flex
136
135
  align-items: center
@@ -139,7 +138,7 @@ if hexo-config('capsule.enable')
139
138
  z-index: 1
140
139
  height: 100%
141
140
 
142
- .aplayer-title
141
+ .aplayer-title
143
142
  cursor: pointer
144
143
  line-height: 1
145
144
  display: inline-block
@@ -150,35 +149,35 @@ if hexo-config('capsule.enable')
150
149
  transition: 0.3s
151
150
  user-select: none
152
151
 
153
- .aplayer-controller
152
+ .aplayer-controller
154
153
  position: absolute
155
154
  width: 100%
156
155
  height: 100%
157
156
  top: 0
158
157
  left: 0
159
158
 
160
- .aplayer-bar-wrap
159
+ .aplayer-bar-wrap
161
160
  margin: 0
162
161
  padding: 0
163
162
 
164
- .aplayer-bar
163
+ .aplayer-bar
165
164
  height: 100%
166
165
  background: 0 0
167
166
 
168
- .aplayer-loaded
167
+ .aplayer-loaded
169
168
  display: none
170
169
 
171
- .aplayer-played
170
+ .aplayer-played
172
171
  height: 100%
173
172
  opacity: 0.1
174
173
  background-color: var(--efu-white) !important
175
174
  animation: lightBar 5s ease infinite
176
175
  animation-play-state: paused
177
176
 
178
- .aplayer-pic
177
+ .aplayer-pic
179
178
  pointer-events: none
180
179
 
181
- .aplayer-button
180
+ .aplayer-button
182
181
  bottom: 50%
183
182
  right: 50%
184
183
  transform: translate(50%, 50%)
@@ -186,44 +185,44 @@ if hexo-config('capsule.enable')
186
185
  transition: 0.3s
187
186
  pointer-events all
188
187
 
189
- &:has(.aplayer-button.aplayer-play)
188
+ &:has(.aplayer-button.aplayer-play)
190
189
  animation-play-state: paused
191
190
  transform: rotate(0deg) scale(1) !important
192
191
 
193
192
  margin-left: 8px
194
193
 
195
194
  .aplayer-info .aplayer-controller .aplayer-time,
196
- .aplayer-info .aplayer-music .aplayer-author
195
+ .aplayer-info .aplayer-music .aplayer-author
197
196
  display: none
198
197
 
199
- &.aplayer-withlist .aplayer-info
198
+ &.aplayer-withlist .aplayer-info
200
199
  border: none
201
200
 
202
- .aplayer-lrc
201
+ .aplayer-lrc
203
202
  width: 0
204
203
  opacity: 0
205
204
  transition: 0.3s
206
205
  margin-bottom: -15px
207
206
 
208
- p.aplayer-lrc-current
207
+ p.aplayer-lrc-current
209
208
  color: var(--efu-white)
210
209
  border: none
211
210
  min-height: 20px
212
211
  filter: none
213
212
 
214
213
  &:after,
215
- &:before
214
+ &:before
216
215
  display: none
217
216
 
218
- p
217
+ p
219
218
  color: #ffffffb3
220
219
  filter: blur(.8px)
221
220
 
222
- &.stretch .aplayer.aplayer-withlrc .aplayer-lrc
221
+ &.stretch .aplayer.aplayer-withlrc .aplayer-lrc
223
222
  width: 200px
224
223
  margin-left: 8px
225
224
  opacity: 1
226
225
 
227
226
  .aplayer-thumb
228
- width: 0!important
229
- height: 0!important
227
+ width: 0 !important
228
+ height: 0 !important
@@ -0,0 +1,12 @@
1
+ .expire
2
+ display flex
3
+ align-items center
4
+ border-radius 8px
5
+ background-color rgba(255, 0, 0, .5)
6
+ border-left 5px solid var(--efu-red)
7
+ padding 10px 16px
8
+ color var(--efu-white)
9
+
10
+ i.solitude
11
+ color var(--efu-white)
12
+ margin-right 8px
@@ -0,0 +1,17 @@
1
+ if hexo-config('capsule.enable')
2
+ @import 'capsule.styl'
3
+
4
+ if hexo-config('rightside.enable')
5
+ @import 'rightside.styl'
6
+
7
+ if hexo-config('expire.enable')
8
+ @import 'expire.styl'
9
+
10
+ if hexo-config('keyboard.enable')
11
+ @import 'keyboard.styl'
12
+
13
+ if hexo-config('loading.pace')
14
+ @import 'pace.styl'
15
+
16
+ if hexo-config('display_mode.universe')
17
+ @import 'universe.styl'
@@ -0,0 +1,59 @@
1
+ #keyboard-tips
2
+ position fixed
3
+ top 80px
4
+ left 20px
5
+ z-index 999
6
+ background var(--efu-maskbgdeep)
7
+ border-radius 12px
8
+ border var(--style-border)
9
+ padding 20px
10
+ display flex
11
+ flex-direction column
12
+ backdrop-filter saturate(180%) blur(20px)
13
+ transform translateZ(0)
14
+ pointer-events none
15
+ box-shadow var(--efu-shadow-border)
16
+ opacity 0
17
+ transition .3s
18
+
19
+ &.show
20
+ opacity 1
21
+ transition .1s
22
+
23
+ .keyboardTitle
24
+ font-size 12px
25
+ color var(--efu-secondtext)
26
+ line-height 1
27
+
28
+ .keyboardList
29
+ display flex
30
+ flex-direction column
31
+ margin-top 8px
32
+
33
+ .keyboardItem
34
+ display flex
35
+ margin-top 4px
36
+
37
+ .keyGroup
38
+ display flex
39
+ align-items center
40
+ width 90px
41
+
42
+ .key
43
+ padding 0.2em 0.4em
44
+ font-family inherit
45
+ background-color var(--efu-card-bg)
46
+ color var(--efu-fontcolor)
47
+ border var(--style-border)
48
+ border-color var(--efu-secondtext)
49
+ border-bottom 2px solid var(--efu-secondtext)
50
+ box-shadow var(--efu-shadow-border)
51
+ border-radius 0.25rem
52
+ overflow-wrap break-word
53
+ overflow-x auto
54
+ font-weight 500
55
+ font-size .875em
56
+ margin-right 4px
57
+ vertical-align baseline
58
+ line-height 1
59
+ height 24px