No description
Find a file
2026-06-18 20:25:08 +02:00
lang 1.0.4 2026-06-18 19:51:48 +02:00
.gitignore Initial Release 2026-06-12 21:20:41 +02:00
LICENSE Initial Release 2026-06-12 21:20:41 +02:00
main.js 1.0.4 2026-06-18 19:51:48 +02:00
manifest.json 1.0.4 2026-06-18 19:51:48 +02:00
README.md Update README.md 2026-06-18 19:57:45 +02:00
styles.css Update styles.css 2026-06-18 20:25:08 +02:00

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Ⓜ️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. Include your platform (desktop/mobile), Obsidian version, and steps to reproduce.

Translations

See Localization 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