dsh-theme-gallery 0.1.4 → 0.2.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 CHANGED
@@ -11,12 +11,14 @@
11
11
  | 自己做皮肤(或让 AI 做) | 在 `lib/themes/` 加 JSON 后重跑 `npm run embed-themes`,或装 `dsh-theme-skin-author` 技能让 AI 生成 |
12
12
  | 贡献一个皮肤给所有人 | 在 `lib/themes/` 放一个 JSON,提 PR |
13
13
 
14
- 内置两个皮肤,均复刻自电商新零售系统管理后台(`admin-modular/src/utils/themes.js`):
14
+ 内置四个皮肤,均复刻自电商新零售系统管理后台(`admin-modular/src/utils/themes.js`):
15
15
 
16
16
  | id | 名称 | 主色 | 强调色 |
17
17
  |---|---|---|---|
18
18
  | `shan-qing-ting-cai` | **山青婷彩** | `#2F7D5E` 青山绿 | `#E88BB0` 蜻蜓粉 |
19
19
  | `meng-hai-you-yu` | **梦海游鱼** | `#177CB0` 靛青 | `#FFD166` 琥珀金 |
20
+ | `ying-mu-cai-yun` | **营慕彩云** | `#2D5A3D` 林间深绿 | `#FFB347` 琥珀 |
21
+ | `pei-an-jie-xin` | **佩安杰心** | `#7A5C3E` 暖檀褐 | `#B4653A` 赭陶 |
20
22
 
21
23
  每个皮肤 67 个 token,覆盖整屏。
22
24
 
@@ -26,10 +28,18 @@
26
28
  |---|---|
27
29
  | ![山青婷彩:青山两层、云雾、蜻蜓与落花,侧栏水塘收底](https://raw.githubusercontent.com/renjie2026/dsh-theme-gallery/main/screenshots/shan-qing-ting-cai.png) | ![梦海游鱼:左上柔光辉、上浮气泡与光点、蓝色小鱼、水草与水底渐变](https://raw.githubusercontent.com/renjie2026/dsh-theme-gallery/main/screenshots/meng-hai-you-yu.png) |
28
30
 
31
+ | 营慕彩云 `ying-mu-cai-yun` | 佩安杰心 `pei-an-jie-xin` |
32
+ |---|---|
33
+ | ![营慕彩云:暮色暖光、三层彩云与前后两层漂移云海,两只热气球往返漫游](https://raw.githubusercontent.com/renjie2026/dsh-theme-gallery/main/screenshots/ying-mu-cai-yun.png) | ![佩安杰心:雾山远衬、禅意圆相与坐禅人影、香炉两缕青烟与浮尘,底部禅语](https://raw.githubusercontent.com/renjie2026/dsh-theme-gallery/main/screenshots/pei-an-jie-xin.png) |
34
+
29
35
  截图取自桌面版 0.1.7-rc.2 实机。图片用**绝对地址**引用而不是相对路径,是为了让同一份 README 在
30
36
  GitHub、npm 与社区市场三处都能显示(npm 不会把相对路径解析到仓库)。原图在
31
37
  [`screenshots/`](screenshots/) 下,不在 npm 包内(`package.json` 的 `files` 白名单只含运行必需文件)。
32
38
 
39
+ 侧栏装饰还可以先看后装:仓库内的
40
+ [`tools/theme-bench/ambient-preview.html`](tools/theme-bench/ambient-preview.html) 以宽窄两种侧栏宽度
41
+ 并排渲染全部皮肤(该页把 CSS 与场景标记直接读自 `lib/client.js`,不会与出货版本漂移)。
42
+
33
43
  ---
34
44
 
35
45
  ## 为什么是「一个插件 + 数据」,而不是「一个皮肤一个插件」
@@ -114,6 +124,32 @@ dsh plugin --profile web add dsh-theme-gallery
114
124
  只在你想跟源码时用它。本包**没有构建步骤**,所以不会出现"缺 `lib/` 目录"那类失败;
115
125
  它的代价是 pnpm 可能要求你为构建脚本授权(`allowBuilds`)。
116
126
 
127
+ ### 更新到新版本
128
+
129
+ **先说清楚:DSH 桌面版本身不会提示第三方插件有更新**,所以「发现新版」和「执行更新」这两件事得靠下面的渠道。
130
+
131
+ **怎么知道有新版本?**
132
+
133
+ | 渠道 | 说明 |
134
+ |---|---|
135
+ | **插件市场** | 装 [DSH-Plugins-Marketplace](https://github.com/bradeGithub/DSH-Plugins-Marketplace) 后,卡片会显示 **「已装 v0.1.4 → v0.1.6」** 并给**更新**按钮 —— 目前最省事的路径 |
136
+ | **GitHub Releases** | 在本仓库点 **Watch → Custom → Releases only**,有新版本会收到邮件 |
137
+ | **对照版本号** | 插件面板右上角显示**你装的版本**(如 `v0.1.4`),与 [npm 页面](https://www.npmjs.com/package/dsh-theme-gallery) 上的版本号直接对照 |
138
+
139
+ **怎么更新?**
140
+
141
+ 1. **设置 → 插件 → 添加插件** → 再填一次 `dsh-theme-gallery` → **重启**(装上 `^x.y.z` 范围内的最新版)
142
+ 2. 想要**强制拿最新**(含 0.1.x → 0.2.0 这类次版本号变更):**先移除、再添加**
143
+ 3. 装了市场的:点卡片上的**更新**按钮
144
+ 4. Web / CLI profile:`dsh plugin --profile web add dsh-theme-gallery`
145
+
146
+ **版本范围语义**:安装时会记录成 **`^0.1.4`**,即 `>=0.1.4 <0.2.0` ——
147
+ `0.1.5` / `0.1.9` 这类补丁会在重装时自动带上;**`0.2.0` 不会**(npm 对 `0.x` 的惯例是
148
+ 把次版本号变更视为可能破坏性),那种情况按第 2 条显式重装即可。
149
+
150
+ > ⚠️ 从 **Release 的 `.tgz`** 安装的用户**没有更新机制**(tgz 是一次性快照,只能重新下载)——
151
+ > 想长期跟更新,建议用**包名安装**。
152
+
117
153
  ### 兼容性与权限
118
154
 
119
155
  | 项 | 说明 |
@@ -314,7 +350,7 @@ if (active === void 0) throw new Error(`theme registry lost "${resolvedId}"`)
314
350
 
315
351
  ## 侧栏素材与激活标记(region 1 复刻)
316
352
 
317
- 两个皮肤不只是配色,还把原系统**左侧菜单区的元素素材**复刻了过来,并给"正在使用"的状态加了标记色。
353
+ 皮肤不只是配色,还把原系统**左侧菜单区的元素素材**复刻了过来,并给"正在使用"的状态加了标记色。
318
354
 
319
355
  ### 侧栏氛围装饰 `ambient`
320
356
 
@@ -322,15 +358,18 @@ if (active === void 0) throw new Error(`theme registry lost "${resolvedId}"`)
322
358
  |---|---|
323
359
  | 山青婷彩 `kind: "shan"` | 青山两层 + 山间云雾 + 山脚水面与点水涟漪 + 两只悬停蜻蜓 + 花瓣飘落 |
324
360
  | 梦海游鱼 `kind: "dream"` | 左上柔光辉 + 两道弥散光洗 + 上浮气泡 + 五叶水草摇摆 |
361
+ | 营慕彩云 `kind: "caiyun"` | 暮色暖光 + 暖金光点 + 三层模糊彩云 + 前后两层漂移云海 + 两只往返漫游的热气球 |
362
+ | 佩安杰心 `kind: "jiexin"` | 雾山远衬 + 禅意圆相与坐禅人影 + 香炉两缕青烟 + 浮尘光点 + 禅语「自在 · 安顿」 |
325
363
 
326
- 素材逐像素复刻自 `ShanQingTingCaiAnimation.vue` 与 `DreamOceanAmbient.vue`。与原系统**有意偏离**两处:
364
+ 素材逐像素复刻自源系统对应的主题动画组件(`ShanQingTingCaiAnimation.vue`、
365
+ `DreamOceanAmbient.vue`、`YingMuCaiYunAnimation.vue`、`PeiAnJieXinAnimation.vue`)。与原系统**有意偏离**两处:
327
366
 
328
367
  1. **尺寸改为百分比 / em**。原系统写死 223px 侧栏宽;DSH 侧栏可拖拽,固定像素在窄侧栏会截断。
329
368
  2. **`pointer-events:none` 且置于导航之下**。原系统文档记有一条 bug:不透明山形贴在侧栏底部会遮挡最下方菜单项。
330
369
 
331
370
  `kind` 是**数据键而非素材路径**——插件只为它真正画得出的场景提供键,写错会在构建期失败,而不是运行时静默不画。
332
371
 
333
- 装饰挂在侧栏列里的 `#dsh-theme-ambient`。这是本插件**唯一**直接操作外壳 DOM 的地方(侧栏没有装饰插槽,插槽组件会成为列的兄弟而非其背后的图层),因此单独隔离、整体 try/catch:**装饰是修饰,绝不能成为故障原因**。侧栏定位用三级回退,因为外壳类名是 CSS-module 哈希、不是稳定契约。
372
+ 装饰挂在 `document.body` 上的全屏 `.dsh-amb-control` 图层里,场景盒再按侧栏几何绝对定位在图层内部——**图层与场景盒必须拆成两层**,这是本项目花了二十多轮才找到的结论(压在一个元素上时两种形态都不绘制)。这是本插件**唯一**直接操作外壳 DOM 的地方(侧栏没有装饰插槽,插槽组件会成为列的兄弟而非其背后的图层),因此单独隔离、整体 try/catch:**装饰是修饰,绝不能成为故障原因**。侧栏定位用三级回退,因为外壳类名是 CSS-module 哈希、不是稳定契约。
334
373
 
335
374
  先看效果再装:`npm run preview:ambient` 生成的预览页**把 CSS 直接读自 `lib/client.js`**,因此不会与出货版本漂移;两种侧栏宽度并排。
336
375
 
@@ -344,6 +383,8 @@ if (active === void 0) throw new Error(`theme registry lost "${resolvedId}"`)
344
383
  |---|---|---|
345
384
  | 山青婷彩 | `#E88BB0` | 蜻蜓粉 |
346
385
  | 梦海游鱼 | `#FFD166` | 夕照金 |
386
+ | 营慕彩云 | `#FFB347` | 云霞琥珀 |
387
+ | 佩安杰心 | `#B4653A` | 赭陶 |
347
388
 
348
389
  **不是所有主题一律粉**——那样恰好违反来源项目自己的规范。两条约束由代码强制:叠加**只对活跃主题**生效、切走即撤除;**不动 `brand-primary`**(否则链接、主按钮、状态徽标会被一起改掉)。
349
390