hexo-theme-solitude 1.5.4 → 1.5.5

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 (51) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.yml +7 -6
  2. package/.github/ISSUE_TEMPLATE/feature_request.yml +1 -1
  3. package/_config.yml +0 -12
  4. package/languages/en.yml +9 -6
  5. package/languages/zh-CN.yml +9 -6
  6. package/languages/zh-TW.yml +9 -6
  7. package/layout/includes/head/config.pug +9 -6
  8. package/layout/includes/inject/body.pug +7 -0
  9. package/layout/includes/inject/head.pug +1 -1
  10. package/layout/includes/widgets/post/copyright.pug +0 -2
  11. package/layout/page.pug +0 -4
  12. package/package.json +1 -1
  13. package/plugins.yml +0 -4
  14. package/scripts/event/cdn.js +6 -1
  15. package/scripts/tags/button.js +1 -1
  16. package/scripts/tags/bvideo.js +2 -2
  17. package/scripts/tags/gallery.js +54 -0
  18. package/scripts/tags/image.js +1 -1
  19. package/scripts/tags/link.js +6 -3
  20. package/scripts/tags/note.js +6 -0
  21. package/source/css/_page/_gallery/index.styl +0 -66
  22. package/source/css/_page/share.styl +2 -2
  23. package/source/css/_widgets/_post/content.styl +7 -0
  24. package/source/css/_widgets/_post/copyright.styl +0 -18
  25. package/source/css/_widgets/_tags/button.styl +29 -49
  26. package/source/css/_widgets/_tags/checkbox.styl +176 -57
  27. package/source/css/_widgets/_tags/fold.styl +65 -79
  28. package/source/css/_widgets/_tags/gallery.styl +67 -0
  29. package/source/css/_widgets/_tags/index.styl +32 -30
  30. package/source/css/_widgets/_tags/label.styl +4 -3
  31. package/source/css/_widgets/_tags/link.styl +48 -77
  32. package/source/css/_widgets/_tags/media.styl +57 -0
  33. package/source/css/_widgets/_tags/mermaid.styl +1 -2
  34. package/source/css/_widgets/_tags/note.styl +1 -7
  35. package/source/css/_widgets/_tags/span.styl +24 -51
  36. package/source/css/_widgets/_tags/tabs.styl +3 -1
  37. package/source/css/_widgets/index.styl +1 -1
  38. package/source/js/covercolor/api.js +16 -16
  39. package/source/js/covercolor/local.js +16 -16
  40. package/source/js/lately.min.js +6 -0
  41. package/source/js/main.js +2 -32
  42. package/source/js/utils.js +6 -0
  43. package/layout/includes/page/album.pug +0 -38
  44. package/layout/includes/page/gallery.pug +0 -11
  45. package/scripts/generator/gallery.js +0 -49
  46. package/scripts/tags/card.js +0 -9
  47. package/scripts/tags/u.js +0 -7
  48. package/source/css/_widgets/_tags/bvideo.styl +0 -8
  49. package/source/css/_widgets/_tags/card.styl +0 -52
  50. package/source/css/_widgets/_tags/image.styl +0 -10
  51. package/source/css/_widgets/_tags/inline-image.styl +0 -6
@@ -1,6 +1,7 @@
1
1
  name: Bug 报告 🐛
2
2
  description: 本项目仅对最新版本进行维护,使用老版本出现问题的,请先升级到最新版本或使用dev版本,升级完后如果发现bug依然存在,请继续填写此issue。
3
3
  labels: ['status: needs check']
4
+ title: "[Bug]: "
4
5
  body:
5
6
  - type: markdown
6
7
  attributes:
@@ -10,18 +11,18 @@ body:
10
11
  2. 查询主题使用文档的相关内容和正确配置
11
12
  3. 使用的是Solitude主题最新版本
12
13
  4. 执行`npm ls -dept 0`检查是否已安装对应插件
13
- 5. [FAQS](https://docs.wzsco.top/FAQ.html) 中无类似问题
14
+ 5. [FAQS](https://solitude-docs.efu.me/faq) 中无类似问题
14
15
  - type: checkboxes
15
16
  attributes:
16
17
  label: 前置确认
17
18
  options:
18
- - label: 我确认我运行的是最新版本的主题,并且安装了所需的依赖,在[FAQS](https://docs.wzsco.top/FAQ.html)中也未找到类似问题。
19
+ - label: 我确认我运行的是最新版本的主题,并且安装了所需的依赖,在[FAQS](https://solitude-docs.efu.me/faq)中也未找到类似问题。
19
20
  required: true
20
21
  - type: checkboxes
21
22
  attributes:
22
23
  label: ⚠️ 搜索issues中是否已存在类似问题
23
24
  description: >
24
- 请在 [历史issue](https://github.com/DuoSco/Hexo-theme-solitude/issues) 中清空输入框,搜索你的问题
25
+ 请在 [历史issue](https://github.com/valor-x/hexo-theme-solitude/issues) 中清空输入框,搜索你的问题
25
26
  或相关日志的关键词来查找是否存在类似问题。
26
27
  options:
27
28
  - label: 我已经搜索过issues和disscussions,没有跟我遇到的问题相关的issue
@@ -37,7 +38,7 @@ body:
37
38
  请选择你运行程序的操作系统类型。
38
39
  options:
39
40
  - Windows
40
- - MacOS
41
+ - Mac/Linux
41
42
  validations:
42
43
  required: true
43
44
  - type: dropdown
@@ -67,6 +68,7 @@ body:
67
68
  attributes:
68
69
  label: 问题描述 😯
69
70
  description: 详细描述出现的问题,或提供有关截图。
71
+ placeholder: "e.g., 我在...出现..."
70
72
  - type: textarea
71
73
  attributes:
72
74
  label: 终端日志 📒
@@ -103,5 +105,4 @@ body:
103
105
  at Array.reduce (<anonymous>)
104
106
  INFO Hexo is running at http://localhost:4000/ . Press Ctrl+C to stop.
105
107
  </details>
106
- value: |
107
- <此处粘贴终端日志>
108
+ placeholder: "e.g., <此处粘贴终端日志>"
@@ -1,6 +1,6 @@
1
1
  name: 功能新增✨
2
2
  description: 为这个项目提出一个想法
3
- title: "[想法]: "
3
+ title: "[Feature]: "
4
4
  labels: ["增强"]
5
5
  body:
6
6
  - type: markdown
package/_config.yml CHANGED
@@ -53,7 +53,6 @@ nav:
53
53
  # 友情链接: /links/ || st-group-fill
54
54
  # 宝藏博主: javascript:travelling() || st-gift-fill
55
55
  # 我的:
56
- # 相册集: /gallery/ || st-image-fill
57
56
  # 装备: /equipment/ || st-laptop-line
58
57
  # 工具箱: /tlink/ || st-tools-fill
59
58
  # 音乐馆: /music/ || st-disc-fill
@@ -321,11 +320,6 @@ post:
321
320
  enable: true
322
321
  license: CC BY-NC-SA 4.0
323
322
  licenurl: https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh
324
- # 是否使用移轴动画头像
325
- # Whether to use the shift animation avatar
326
- author:
327
- enable: false
328
- author_back: https://7.isyangs.cn/34/65f2e52b2d91e-34.png # 底部头像背景 / Bottom avatar background
329
323
  # 顶部文章简介
330
324
  # Top article introduction
331
325
  meta:
@@ -542,12 +536,6 @@ moments:
542
536
  bundlejs: https://cdn.cbd.int/st-source/js/moment/bundle.min.js
543
537
  randompostjs: https://cdn.cbd.int/st-source/js/moment/random_post.min.js
544
538
 
545
- # 相册
546
- # album
547
- album:
548
- enable: false # 是否开启相册 / Whether to enable album
549
- limit: 6 # 单行显示图片数量 / Number of pictures displayed in a single line
550
-
551
539
  # 快捷菜单你
552
540
  # quick menu
553
541
  keyboard:
package/languages/en.yml CHANGED
@@ -6,12 +6,15 @@ copy:
6
6
  success: Copied
7
7
  error: Copied failed
8
8
 
9
- time:
10
- recent: Recent
11
- yesterday: Yesterday
12
- berforeyesterday: TDBY
13
- daybefore: Days ago
14
- runtime: days
9
+ lately:
10
+ second: second
11
+ minute: minute
12
+ hour: hour
13
+ day: day
14
+ month: month
15
+ year: year
16
+ ago: ago
17
+ error: NaN
15
18
 
16
19
  chs:
17
20
  chs_tw: Traditional Chinese
@@ -7,12 +7,15 @@ copy:
7
7
  success: 复制成功
8
8
  error: 复制失败
9
9
 
10
- time:
11
- recent: 最近
12
- yesterday: 昨天
13
- berforeyesterday: 前天
14
- daybefore: 天前
15
- runtime:
10
+ lately:
11
+ second:
12
+ minute: 分钟
13
+ hour: 小时
14
+ day:
15
+ month: 个月
16
+ year: 年
17
+ ago: 前
18
+ error: NaN
16
19
 
17
20
  chs:
18
21
  chs_tw: 繁體中文
@@ -7,12 +7,15 @@ copy:
7
7
  success: 複製成功
8
8
  error: 複製失敗
9
9
 
10
- time:
11
- recent: 最近
12
- yesterday: 昨天
13
- berforeyesterday: 前天
14
- daybefore: 天前
15
- runtime:
10
+ lately:
11
+ second:
12
+ minute: 分鐘
13
+ hour: 小時
14
+ day:
15
+ month: 个月
16
+ year: 年
17
+ ago: 前
18
+ error: NaN
16
19
 
17
20
  chs:
18
21
  chs_tw: 繁體中文
@@ -61,12 +61,15 @@ script.
61
61
  error: '!{_p('copy.error')}',
62
62
  },
63
63
  backtop: '!{_p('nav.backtop')}',
64
- time: {
65
- recent: '!{_p('time.recent')}',
66
- yesterday: '!{_p('time.yesterday')}',
67
- berforeyesterday: '!{_p('time.berforeyesterday')}',
68
- daybefore: '!{_p('time.daybefore')}',
69
- runtime: '!{_p('time.runtime')}',
64
+ lately: {
65
+ second: '!{_p('lately.second')}',
66
+ minute: '!{_p('lately.minute')}',
67
+ hour: '!{_p('lately.hour')}',
68
+ day: '!{_p('lately.day')}',
69
+ month: '!{_p('lately.month')}',
70
+ year: '!{_p('lately.year')}',
71
+ ago: '!{_p('lately.ago')}',
72
+ error: '!{_p('lately.error')}',
70
73
  },
71
74
  search: {
72
75
  empty: '!{_p('search.empty')}',
@@ -14,6 +14,9 @@ div
14
14
  script(src=url_for(theme.cdn.main))
15
15
  script(src=url_for(theme.cdn.utils))
16
16
 
17
+ // lately
18
+ script(src=url_for(theme.cdn.lately_js))
19
+
17
20
  if theme.mermaid
18
21
  script(src=url_for(theme.cdn.mermaid_js))
19
22
 
@@ -106,6 +109,10 @@ div
106
109
  != item
107
110
 
108
111
  div#js-pjax
112
+ case config.lang
113
+ when 'en'
114
+ script.
115
+ utils.changeTimeFormat()
109
116
  if theme.mermaid
110
117
  script.
111
118
  mermaid.run();
@@ -78,7 +78,7 @@ script.
78
78
  )(window)
79
79
 
80
80
  console.log(
81
- "%c Program: Hexo %c Theme: Solitude %c Version: v1.5.4",
81
+ "%c Program: Hexo %c Theme: Solitude %c Version: v1.5.5",
82
82
  "border-radius:5px 0 0 5px;padding: 5px 10px;color:white;background:#ff3842;",
83
83
  "padding: 5px 10px;color:white;background:#3e9f50;",
84
84
  "border-radius:0 5px 5px 0;padding: 5px 10px;background:#0084ff;color:white;"
@@ -1,8 +1,6 @@
1
1
  .post-copyright
2
2
  .post-copyright__author_group
3
3
  a.post-copyright__author_img(href="/about/")
4
- if theme.post.default.copyright.author.enable
5
- img.post-copyright__author_img_back(src=theme.post.default.copyright.author.author_back)
6
4
  img.post-copyright__author_img_front(src=theme.site.icon)
7
5
  .post-copyright__author_name= config.title
8
6
  .post-copyright__author_desc= config.subtitle
package/layout/page.pug CHANGED
@@ -25,10 +25,6 @@ block content
25
25
  include includes/page/default
26
26
  when 'music'
27
27
  include includes/page/music
28
- when 'gallery'
29
- include includes/page/gallery
30
- when 'album'
31
- include includes/page/album
32
28
  default
33
29
  include includes/page/default
34
30
  if page.comment
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hexo-theme-solitude",
3
- "version": "1.5.4",
3
+ "version": "1.5.5",
4
4
  "description": "A beautiful, powerful, and efficient Hexo theme developed by the wleelw",
5
5
  "main": "package.json",
6
6
  "scripts": {
package/plugins.yml CHANGED
@@ -98,10 +98,6 @@ fancyapps_css:
98
98
  name: fancyapps-ui
99
99
  file: dist/fancybox/fancybox.min.css
100
100
  version: 5.0.33
101
- macy_js:
102
- name: macy
103
- file: dist/macy.min.js
104
- version: 2.5.1
105
101
  mermaid_js:
106
102
  name: mermaid
107
103
  file: dist/mermaid.min.js
@@ -83,7 +83,12 @@ hexo.extend.filter.register('before_generate', () => {
83
83
  name: 'hexo-theme-solitude',
84
84
  file: 'js/universe.min.js',
85
85
  version
86
- }
86
+ },
87
+ lately_js: {
88
+ name: 'hexo-theme-solitude',
89
+ file: 'js/lately.min.js',
90
+ version
91
+ },
87
92
  }
88
93
 
89
94
  const minFile = file => {
@@ -15,7 +15,7 @@ function btn(args) {
15
15
  option = option.trim();
16
16
 
17
17
  return `<button class="btn-sco ${option}" onclick="location.href = '${urlFor(url)}'"
18
- title="${text}">${icon.length ? `<i class="${icon}"></i>` : ""}${text.length ? `<span>${text}</span>` : ""}</button>`;
18
+ title="${text}">${icon.length ? `<i class="solitude ${icon}"></i>` : ""}${text.length ? `<span>${text}</span>` : ""}</button>`;
19
19
  }
20
20
 
21
21
  hexo.extend.tag.register("btn", btn, { ends: false });
@@ -1,7 +1,7 @@
1
1
  'use strict'
2
2
 
3
3
  function bilibili(args) {
4
- return `<iframe class="bvideo" src="${args}"></iframe>`
4
+ return `<iframe class="bvideo" width="100%" height="600" src="//player.bilibili.com/player.html?aid=1351697032&bvid=${args}&p=1" border="0" frameBorder="no" framespacing="0" allowFullScreen="true"></iframe>`
5
5
  }
6
6
 
7
- hexo.extend.tag.register('bilibili', bilibili, { ends: false })
7
+ hexo.extend.tag.register('bvideo', bilibili, {ends: false})
@@ -0,0 +1,54 @@
1
+ 'use strict';
2
+
3
+ function galleryGroup(args, content) {
4
+ const title = args[0];
5
+ const description = args[1];
6
+ const link = args[2];
7
+ const image = args[3];
8
+
9
+ return `<div class="gallery-item" onclick="pjax.loadUrl('/${link}/')">
10
+ <img class="cover" src="${image}" />
11
+ <span class="title">${title}</span>
12
+ <span class="desc">${description}</span>
13
+ </div>`;
14
+ }
15
+
16
+ const urlFor = require('hexo-util').url_for.bind(hexo)
17
+
18
+ const gallery = (args, content) => {
19
+ args = args.join(' ').split(',')
20
+ let button = false
21
+ let type = 'data'
22
+ let dataStr = ''
23
+
24
+ if (args[0] === 'url') {
25
+ [type, dataStr, button] = args // url,[link],[lazyload]
26
+ } else {
27
+ [button] = args // [lazyload]
28
+ const regex = /!\[(.*?)\]\(([^\s]*)\s*(?:["'](.*?)["']?)?\s*\)/g
29
+ let m
30
+ const arr = []
31
+ while ((m = regex.exec(content)) !== null) {
32
+ if (m.index === regex.lastIndex) {
33
+ regex.lastIndex++
34
+ }
35
+ arr.push({
36
+ url: m[2],
37
+ alt: m[1],
38
+ title: m[3]
39
+ })
40
+ }
41
+
42
+ dataStr = JSON.stringify(arr)
43
+ }
44
+
45
+ return `<div class="gallery-container" data-type="${type}" data-button="${button}">
46
+ <div class="gallery-data">${dataStr}</div>
47
+ <div class="gallery-items">
48
+ </div>
49
+ </div>`
50
+ }
51
+
52
+ hexo.extend.tag.register('gallery', gallery, {ends: true});
53
+
54
+ hexo.extend.tag.register('galleryGroup',galleryGroup, {ends: false});
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  hexo.extend.tag.register('image', function(args) {
4
- args = args.join(' ').split(', ');
4
+ args = args.join(' ').split(',');
5
5
  let url = args[0].trim();
6
6
  let alt = '';
7
7
  let bg = '';
@@ -1,17 +1,20 @@
1
1
  'use strict'
2
2
 
3
3
  function link(args) {
4
+ args = args.join(' ').split(',');
4
5
  let urlNoProtocol = args[2].replace(/^https?\:\/\//i, "");
5
6
  let imgUrl = "https://api.iowen.cn/favicon/" + urlNoProtocol + ".png";
6
- return `<a class="tag-Link" target="_blank" href="${args[2]}">
7
+ return `<a class="tag-link" target="_blank" href="${args[2]}">
7
8
  <div class="tag-link-tips">引用站外地址</div>
8
9
  <div class="tag-link-bottom">
9
- <div class="tag-link-left" style="background-image: url(${imgUrl});"></div>
10
+ <div class="tag-link-left" style="background-image: url(${imgUrl});">
11
+ <i class="solitude st-link-m-line"></i>
12
+ </div>
10
13
  <div class="tag-link-right">
11
14
  <div class="tag-link-title">${args[0]}</div>
12
15
  <div class="tag-link-sitename">${args[1]}</div>
13
16
  </div>
14
- <i class="fa-solid fa-angle-right"></i>
17
+ <i class="solitude st-arrow-right-bold"></i>
15
18
  </div>
16
19
  </a>`
17
20
  }
@@ -1,3 +1,9 @@
1
+ /**
2
+ * note.js
3
+ * transplant from hexo-theme-next
4
+ * modified by @efu
5
+ */
6
+
1
7
  hexo.extend.tag.register('note', function (types, content) {
2
8
  let type = ""
3
9
  for (let i = 0; i < types.length; i++) {
@@ -8,72 +8,6 @@
8
8
  -webkit-box-align stretch
9
9
  align-items stretch
10
10
 
11
- .gallery-item
12
- overflow hidden
13
- border var(--style-border-always)
14
- border-radius 12px
15
- position relative
16
- float left
17
- display flex
18
- height 250px
19
- width calc(100% / 3 - 16px)
20
- cursor pointer
21
- margin 8px
22
- +maxWidth1200()
23
- width calc(100% / 2 - 16px)
24
-
25
- +maxWidth768()
26
- width 100%
27
-
28
- &:hover
29
- .cover
30
- filter brightness(0.5) blur(2px)
31
- transition all .3s
32
-
33
- .title::after
34
- width 100%
35
- transition all .3s
36
-
37
- .desc
38
- left 10%
39
- transition left .35s
40
- text-wrap unset
41
-
42
- .cover
43
- width 100%
44
- object-fit cover
45
- transition all 0.3s
46
-
47
- .title
48
- position absolute
49
- top 10%
50
- left 10%
51
- font-weight 700
52
- font-size 32px
53
- color var(--efu-white)
54
-
55
- &::after
56
- top 55px
57
- width 0
58
- left 0
59
- height 3px
60
- background var(--efu-white)
61
- content ""
62
- border-radius 1px
63
- position absolute
64
- transition all .3s
65
-
66
- .desc
67
- position absolute
68
- top 35%
69
- left 100%
70
- width 80%
71
- color var(--efu-white)
72
- font-size 1.1em
73
- transition left .35s
74
- letter-spacing 1px
75
- text-wrap break-word
76
-
77
11
  #album
78
12
  margin 5px auto
79
13
 
@@ -264,8 +264,8 @@ div#banners
264
264
  .banner-button-text
265
265
  display none
266
266
 
267
- #page
268
- p
267
+
268
+ p
269
269
  a
270
270
  &:not(.headerlink)
271
271
  text-decoration none
@@ -1,5 +1,11 @@
1
1
  #article-container
2
2
  overflow-wrap break-word
3
+ +maxWidth768()
4
+ overflow hidden
5
+
6
+ iframe
7
+ border-radius 12px
8
+ margin 0 0 1rem
3
9
 
4
10
  a
5
11
  color var(--efu-fontcolor)
@@ -11,6 +17,7 @@
11
17
  text-decoration none
12
18
  color var(--efu-white)
13
19
  border-radius 4px
20
+ background var(--efu-main)
14
21
 
15
22
  .table-wrap
16
23
  margin 1rem 0
@@ -25,14 +25,6 @@
25
25
  border var(--style-border-always)
26
26
  box-shadow var(--efu-shadow-main)
27
27
 
28
- if hexo-config('post.default.copyright.author.enable')
29
- &:hover
30
- img.post-copyright__author_img_front
31
- transform scale(1) translateY(3px)
32
-
33
- img.post-copyright__author_img_back
34
- transform scale(.8)
35
-
36
28
  img
37
29
  width 100%
38
30
  height 100%
@@ -42,16 +34,6 @@
42
34
  bottom 0
43
35
  left 0
44
36
 
45
- if hexo-config('post.default.copyright.author.enable')
46
- &_back
47
- border-radius 66px
48
- z-index 10
49
-
50
- if hexo-config('post.default.copyright.author.enable')
51
- &_front
52
- z-index 20
53
- transform scale(1.2) translateY(6px)
54
-
55
37
  .post-copyright__author_name
56
38
  text-align center
57
39
  font-size 20px
@@ -1,60 +1,40 @@
1
1
  #article-container
2
- .btn-center
3
- margin: 0 0 20px
4
- text-align: center
5
-
6
2
  .btn-sco
7
3
  position relative
8
- transition all 0.3s ease-in-out
9
- padding-block 0.5rem
10
- padding-inline 1.25rem
11
- border-radius 20px
12
- margin 0 4px 6px
13
- font-weight bold
14
- border 1px solid var(--efu-main-op)
4
+ padding 8px 15px
5
+ text-transform uppercase
6
+ border var(--style-border)
7
+ border-radius 10px
15
8
  overflow hidden
16
- font-size 15px
17
-
18
- &:hover
19
- transform scale(1.05)
9
+ transition all 0.3s
10
+ display inline-flex
11
+ justify-content center
12
+ align-items center
20
13
 
21
- &:before
22
- animation shine 1.5s ease-out infinite
14
+ &.outline
15
+ background var(--efu-white)
16
+ color var(--efu-main)
17
+ border-color var(--efu-main)
23
18
 
24
- &.larger
25
- padding 8px 20px
26
- font-size 16px
19
+ &:hover
20
+ background var(--efu-main)
21
+ color var(--efu-white)
22
+ border-color var(--efu-main)
27
23
 
28
- &.block
29
- display block
30
- margin 0 0 20px
31
- width fit-content
24
+ i
25
+ transition all 0.3s
26
+ padding-right 8px
32
27
 
33
- &.center
34
- margin 0 auto 20px
28
+ span
29
+ transition all 0.3s
35
30
 
36
- &.right
37
- margin 0 0 20px auto
31
+ &:hover
32
+ background var(--efu-main)
38
33
 
39
- &::before
40
- content ""
41
- position absolute
42
- width 100px
43
- height 100%
44
- background-image linear-gradient(
45
- 120deg,
46
- rgba(255, 255, 255, 0) 30%,
47
- rgba(255, 255, 255, 0.8),
48
- rgba(255, 255, 255, 0) 70%
49
- )
50
- top 0
51
- left -100px
52
- opacity 0.6
34
+ span
35
+ transform all 0.3s ease-in-out
36
+ color var(--efu-white)
53
37
 
54
- @keyframes shine
55
- 0%
56
- left -100px
57
- 60%
58
- left 100%
59
- to
60
- left 100%
38
+ i
39
+ transform all 0.3s ease-in-out
40
+ color var(--efu-white)