@zeldafox/vue-tailwind-theme-kit 1.0.0 → 1.1.0
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.
- package/README.md +53 -6
- package/dist/index.es.js +3734 -107
- package/dist/index.umd.js +1 -1
- package/package.json +9 -5
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
## 特性
|
|
6
6
|
|
|
7
|
-
* 🎨 **动态全套主题切换**:内置包含 `theme`(默认样式)、`claude`、`twitter`
|
|
7
|
+
* 🎨 **动态全套主题切换**:内置包含 `theme`(默认样式)、`claude`、`twitter`、`vercel` 以及包括 `amber_minimal`、`catppuccin`、`cyberpunk` 等在内的 40+ 套精美预设。
|
|
8
8
|
* 🌓 **全属性映射**:通过 Tailwind CSS 预设自动扩展 `colors`(如 `background`、`foreground`、`primary`、`secondary`、`card`、`sidebar`、`muted` 等)、`borderRadius`、`fontFamily` 变量。
|
|
9
9
|
* 🌓 **暗色模式切换**:支持手动切换、显式设置以及自动跟随系统偏好(`prefers-color-scheme`)。
|
|
10
10
|
* ⚡ **SSR 安全设计**:使用 Vue `provide` / `inject` 进行应用级状态隔离,完全规避多请求下的跨请求状态污染,对 Nuxt 3 友好。
|
|
@@ -16,6 +16,8 @@
|
|
|
16
16
|
## 安装
|
|
17
17
|
|
|
18
18
|
```bash
|
|
19
|
+
pnpm add @zeldafox/vue-tailwind-theme-kit
|
|
20
|
+
# 或
|
|
19
21
|
npm install @zeldafox/vue-tailwind-theme-kit
|
|
20
22
|
```
|
|
21
23
|
|
|
@@ -54,7 +56,7 @@ import './assets/main.css';
|
|
|
54
56
|
const app = createApp(App);
|
|
55
57
|
|
|
56
58
|
app.use(themePlugin, {
|
|
57
|
-
defaultTheme: 'theme', //
|
|
59
|
+
defaultTheme: 'theme', // 默认内置主题,支持 theme、claude、twitter、vercel 等 40+ 种内置主题
|
|
58
60
|
// defaultDark: false, // 是否默认启用暗色模式。若不填则自动感应系统深浅色偏好
|
|
59
61
|
});
|
|
60
62
|
|
|
@@ -218,20 +220,65 @@ app.use(themePlugin, {
|
|
|
218
220
|
|
|
219
221
|
---
|
|
220
222
|
|
|
221
|
-
##
|
|
223
|
+
## 开发、构建与发布
|
|
224
|
+
|
|
225
|
+
### 1. 本地开发与构建
|
|
222
226
|
|
|
223
227
|
1. 安装依赖:
|
|
224
228
|
```bash
|
|
225
|
-
|
|
229
|
+
pnpm install
|
|
230
|
+
```
|
|
231
|
+
2. 运行本地开发与预览服务器:
|
|
232
|
+
```bash
|
|
233
|
+
pnpm dev
|
|
226
234
|
```
|
|
227
|
-
|
|
235
|
+
3. 执行编译:
|
|
228
236
|
```bash
|
|
229
|
-
|
|
237
|
+
pnpm build
|
|
230
238
|
```
|
|
231
239
|
该指令将使用 Vite 打包并将包编译生成到 `dist/` 文件夹下,包含 `index.es.js`, `index.umd.js` 以及 TypeScript 定义文件 `index.d.ts`。
|
|
232
240
|
|
|
233
241
|
---
|
|
234
242
|
|
|
243
|
+
### 2. 发布到 NPM
|
|
244
|
+
|
|
245
|
+
#### 方案 A:普通账户密码/OTP 验证发布
|
|
246
|
+
|
|
247
|
+
1. **配置官方源**:确保本地使用的是 NPM 官方源(避免使用淘宝等镜像源):
|
|
248
|
+
```bash
|
|
249
|
+
npm config set registry https://registry.npmjs.org/
|
|
250
|
+
```
|
|
251
|
+
2. **登录 NPM 账号**:
|
|
252
|
+
```bash
|
|
253
|
+
npm login
|
|
254
|
+
```
|
|
255
|
+
3. **发布公开 Scoped 包**:
|
|
256
|
+
```bash
|
|
257
|
+
npm publish --access public
|
|
258
|
+
```
|
|
259
|
+
*(如果账户配置了 2FA,终端会提示输入一次性验证码 OTP,或者可以通过 `--otp=xxxxxx` 参数直接传入验证码。)*
|
|
260
|
+
|
|
261
|
+
#### 方案 B:使用安全密钥 (Security Key / 2FA) 的发布方案(推荐)
|
|
262
|
+
|
|
263
|
+
如果你的账户开启了物理安全密钥(如 Touch ID、YubiKey 等 2FA 且无数字验证码),在终端直接发布可能会被拒绝。此时应通过 **颗粒度访问令牌 (Granular Access Token)** 来完成发布:
|
|
264
|
+
|
|
265
|
+
1. **生成 Token**:
|
|
266
|
+
* 浏览器登录 [npmjs.com](https://www.npmjs.com/),进入 **Access Tokens** -> **Generate New Token** -> **Granular Access Token**。
|
|
267
|
+
* 配置权限为 **Read and Write**,并选择适用于该包的作用域,接着勾选 **"Bypass two-factor authentication (2FA)"** 选项。
|
|
268
|
+
* 复制生成的 Token (形如 `npm_...`)。
|
|
269
|
+
2. **本地配置与发布**:
|
|
270
|
+
* 在项目根目录下创建临时 `.npmrc` 文件:
|
|
271
|
+
```text
|
|
272
|
+
//registry.npmjs.org/:_authToken=你的_NPM_TOKEN
|
|
273
|
+
```
|
|
274
|
+
* 运行发布命令:
|
|
275
|
+
```bash
|
|
276
|
+
npm publish --access public
|
|
277
|
+
```
|
|
278
|
+
* **安全提示**:发布成功后,请立即**删除**根目录下的 `.npmrc` 文件以防 Token 泄露。
|
|
279
|
+
|
|
280
|
+
---
|
|
281
|
+
|
|
235
282
|
## 授权许可
|
|
236
283
|
|
|
237
284
|
[MIT License](LICENSE)
|