mars-marcelyn_Shuffle-Lab/README.md
2026-06-18 19:57:45 +02:00

75 lines
3.1 KiB
Markdown

# Shuffle Lab
Timed, randomized fullscreen image slideshows for drawing practice, presentations, and more.
## What's new in 1.0.4
### New features
- Break system — configurable break frequency, duration presets, custom break duration, fullscreen break overlay with countdown
- Infinite time mode — manual-only navigation, no auto-advance, JSON-safe persistence
- Settings UI groups with dividers for cleaner layout
- Break timer warning color when session will expire mid-break
- Disable breaks when Infinite duration is selected, with descriptive warning
- Timer display uses adaptive format (s / m:s / h:m:s)
### Bug fixes
- Custom duration inputs now capped at 9999s with digits-only validation
- End-of-deck screen waits for user input instead of auto-advancing
- Session description text updated to reflect breaks in total time calculation
## Features
- Fullscreen slideshow with randomized images from any vault folder
- Configurable duration per image with presets (30s, 60s, 2min, 5min, custom, infinite)
- Loop toggle — choose whether to repeat images or stop when they run out
- Session timer with real-time display
- Break system — configurable break frequency and duration between images
- Intro prompt slide (optional markdown file per folder)
- Session logging to prioritize unseen images next session
- Language support (desktop only)
## Usage
1. Open **Settings → Shuffle Lab** and set your **Main directory** (the root folder containing your reference image subfolders).
2. Click the shuffle icon in the ribbon or run the **New session** command.
3. Select a folder, adjust settings, and click **Start Session**.
4. Press **Space** to pause/resume, **◀/▶** to navigate, **ESC** to exit.
## Installation
### From Community Plugins (desktop)
Search for "Shuffle Lab" in Community Plugins and install.
### Manual / mobile
Copy `main.js`, `manifest.json`, and `styles.css` to `.obsidian/plugins/shuffle-lab/` in your vault.
## Localization (desktop only)
1. Navigate to your vault's `.obsidian/plugins/shuffle-lab/lang/` folder.
2. Copy `en.json`, rename it to your language code (e.g. `de.json`).
3. Translate all values (the text after the colons). Keep keys, `{0}` placeholders, and `\n` unchanged.
4. Reload Obsidian, then select your language in **Settings → Shuffle Lab**.
The language dropdown only shows `.json` files present in the `lang/` folder. On mobile, the plugin uses English only.
## Contributing
### Bug reports & feature requests
Open an issue on the [GitHub repository](https://github.com/Mars-Marcelyn/Shuffle-Lab). Include your platform (desktop/mobile), Obsidian version, and steps to reproduce.
### Translations
See [Localization](#localization-desktop-only) above. Submit a pull request with your new `.json` file.
### Code
The plugin is a single-file JavaScript plugin (`main.js`) with no build step. To get started:
1. Clone the repo and open in your editor.
2. Make changes to `main.js`, `styles.css`, or `lang/*.json`.
3. Copy the files to your vault's `.obsidian/plugins/shuffle-lab/` folder.
4. Reload Obsidian and test.
Pull requests are welcome. Keep changes focused and rebased on the latest `main`.
## License
MIT