@hefou/lum 0.0.0-stage → 1.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 (133) hide show
  1. package/License +21 -0
  2. package/components/Aside.vue +130 -0
  3. package/components/BoxCube.vue +89 -0
  4. package/components/Card.vue +111 -0
  5. package/components/CopyText.vue +214 -0
  6. package/components/Footer.vue +194 -0
  7. package/components/Links.vue +121 -0
  8. package/components/Notice.vue +85 -0
  9. package/components/Pill.vue +108 -0
  10. package/components/Underline.vue +22 -0
  11. package/components/common/Icon.vue +67 -0
  12. package/components/common/Image.vue +94 -0
  13. package/components/common/Link.vue +33 -0
  14. package/components/common/Svg.vue +28 -0
  15. package/components/common/index.ts +4 -0
  16. package/components/index.ts +9 -0
  17. package/composables/baiduAnalytics.ts +60 -0
  18. package/composables/googleAnalytics.ts +26 -0
  19. package/composables/index.ts +4 -0
  20. package/composables/umamiAnalytics.ts +49 -0
  21. package/composables/utils.ts +61 -0
  22. package/dist/cjs/_virtual/_plugin-vue_export-helper.cjs +1 -0
  23. package/dist/cjs/components/Aside.cjs +1 -0
  24. package/dist/cjs/components/Aside.vue_vue_type_script_setup_true_lang.cjs +1 -0
  25. package/dist/cjs/components/BoxCube.cjs +1 -0
  26. package/dist/cjs/components/BoxCube.vue_vue_type_script_setup_true_lang.cjs +1 -0
  27. package/dist/cjs/components/Card.cjs +1 -0
  28. package/dist/cjs/components/Card.vue_vue_type_script_setup_true_lang.cjs +1 -0
  29. package/dist/cjs/components/CopyText.cjs +1 -0
  30. package/dist/cjs/components/CopyText.vue_vue_type_script_setup_true_lang.cjs +1 -0
  31. package/dist/cjs/components/Footer.cjs +1 -0
  32. package/dist/cjs/components/Footer.vue_vue_type_script_setup_true_lang.cjs +1 -0
  33. package/dist/cjs/components/Links.cjs +1 -0
  34. package/dist/cjs/components/Links.vue_vue_type_script_setup_true_lang.cjs +1 -0
  35. package/dist/cjs/components/Notice.cjs +1 -0
  36. package/dist/cjs/components/Notice.vue_vue_type_script_setup_true_lang.cjs +1 -0
  37. package/dist/cjs/components/Pill.cjs +1 -0
  38. package/dist/cjs/components/Pill.vue_vue_type_script_setup_true_lang.cjs +1 -0
  39. package/dist/cjs/components/Underline.cjs +1 -0
  40. package/dist/cjs/components/Underline.vue_vue_type_script_setup_true_lang.cjs +1 -0
  41. package/dist/cjs/components/common/Icon.cjs +1 -0
  42. package/dist/cjs/components/common/Icon.vue_vue_type_script_setup_true_lang.cjs +1 -0
  43. package/dist/cjs/components/common/Image.cjs +1 -0
  44. package/dist/cjs/components/common/Image.vue_vue_type_script_setup_true_lang.cjs +1 -0
  45. package/dist/cjs/components/common/Link.cjs +1 -0
  46. package/dist/cjs/components/common/Link.vue_vue_type_script_setup_true_lang.cjs +1 -0
  47. package/dist/cjs/components/common/Svg.cjs +1 -0
  48. package/dist/cjs/composables/baiduAnalytics.cjs +1 -0
  49. package/dist/cjs/composables/googleAnalytics.cjs +1 -0
  50. package/dist/cjs/composables/umamiAnalytics.cjs +1 -0
  51. package/dist/cjs/composables/utils.cjs +1 -0
  52. package/dist/cjs/index.cjs +1 -0
  53. package/dist/cjs/lum.css +2 -0
  54. package/dist/cjs/node_modules/.pnpm/@iconify_vue@5.0.5_vue@3.5.45_typescript@5.9.3_/node_modules/@iconify/vue/dist/iconify.cjs +1 -0
  55. package/dist/cjs/node_modules/.pnpm/iconify-icon@3.0.5/node_modules/iconify-icon/dist/iconify-icon.cjs +1 -0
  56. package/dist/esm/_virtual/_plugin-vue_export-helper.js +7 -0
  57. package/dist/esm/components/Aside.js +6 -0
  58. package/dist/esm/components/Aside.vue_vue_type_script_setup_true_lang.js +85 -0
  59. package/dist/esm/components/BoxCube.js +6 -0
  60. package/dist/esm/components/BoxCube.vue_vue_type_script_setup_true_lang.js +45 -0
  61. package/dist/esm/components/Card.js +6 -0
  62. package/dist/esm/components/Card.vue_vue_type_script_setup_true_lang.js +50 -0
  63. package/dist/esm/components/CopyText.js +6 -0
  64. package/dist/esm/components/CopyText.vue_vue_type_script_setup_true_lang.js +63 -0
  65. package/dist/esm/components/Footer.js +6 -0
  66. package/dist/esm/components/Footer.vue_vue_type_script_setup_true_lang.js +170 -0
  67. package/dist/esm/components/Links.js +6 -0
  68. package/dist/esm/components/Links.vue_vue_type_script_setup_true_lang.js +59 -0
  69. package/dist/esm/components/Notice.js +6 -0
  70. package/dist/esm/components/Notice.vue_vue_type_script_setup_true_lang.js +61 -0
  71. package/dist/esm/components/Pill.js +6 -0
  72. package/dist/esm/components/Pill.vue_vue_type_script_setup_true_lang.js +51 -0
  73. package/dist/esm/components/Underline.js +6 -0
  74. package/dist/esm/components/Underline.vue_vue_type_script_setup_true_lang.js +13 -0
  75. package/dist/esm/components/common/Icon.js +4 -0
  76. package/dist/esm/components/common/Icon.vue_vue_type_script_setup_true_lang.js +53 -0
  77. package/dist/esm/components/common/Image.js +6 -0
  78. package/dist/esm/components/common/Image.vue_vue_type_script_setup_true_lang.js +79 -0
  79. package/dist/esm/components/common/Link.js +4 -0
  80. package/dist/esm/components/common/Link.vue_vue_type_script_setup_true_lang.js +36 -0
  81. package/dist/esm/components/common/Svg.js +19 -0
  82. package/dist/esm/composables/baiduAnalytics.js +23 -0
  83. package/dist/esm/composables/googleAnalytics.js +12 -0
  84. package/dist/esm/composables/umamiAnalytics.js +12 -0
  85. package/dist/esm/composables/utils.js +24 -0
  86. package/dist/esm/index.js +16 -0
  87. package/dist/esm/lum.css +2 -0
  88. package/dist/esm/node_modules/.pnpm/@iconify_vue@5.0.5_vue@3.5.45_typescript@5.9.3_/node_modules/@iconify/vue/dist/iconify.js +988 -0
  89. package/dist/esm/node_modules/.pnpm/iconify-icon@3.0.5/node_modules/iconify-icon/dist/iconify-icon.js +1209 -0
  90. package/dist/types/bump.config.d.ts +2 -0
  91. package/dist/types/changelogithub.config.d.ts +26 -0
  92. package/dist/types/components/Aside.vue.d.ts +7 -0
  93. package/dist/types/components/BoxCube.vue.d.ts +8 -0
  94. package/dist/types/components/Card.vue.d.ts +8 -0
  95. package/dist/types/components/CopyText.vue.d.ts +15 -0
  96. package/dist/types/components/Footer.vue.d.ts +7 -0
  97. package/dist/types/components/Links.vue.d.ts +8 -0
  98. package/dist/types/components/Notice.vue.d.ts +3 -0
  99. package/dist/types/components/Pill.vue.d.ts +13 -0
  100. package/dist/types/components/Underline.vue.d.ts +3 -0
  101. package/dist/types/components/common/Icon.vue.d.ts +9 -0
  102. package/dist/types/components/common/Image.vue.d.ts +8 -0
  103. package/dist/types/components/common/Link.vue.d.ts +23 -0
  104. package/dist/types/components/common/Svg.vue.d.ts +3 -0
  105. package/dist/types/components/common/index.d.ts +4 -0
  106. package/dist/types/components/index.d.ts +9 -0
  107. package/dist/types/composables/baiduAnalytics.d.ts +17 -0
  108. package/dist/types/composables/googleAnalytics.d.ts +12 -0
  109. package/dist/types/composables/index.d.ts +4 -0
  110. package/dist/types/composables/umamiAnalytics.d.ts +13 -0
  111. package/dist/types/composables/utils.d.ts +30 -0
  112. package/dist/types/types/index.d.ts +5 -0
  113. package/dist/types/types/types.d.ts +313 -0
  114. package/dist/types/vite.config.d.ts +2 -0
  115. package/package.json +131 -3
  116. package/readme.md +39 -0
  117. package/style/all.css +9 -0
  118. package/style/badge.css +21 -0
  119. package/style/button.css +48 -0
  120. package/style/colors.css +59 -0
  121. package/style/components-var.css +173 -0
  122. package/style/doc-blocks.css +136 -0
  123. package/style/doc.css +17 -0
  124. package/style/home.css +34 -0
  125. package/style/icon.css +11 -0
  126. package/style/picture.css +40 -0
  127. package/tsconfig.json +17 -0
  128. package/types/index.d.ts +3 -0
  129. package/types/index.ts +6 -0
  130. package/types/shims.d.ts +36 -0
  131. package/types/style.d.ts +10 -0
  132. package/types/types.ts +318 -0
  133. package/README.md +0 -3
package/package.json CHANGED
@@ -1,6 +1,134 @@
1
1
  {
2
2
  "name": "@hefou/lum",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
3
+ "version": "1.0.1",
4
+ "description": "专为 VitePress 打造的主题美化与 Vue 扩展组件库",
5
+ "keywords": [
6
+ "css",
7
+ "vue",
8
+ "vite",
9
+ "typescript",
10
+ "vitepress",
11
+ "vitepress-plugin",
12
+ "vitepress-theme",
13
+ "vitepress-ui",
14
+ "iconify",
15
+ "iconify-icon",
16
+ "tools",
17
+ "hefou",
18
+ "@hefou/lum",
19
+ "vitepress-enhance"
20
+ ],
21
+ "homepage": "https://hefou.github.io/",
22
+ "bugs": {
23
+ "url": "hhttps://github.com/hefou/vpt/issues"
24
+ },
25
+ "repository": {
26
+ "type": "git",
27
+ "url": "https://github.com/hefou/vpt.git",
28
+ "directory": "packages/lum"
29
+ },
30
+ "license": "MIT",
31
+ "author": "Theo",
32
+ "type": "module",
33
+ "exports": {
34
+ ".": {
35
+ "types": "./types/index.d.ts",
36
+ "import": "./types/index.ts"
37
+ },
38
+ "./style": {
39
+ "types": "./types/style.d.ts",
40
+ "import": "./style/all.css",
41
+ "default": "./style/all.css"
42
+ },
43
+ "./icon": {
44
+ "types": "./types/style.d.ts",
45
+ "import": "./style/icon.css",
46
+ "default": "./style/icon.css"
47
+ },
48
+ "./button": {
49
+ "types": "./types/style.d.ts",
50
+ "import": "./style/button.css",
51
+ "default": "./style/button.css"
52
+ },
53
+ "./colors": {
54
+ "types": "./types/style.d.ts",
55
+ "import": "./style/colors.css",
56
+ "default": "./style/colors.css"
57
+ },
58
+ "./doc": {
59
+ "types": "./types/style.d.ts",
60
+ "import": "./style/doc.css",
61
+ "default": "./style/doc.css"
62
+ },
63
+ "./doc-blocks": {
64
+ "types": "./types/style.d.ts",
65
+ "import": "./style/doc-blocks.css",
66
+ "default": "./style/doc-blocks.css"
67
+ },
68
+ "./home": {
69
+ "types": "./types/style.d.ts",
70
+ "import": "./style/home.css",
71
+ "default": "./style/home.css"
72
+ },
73
+ "./pic": {
74
+ "types": "./types/style.d.ts",
75
+ "import": "./style/picture.css",
76
+ "default": "./style/picture.css"
77
+ },
78
+ "./badge": {
79
+ "types": "./types/style.d.ts",
80
+ "import": "./style/badge.css",
81
+ "default": "./style/badge.css"
82
+ },
83
+ "./components-var": {
84
+ "types": "./types/style.d.ts",
85
+ "import": "./style/components-var.css",
86
+ "default": "./style/components-var.css"
87
+ },
88
+ "./package.json": "./package.json"
89
+ },
90
+ "main": "./dist/cjs/index.cjs",
91
+ "module": "./dist/esm/index.js",
92
+ "types": "./dist/types/index.d.ts",
93
+ "style": "./dist/esm/dux.css",
94
+ "sideEffects": [
95
+ "./types/index.ts",
96
+ "**/*.css"
97
+ ],
98
+ "files": [
99
+ "dist",
100
+ "style/",
101
+ "types/",
102
+ "components/",
103
+ "composables/",
104
+ "tsconfig.json",
105
+ "readme.md",
106
+ "License"
107
+ ],
108
+ "dependencies": {
109
+ "@iconify/vue": "^5.0.5",
110
+ "iconify-icon": "^3.0.5",
111
+ "vite": "^8.3.7",
112
+ "vite-plugin-dts": "^5.1.2",
113
+ "@vitejs/plugin-vue": "^6.0.10",
114
+ "rimraf": "^6.1.4",
115
+ "vue-tsc": "^3.3.14"
116
+ },
117
+ "peerDependencies": {
118
+ "vitepress": "^1.6.4 || >=2.0.0-alpha.18 <3.0.0",
119
+ "vue": "^3.5.44"
120
+ },
121
+ "devDependencies": {
122
+ "bumpp": "^12.3.0",
123
+ "typescript": "^5.9.3",
124
+ "vitepress": "^2.0.0-alpha.21",
125
+ "vue": "^3.5.45"
126
+ },
127
+ "scripts": {
128
+ "clean": "rimraf dist",
129
+ "build": "pnpm run clean && vite build && (vue-tsc --declaration --emitDeclarationOnly --outDir dist/types || true)",
130
+ "build:watch": "vite build --watch",
131
+ "dev": "pnpm run build:watch",
132
+ "release": "bumpp"
133
+ }
6
134
  }
package/readme.md ADDED
@@ -0,0 +1,39 @@
1
+ # @hefou/lum
2
+
3
+ <div align="center">
4
+ <p>
5
+ <img src="https://i.theojs.net/logo/lumen-logo-large.svg" width="300" alt="@hefou/lum" />
6
+ </p>
7
+ <p>
8
+ <img
9
+ src="https://img.shields.io/npm/v/@hefou/lum?style=flat-square&colorA=080f12&colorB=1fa669"
10
+ alt="release"
11
+ />
12
+ <img
13
+ src="https://img.shields.io/npm/dm/@hefou/lum?style=flat-square&colorA=080f12&colorB=1fa669"
14
+ alt="downloads"
15
+ />
16
+ <img
17
+ src="https://img.shields.io/npm/l/@hefou/lum?style=flat-square&colorA=080f12&colorB=1fa669"
18
+ alt="license"
19
+ />
20
+ </p>
21
+ <p>
22
+ <a href="https://hefou.github.io/">演示站点</a> |
23
+ <a href="https://hefou.github.io">查看文档</a>
24
+ </p>
25
+ </div>
26
+
27
+ ## 安装
28
+
29
+ ```sh [pnpm]
30
+ pnpm add @hefou/lum
31
+ ```
32
+
33
+ ```sh [npm]
34
+ npm install @hefou/lum
35
+ ```
36
+
37
+ ```sh [yarn]
38
+ yarn add @hefou/lum
39
+ ```
package/style/all.css ADDED
@@ -0,0 +1,9 @@
1
+ @import './icon.css';
2
+ @import './button.css';
3
+ @import './colors.css';
4
+ @import './doc-blocks.css';
5
+ @import './doc.css';
6
+ @import './home.css';
7
+ @import './picture.css';
8
+ @import './badge.css';
9
+ @import './components-var.css';
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Component: Badge
3
+ * -------------------------------------------------------------------------- */
4
+
5
+ :root {
6
+ --vp-badge-info-border: transparent;
7
+ --vp-badge-info-text: var(--vp-c-text-1);
8
+ --vp-badge-info-bg: var(--vp-c-default-soft);
9
+
10
+ --vp-badge-tip-border: transparent;
11
+ --vp-badge-tip-text: var(--vp-c-green-1);
12
+ --vp-badge-tip-bg: var(--vp-c-green-soft);
13
+
14
+ --vp-badge-warning-border: transparent;
15
+ --vp-badge-warning-text: var(--vp-c-warning-1);
16
+ --vp-badge-warning-bg: var(--vp-c-warning-soft);
17
+
18
+ --vp-badge-danger-border: transparent;
19
+ --vp-badge-danger-text: var(--vp-c-danger-1);
20
+ --vp-badge-danger-bg: var(--vp-c-danger-soft);
21
+ }
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Component: Button
3
+ * -------------------------------------------------------------------------- */
4
+
5
+ :root {
6
+ --vp-button-brand-border: var(--lm-c-yellow-1);
7
+ --vp-button-brand-text: var(--lm-c-black);
8
+ --vp-button-brand-bg: var(--lm-c-yellow-1);
9
+ --vp-button-brand-hover-border: var(--lm-c-yellow-2);
10
+ --vp-button-brand-hover-text: var(--lm-c-black-darker);
11
+ --vp-button-brand-hover-bg: var(--lm-c-yellow-2);
12
+ --vp-button-brand-active-border: var(--lm-c-yellow-soft);
13
+ --vp-button-brand-active-text: var(--lm-c-black-darker);
14
+ --vp-button-brand-active-bg: var(--vp-button-brand-bg);
15
+
16
+ --vp-button-sponsor-border: var(--vp-c-sponsor);
17
+ --vp-button-sponsor-text: var(--lm-c-white-dark);
18
+ --vp-button-sponsor-bg: var(--vp-c-sponsor);
19
+ --vp-button-sponsor-hover-border: var(--vp-c-sponsor);
20
+ --vp-button-sponsor-hover-text: var(--lm-c-white-dark);
21
+ --vp-button-sponsor-hover-bg: var(--vp-c-sponsor);
22
+ --vp-button-sponsor-active-border: var(--vp-c-sponsor);
23
+ --vp-button-sponsor-active-text: var(--lm-c-black-darker);
24
+ --vp-button-sponsor-active-bg: var(--vp-c-sponsor);
25
+ }
26
+
27
+ .VPButton.medium {
28
+ border-radius: 12px !important;
29
+ }
30
+
31
+ .VPButton.logo::before,
32
+ .VPButton.author::before {
33
+ display: inline-block;
34
+ transform: translateY(7px);
35
+ margin-right: 0.5em;
36
+ background: no-repeat center / 24px;
37
+ width: 24px;
38
+ height: 24px;
39
+ content: '';
40
+ }
41
+
42
+ .VPButton.author::before {
43
+ background-image: var(--lm-button-author);
44
+ }
45
+
46
+ .VPButton.logo::before {
47
+ background-image: var(--lm-button-logo);
48
+ }
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Colors
3
+ * -------------------------------------------------------------------------- */
4
+
5
+ :root {
6
+ --lm-c-yellow-1: rgba(255, 216, 89, 1);
7
+ --lm-c-yellow-2: rgba(255, 216, 89, 0.9);
8
+ --lm-c-yellow-3: rgba(255, 216, 89, 0.8);
9
+ --lm-c-yellow-soft: rgba(255, 216, 89, 0.16);
10
+
11
+ --lm-c-white-dark: rgba(248, 248, 248, 1);
12
+ --lm-c-black-darker: rgba(13, 18, 27, 1);
13
+ --lm-c-black: rgba(17, 24, 39, 1);
14
+
15
+ --lm-c-green-1: rgba(61, 214, 140, 1);
16
+ --lm-c-green-2: rgba(61, 214, 140, 0.9);
17
+ --lm-c-green-3: rgba(61, 214, 140, 0.8);
18
+ --lm-c-green-soft: rgba(61, 214, 140, 0.16);
19
+
20
+ --vp-c-brand-1: var(--vp-c-green-1);
21
+ --vp-c-brand-2: var(--vp-c-green-2);
22
+ --vp-c-brand-3: var(--vp-c-green-3);
23
+ --vp-c-brand-soft: var(--vp-c-green-soft);
24
+
25
+ --lm-c-text-dark-1: rgba(217, 230, 235, 1);
26
+ --lm-c-text-light-1: rgba(44, 62, 80, 1);
27
+
28
+ --vp-c-brand-text: var(--lm-c-text-light-1);
29
+ --vp-c-bg-alt: rgba(246, 246, 247, 1);
30
+ }
31
+
32
+ .dark {
33
+ --vp-c-brand-1: var(--lm-c-yellow-1);
34
+ --vp-c-brand-2: var(--lm-c-yellow-2);
35
+ --vp-c-brand-3: var(--lm-c-yellow-3);
36
+ --vp-c-brand-soft: var(--lm-c-yellow-soft);
37
+
38
+ --vp-c-text-1: var(--lm-c-text-dark-1);
39
+ --vp-c-brand-text: var(--lm-c-text-light-1);
40
+
41
+ --vp-c-bg: var(--lm-c-black);
42
+ --vp-c-bg-soft: rgba(22, 31, 50, 1);
43
+ --vp-c-bg-alt: rgba(13, 18, 27, 1);
44
+ --vp-c-bg-elv: var(--vp-c-bg-soft);
45
+ }
46
+
47
+ /* style the promo information */
48
+ .promo-text {
49
+ color: var(--lm-promo-text-color);
50
+ font-weight: var(--lm-promo-text-weight);
51
+ }
52
+
53
+ .promo-title {
54
+ background-image: var(--lm-promo-title-bg);
55
+ background-clip: text;
56
+ -webkit-background-clip: text;
57
+ -webkit-text-fill-color: var(--lm-promo-title-color);
58
+ font-weight: var(--lm-promo-title-weight);
59
+ }
@@ -0,0 +1,173 @@
1
+ :root {
2
+ /**
3
+ * Default
4
+ * -------------------------------------------------------------------------- */
5
+
6
+ --iconify-defColor: var(--vp-c-text-2);
7
+ --component-bg: var(--vp-c-bg-alt);
8
+ --imr: 0.25em;
9
+ --promo-text-color: var(--vp-c-brand-1);
10
+ --promo-text-weight: bold;
11
+ --promo-title-bg: var(--Aside-promo);
12
+ --promo-title-color: transparent;
13
+ --promo-title-weight: 600;
14
+
15
+ /**
16
+ * Component: Notice
17
+ * -------------------------------------------------------------------------- */
18
+ --Notice-bg: var(--vp-button-alt-bg);
19
+ --Notice-border: transparent;
20
+ --Notice-data: var(--vp-c-brand-1);
21
+ --Notice-bg-hover: var(--vp-button-alt-bg);
22
+ --Notice-border-hover: var(--vp-c-brand-1);
23
+ --Notice-transform-hover: none;
24
+ --Notice-transform-active: none;
25
+
26
+ /**
27
+ * Component: Aside
28
+ * -------------------------------------------------------------------------- */
29
+
30
+ --Aside-bg: var(--component-bg);
31
+ --Aside-border: transparent;
32
+ --Aside-name: -webkit-linear-gradient(225deg, var(--vp-c-brand-1), var(--vp-c-brand-3), var(--vp-c-brand-1));
33
+ --Aside-name-color: transparent;
34
+ --Aside-promo: -webkit-linear-gradient(
35
+ 225deg,
36
+ rgba(100, 108, 255, 1),
37
+ rgba(176, 71, 255, 1),
38
+ rgba(100, 108, 255, 1)
39
+ );
40
+ --Aside-promo-color: transparent;
41
+ --Aside-hide: var(--vp-c-text-2);
42
+ --Aside-info: var(--vp-c-text-2);
43
+ --Aside-name-bg-hover: var(--component-bg);
44
+ --Aside-name-border-hover: var(--vp-c-brand-1);
45
+ --Aside-promo-bg-hover: var(--component-bg);
46
+ --Aside-promo-border-hover: rgba(100, 108, 255, 1);
47
+ --Aside-transform-hover: none;
48
+ --Aside-transform-active: none;
49
+
50
+ /**
51
+ * Component: BoxCube
52
+ * -------------------------------------------------------------------------- */
53
+
54
+ --Boxcube-bg: var(--component-bg);
55
+ --Boxcube-border: transparent;
56
+ --Boxcube-name: var(--vp-c-brand-1);
57
+ --Boxcube-bg-hover: var(--component-bg);
58
+ --Boxcube-border-hover: var(--vp-c-brand-1);
59
+ --Boxcube-name-hover: var(--vp-c-brand-2);
60
+ --Boxcube-boxshadow-hover: none;
61
+ --Boxcube-transform-hover: none;
62
+ --Boxcube-transform-active: none;
63
+
64
+ /**
65
+ * Component: Links
66
+ * -------------------------------------------------------------------------- */
67
+
68
+ --Links-bg: var(--component-bg);
69
+ --Links-border: transparent;
70
+ --Links-name: var(--vp-c-brand-1);
71
+ --Links-desc: var(--vp-c-text-2);
72
+ --Links-bg-hover: var(--component-bg);
73
+ --Links-border-hover: var(--vp-c-brand-1);
74
+ --Links-name-hover: var(--vp-c-brand-2);
75
+ --Links-boxshadow-hover: none;
76
+ --Links-transform-hover: none;
77
+ --Links-transform-active: none;
78
+
79
+ /**
80
+ * Component: Card
81
+ * -------------------------------------------------------------------------- */
82
+
83
+ --Card-bg: var(--component-bg);
84
+ --Card-border: transparent;
85
+ --Card-name: var(--vp-c-brand-1);
86
+ --Card-desc: var(--vp-c-text-2);
87
+ --Card-bg-hover: var(--component-bg);
88
+ --Card-border-hover: var(--vp-c-brand-1);
89
+ --Card-name-hover: var(--vp-c-brand-2);
90
+ --Card-boxshadow-hover: none;
91
+ --Card-transform-hover: none;
92
+ --Card-transform-active: none;
93
+
94
+ /**
95
+ * Component: CopyText
96
+ * -------------------------------------------------------------------------- */
97
+
98
+ --CopyText-border: transparent;
99
+ --CopyText-auto-bg: var(--vp-code-bg);
100
+ --CopyText-auto-color: var(--vp-c-brand-1);
101
+ --CopyText-auto-bg-hover: var(--vp-c-brand-soft);
102
+ --CopyText-auto-border-hover: transparent;
103
+ --CopyText-info-bg: var(--vp-code-bg);
104
+ --CopyText-info-color: var(--vp-c-text-1);
105
+ --CopyText-info-bg-hover: var(--vp-code-bg);
106
+ --CopyText-info-border-hover: transparent;
107
+ --CopyText-tip-bg: var(--vp-c-green-soft);
108
+ --CopyText-tip-color: var(--vp-c-green-1);
109
+ --CopyText-tip-bg-hover: var(--vp-c-green-soft);
110
+ --CopyText-tip-border-hover: transparent;
111
+ --CopyText-warning-bg: var(--vp-c-warning-soft);
112
+ --CopyText-warning-color: var(--vp-c-warning-1);
113
+ --CopyText-warning-bg-hover: var(--vp-c-warning-soft);
114
+ --CopyText-warning-border-hover: transparent;
115
+ --CopyText-danger-bg: var(--vp-c-danger-soft);
116
+ --CopyText-danger-color: var(--vp-c-danger-1);
117
+ --CopyText-danger-bg-hover: var(--vp-c-danger-soft);
118
+ --CopyText-danger-border-hover: transparent;
119
+
120
+ /**
121
+ * Component: Pill
122
+ * -------------------------------------------------------------------------- */
123
+
124
+ --Pill-bg: var(--vp-code-bg);
125
+ --Pill-border: transparent;
126
+ --Pill-name: var(--vp-c-brand-1);
127
+ --Pill-bg-hover: var(--vp-code-bg);
128
+ --Pill-border-hover: var(--vp-c-brand-1);
129
+ --Pill-name-hover: var(--vp-c-brand-2);
130
+ --Pill-boxshadow-hover: none;
131
+ --Pill-transform-hover: none;
132
+ --Pill-transform-active: none;
133
+
134
+ /**
135
+ * Component: Footer
136
+ * -------------------------------------------------------------------------- */
137
+
138
+ --Footer-bg: var(--component-bg);
139
+ --Footer-link-hover: var(--vp-c-brand-1);
140
+
141
+ /**
142
+ * Component: Underline
143
+ * -------------------------------------------------------------------------- */
144
+
145
+ --Underline-bg: var(--vp-c-brand-1);
146
+
147
+ /**
148
+ * button
149
+ * -------------------------------------------------------------------------- */
150
+
151
+ --button-author: url('https://hefung.github.io/logo.svg');
152
+ --button-logo: url('https://hefung.github.io/logo.svg');
153
+ }
154
+
155
+ .dark {
156
+ /**
157
+ * Default
158
+ * -------------------------------------------------------------------------- */
159
+
160
+ --promo-title-bg: var(--Aside-promo);
161
+ --promo-title-color: transparent;
162
+
163
+ /**
164
+ * Component: Aside
165
+ * -------------------------------------------------------------------------- */
166
+ --Aside-promo: -webkit-linear-gradient(
167
+ 225deg,
168
+ rgba(120, 200, 255, 1),
169
+ rgba(255, 130, 255, 1),
170
+ rgba(120, 200, 255, 1)
171
+ );
172
+ --Aside-name-color: transparent;
173
+ }
@@ -0,0 +1,136 @@
1
+ /**
2
+ * Component: doc-blocks
3
+ * -------------------------------------------------------------------------- */
4
+
5
+ .vp-doc .custom-block {
6
+ position: relative;
7
+ border-left: 6px solid;
8
+ }
9
+
10
+ .vp-doc .custom-block .custom-block-title {
11
+ padding-left: 1.25em;
12
+ }
13
+
14
+ .vp-doc .custom-block::before {
15
+ display: inline-block;
16
+ position: absolute;
17
+ transform: translate(-20%, 20%);
18
+ -webkit-mask-image: var(--svg);
19
+ mask-image: var(--svg);
20
+ -webkit-mask-size: 100% 100%;
21
+ mask-size: 100% 100%;
22
+ -webkit-mask-repeat: no-repeat;
23
+ mask-repeat: no-repeat;
24
+ background-color: currentColor;
25
+ width: 1.2em;
26
+ height: 1.2em;
27
+ content: '';
28
+ }
29
+
30
+ /* info,note */
31
+ .vp-doc .custom-block.info,
32
+ .vp-doc .custom-block.note {
33
+ --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10s10-4.48 10-10S17.52 2 12 2m0 15c-.55 0-1-.45-1-1v-4c0-.55.45-1 1-1s1 .45 1 1v4c0 .55-.45 1-1 1m1-8h-2V7h2z'/%3E%3C/svg%3E");
34
+ border-left-color: var(--vp-c-text-2);
35
+ color: var(--vp-c-text-2);
36
+ }
37
+
38
+ .vp-doc .custom-block.info .custom-block-title,
39
+ .vp-doc .custom-block.info::before,
40
+ .vp-doc .custom-block.note .custom-block-title,
41
+ .vp-doc .custom-block.note::before {
42
+ color: var(--vp-c-text-1);
43
+ }
44
+
45
+ /* tip */
46
+ .vp-doc .custom-block.tip {
47
+ --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10s10-4.48 10-10S17.52 2 12 2m0 15c-.55 0-1-.45-1-1v-4c0-.55.45-1 1-1s1 .45 1 1v4c0 .55-.45 1-1 1m1-8h-2V7h2z'/%3E%3C/svg%3E");
48
+ border-left-color: var(--vp-c-green-1);
49
+ background-color: var(--vp-c-green-soft);
50
+ color: var(--vp-c-green-2);
51
+ }
52
+
53
+ .vp-doc .custom-block.tip .custom-block-title,
54
+ .vp-doc .custom-block.tip::before {
55
+ color: var(--vp-c-green-1);
56
+ }
57
+
58
+ .vp-doc .custom-block.tip code {
59
+ background-color: var(--vp-c-green-soft);
60
+ color: var(--vp-c-green-1);
61
+ }
62
+
63
+ .vp-doc .custom-block.tip a {
64
+ color: var(--vp-c-green-1);
65
+ }
66
+
67
+ /* warning */
68
+ .vp-doc .custom-block.warning {
69
+ --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M4.47 21h15.06c1.54 0 2.5-1.67 1.73-3L13.73 4.99c-.77-1.33-2.69-1.33-3.46 0L2.74 18c-.77 1.33.19 3 1.73 3M12 14c-.55 0-1-.45-1-1v-2c0-.55.45-1 1-1s1 .45 1 1v2c0 .55-.45 1-1 1m1 4h-2v-2h2z'/%3E%3C/svg%3E");
70
+ border-left-color: var(--vp-c-warning-1);
71
+ color: var(--vp-c-warning-2);
72
+ }
73
+
74
+ .vp-doc .custom-block.warning .custom-block-title,
75
+ .vp-doc .custom-block.warning::before {
76
+ color: var(--vp-c-warning-1);
77
+ }
78
+
79
+ /* caution,danger */
80
+ .vp-doc .custom-block.caution,
81
+ .vp-doc .custom-block.danger {
82
+ --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M4.47 21h15.06c1.54 0 2.5-1.67 1.73-3L13.73 4.99c-.77-1.33-2.69-1.33-3.46 0L2.74 18c-.77 1.33.19 3 1.73 3M12 14c-.55 0-1-.45-1-1v-2c0-.55.45-1 1-1s1 .45 1 1v2c0 .55-.45 1-1 1m1 4h-2v-2h2z'/%3E%3C/svg%3E");
83
+ border-left-color: var(--vp-c-danger-1);
84
+ color: var(--vp-c-danger-2);
85
+ }
86
+
87
+ .vp-doc .custom-block.caution .custom-block-title,
88
+ .vp-doc .custom-block.caution::before,
89
+ .vp-doc .custom-block.danger .custom-block-title,
90
+ .vp-doc .custom-block.danger::before {
91
+ color: var(--vp-c-danger-1);
92
+ }
93
+
94
+ /* important */
95
+ .vp-doc .custom-block.important {
96
+ --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10s10-4.48 10-10S17.52 2 12 2m0 15c-.55 0-1-.45-1-1v-4c0-.55.45-1 1-1s1 .45 1 1v4c0 .55-.45 1-1 1m1-8h-2V7h2z'/%3E%3C/svg%3E");
97
+ border-left-color: var(--vp-c-important-1);
98
+ color: var(--vp-c-important-2);
99
+ }
100
+
101
+ .vp-doc .custom-block.important .custom-block-title,
102
+ .vp-doc .custom-block.important::before {
103
+ color: var(--vp-c-important-1);
104
+ }
105
+
106
+ /* details */
107
+ .vp-doc .custom-block.details {
108
+ border: 0;
109
+ }
110
+
111
+ .vp-doc .custom-block.details::before {
112
+ display: none;
113
+ }
114
+
115
+ .vp-doc .custom-block.details p,
116
+ .vp-doc .custom-block.details li,
117
+ .vp-doc .custom-block.details ol {
118
+ color: var(--vp-c-text-2);
119
+ }
120
+
121
+ /* blockquote */
122
+ .vp-doc blockquote {
123
+ position: relative;
124
+ transition: border-color 0.5s;
125
+ border-left: 6px solid var(--vp-c-text-3);
126
+ border-radius: 0.5em;
127
+ background-color: var(--vp-c-bg-soft);
128
+ padding: 0.25em 0 0.25em 1em;
129
+ color: var(--vp-c-text-3);
130
+ }
131
+
132
+ .vp-doc blockquote > p,
133
+ .vp-doc blockquote > ul,
134
+ .vp-doc blockquote > ol {
135
+ font-size: var(--vp-custom-block-font-size);
136
+ }
package/style/doc.css ADDED
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Component: doc
3
+ * -------------------------------------------------------------------------- */
4
+
5
+ .vp-doc a {
6
+ text-underline-offset: 4px;
7
+ }
8
+
9
+ .vp-doc a:has(.VPBadge)::after {
10
+ display: none !important;
11
+ }
12
+
13
+ /* @mdit/plugin-footnote: https://mdit-plugins.github.io/zh/footnote.html */
14
+ .vp-doc sup a,
15
+ .vp-doc a.footnote-backref {
16
+ text-decoration: none;
17
+ }
package/style/home.css ADDED
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Component: Home
3
+ * -------------------------------------------------------------------------- */
4
+
5
+ :root {
6
+ --vp-home-hero-name-color: transparent;
7
+ --vp-home-hero-name-background: -webkit-linear-gradient(225deg, var(--c-yellow-2) 30%, var(--c-green-1));
8
+ --vp-home-hero-image-background-image: -webkit-linear-gradient(
9
+ -45deg,
10
+ var(--c-yellow-2) 50%,
11
+ var(--c-green-1) 50%
12
+ );
13
+ --vp-home-hero-image-filter: blur(44px);
14
+ }
15
+
16
+ @media (min-width: 640px) {
17
+ :root {
18
+ --vp-home-hero-image-filter: blur(56px);
19
+ }
20
+ }
21
+
22
+ @media (min-width: 960px) {
23
+ :root {
24
+ --vp-home-hero-image-filter: blur(68px);
25
+ }
26
+ }
27
+
28
+ .dark {
29
+ --vp-home-hero-name-background: -webkit-linear-gradient(45deg, var(--c-yellow-2) 30%, var(--c-green-1));
30
+ }
31
+
32
+ .VPHero .VPImage {
33
+ filter: drop-shadow(-2px 4px 6px rgba(0, 0, 0, 0.2));
34
+ }
package/style/icon.css ADDED
@@ -0,0 +1,11 @@
1
+ iconify-icon {
2
+ display: inline-block;
3
+ vertical-align: -0.125em;
4
+ width: 1em;
5
+ height: 1em;
6
+ }
7
+
8
+ /* right margin for Iconify */
9
+ .i-mr {
10
+ margin-right: var(--imr);
11
+ }