An image slideshow that runs in the browser using local files
- Press the "Select your images" button and select images
F
-> Toggle fullscreenF11
-> Toggle fullscreenDouble-click
-> Toggle fullscreenF5
-> Restart
- Install Leiningen
- Clone the repo
- Run
lein cljsbuild once
in the project's root directory - (optional): Run
resources/style.unprefixed.css
through Autoprefixer and save the result asresources/style.css
- Open
resources/index.html
in your web browser of choice
- Written in ClojureScript with core.async
- File reading is not done during transitions or during the blackout between images to ensure maximum smoothness
- The main loop shows off core.async's ability to turn a pyramid of doom from callback hell into a flat, unfragmented piece of code
- Written in October 2016
- My friends needed an image slideshow for their wedding
- All of the programs we looked at had a mix of shortcomings:
- No transitions
- No appropriate transitions
- Transitions that were too fast, and thus distracting
- Not cross-platform
- Hard-wired to the images shown
- Image order is always shuffled
- Does not use EXIF data to correct orientation
- Consider pre-processing the images
- Hint:
convert in.jpg -auto-orient out.jpg
- Hint:
- Consider pre-processing the images
- You get one shot to add the images, or else you have to refresh
- Consider having all images in a single folder so you can simply "select all"
- I manually run the unprefixed CSS file through Autoprefixer CSS Online
- Making lein and/or the JS-build-tool-du-jour work together to run Autoprefixer wasn't worth the time and effort to me for this project
- Use EXIF data to determine and set orientation
- Allow customization (duration, transition duration, background color, etc.)
- Allow adding images incrementally
- Allow ordering images instead of always shuffling
- Automate autoprefixing CSS during build
- © 2016-2017 Tim Walter
- Licensed under the Eclipse Public License 1.0