Archived
chore: add readme
This commit is contained in:
1 parent
6363a39313
commit
9dac9d9795
1 file changed
+158
@@ -0,0 +1,158 @@
|
|||||||
|
# create-ezpplauncher-theme
|
||||||
|
|
||||||
|
A CLI tool to scaffold a new **EZPPLauncher theme** using a modern Svelte + Vite setup.
|
||||||
|
|
||||||
|
It generates a ready-to-use theme project with assets, build pipeline, and launcher integration support.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🚀 Usage
|
||||||
|
|
||||||
|
Run directly via Git using `npx`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npx git+https://git.ez-pp.farm/EZPPFarm/create-ezpplauncher-theme.git <theme-name>
|
||||||
|
```
|
||||||
|
|
||||||
|
### Example
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npx git+https://git.ez-pp.farm/EZPPFarm/create-ezpplauncher-theme.git my-theme
|
||||||
|
```
|
||||||
|
|
||||||
|
This creates a new theme in:
|
||||||
|
|
||||||
|
```
|
||||||
|
./my-theme
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ✨ Features
|
||||||
|
|
||||||
|
* ⚡ Svelte-based UI (`App.svelte`)
|
||||||
|
* 🎨 Fully customizable layout & animations
|
||||||
|
* 🎵 Built-in audio & media asset support
|
||||||
|
* 🧱 Modular component structure
|
||||||
|
* 🛠 Vite-powered build pipeline
|
||||||
|
* 📦 Theme packaging via `npm run build`
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📁 Project Structure
|
||||||
|
|
||||||
|
```
|
||||||
|
/
|
||||||
|
├── public/assets/ # Static assets (audio, images, gifs)
|
||||||
|
│ ├── audio.mp3
|
||||||
|
│ ├── dance.gif
|
||||||
|
│ └── preview.png # Preview image displayed in the launcher
|
||||||
|
├── src/
|
||||||
|
│ ├── lib/ # Reusable utilities/components
|
||||||
|
│ ├── App.svelte # Main UI entry
|
||||||
|
│ ├── main.ts
|
||||||
|
│ └── types.ts
|
||||||
|
├── index.html
|
||||||
|
├── theme.json # Theme metadata/config
|
||||||
|
├── build-theme.ts # Build & packaging script, ran via `npm run build`
|
||||||
|
├── vite.config.ts
|
||||||
|
├── tsconfig.json
|
||||||
|
└── package.json
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎨 Customization
|
||||||
|
|
||||||
|
### `App.svelte` (Main UI)
|
||||||
|
|
||||||
|
This is the core of your theme. You can:
|
||||||
|
|
||||||
|
* Use full Svelte syntax
|
||||||
|
* Import custom components
|
||||||
|
* Play audio and display media assets
|
||||||
|
|
||||||
|
### Example
|
||||||
|
|
||||||
|
```svelte
|
||||||
|
<script lang="ts">
|
||||||
|
import { asset } from "./lib/assets";
|
||||||
|
import type { EZPPLauncherThemeAPI } from "./types";
|
||||||
|
|
||||||
|
const props: { api: EZPPLauncherThemeAPI } = $props();
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<div class="w-full h-full flex flex-col items-center justify-center">
|
||||||
|
<audio src={asset(props.api, "audio.mp3")} loop autoplay></audio>
|
||||||
|
<img src={asset(props.api, "dance.gif")} alt="Dance" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📦 Assets
|
||||||
|
|
||||||
|
Place all static files here:
|
||||||
|
|
||||||
|
```
|
||||||
|
public/assets/
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ⚙️ Theme Configuration
|
||||||
|
|
||||||
|
Edit `theme.json` to define:
|
||||||
|
|
||||||
|
* Theme name
|
||||||
|
* Author
|
||||||
|
* Version
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🛠 Development
|
||||||
|
|
||||||
|
### Start development server
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm run dev
|
||||||
|
```
|
||||||
|
|
||||||
|
### Build theme
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm run build
|
||||||
|
```
|
||||||
|
|
||||||
|
or manually:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
node build-theme.ts
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎨 Testing your theme
|
||||||
|
|
||||||
|
Just extract the generated .ezpplauncher-theme file using any unzip tool and place the files into `C:\Users\<your-username>\.ezpplauncher\themes\<your-theme>`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 💡 Tips
|
||||||
|
|
||||||
|
* Optimize assets (especially audio/video)
|
||||||
|
* Keep reusable logic inside `src/lib`
|
||||||
|
* Prefer lightweight GIFs or compressed media for performance
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ⚠️ Notes
|
||||||
|
|
||||||
|
* This package is **not published on npm**
|
||||||
|
* Must be executed via:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npx git+https://git.ez-pp.farm/EZPPFarm/create-ezpplauncher-theme.git <theme-name>
|
||||||
|
```
|
||||||
|
* Requires Node.js
|
||||||
|
* Designed specifically for EZPPLauncher themes
|
||||||
Reference in new issue
Block a user