chore: add readme

This commit is contained in:
2026-05-02 23:50:45 +02:00
parent 6363a39313
commit 9dac9d9795
+158
View File
@@ -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