Juryorca/dsh-custom-theme-import

Plugin插件 Native原生 ⭐ 2 UI & Themes界面与主题

Project Overview项目介绍

DSH custom theme import is a DSH Web skin manager that imports, previews, applies, and manages mainstream DSH skin packages. It supports local paths, GitHub repositories, and scan of installed skins in the web profile's node_modules, with thumbnail previews and optional managed copies. Use it to consolidate skins from multiple sources without replacing DSH's native plugin system. Caveat: local imports are referenced in place by default and only copied into the managed themes directory when explicitly opted in.

DSH 自定义主题导入插件,用于在 DSH Web 端导入、预览、使用与管理主流 DSH 皮肤包格式。它支持从本地路径或 GitHub 批量导入,扫描 node_modules 中已安装的皮肤,并提供缩略图预览与管理副本。适用场景:用户希望在不替换 DSH 原生插件系统的前提下,跨来源集中管理多套皮肤。注意:宿主端默认按原位引用本地路径,仅在显式开启后才复制为受管副本。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin --profile web add -w github:Juryorca/dsh-custom-theme-import

Juryorca/dsh-custom-theme-import 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-custom-theme-import

English | 中文

A DSH Web skin manager for mainstream DSH skin package format. It imports, previews, uses, and manages skins without replacing DSH's native plugin system.

Features

  • Import mainstream DSH skin package format from local paths or GitHub.
  • Also import DSH theme plugins without skin.json when they are standard web client packages (dsh.client.platform: "web" + lib/client.js).
  • Scan installed skins from the web profile's node_modules.
  • Preview, use, refresh, and manage skins.
  • Skin preview thumbnails when the package ships skin.json preview images.
  • Host-side persistence with optional managed copies.
  • UI language follows DSH automatically (Chinese / English).

Build

node build.mjs
node build.mjs --check

Install

From GitHub:

dsh plugin --profile web add -w github:Juryorca/dsh-custom-theme-import

From a local checkout:

dsh plugin --profile web add -w link:/path/to/dsh-custom-theme-import

Restart:

dsh --profile web

Open:

Settings → My Themes

Supported skin format

Mainstream DSH skin package format:

skin-package/
├── package.json
├── cordis.patch.yml
├── skin.json
├── lib/index.js
└── lib/client.js

Requirements:

  • package.json must declare dsh.bundle.
  • skin.json must exist.
  • lib/client.js must be a DSH ModuleLoader bundle exporting apply(ctx).

Collection repository

A GitHub repository or local path can contain multiple mainstream skins. Common layouts are scanned automatically:

repo-root/
├── themes/<skin-id>/...
├── skins/<skin-id>/...
└── packages/*/skins/<skin-id>/...

Each <skin-id>/ is a full skin package (package.json, cordis.patch.yml, skin.json, lib/index.js, lib/client.js).

Storage

  • Library file: ~/.dsh/dsh-custom-theme-import/library.json
  • Local path imports reference in place by default; you can opt in to copy them into ~/.dsh/dsh-custom-theme-import/themes/<id>/ as a managed copy.
  • GitHub/remote imports are cloned/downloaded into: ~/.dsh/dsh-custom-theme-import/themes/<id>/
上一个 Prev ds-balance-card 下一个 Next dsh-guardian-approval