a simple web server serving (scaled) images and color palettes for 'slideshow'
| .vscode | ||
| internal | ||
| .gitignore | ||
| go.mod | ||
| go.sum | ||
| LICENSE.md | ||
| main.go | ||
| README.md | ||
| slideshow-api.service | ||
slideshow-api
a simple web server serving (scaled) images and color palettes for slideshow.
requirements
- ImageMagick (optional; for scaling)
endpoints
/: request the name of a random image/image/<name-of-an-image.jpeg>[?resolution=1920x1080]: request the named image (in the specified resolution)/palette/<name-of-an-image.jpeg>[?colors=16&algorithm=wsm]: request the color palette of the named image (with the specified amount of colors and algorithm)
configuration
configuration is entirely done via environment variables.
| variable | default | description |
|---|---|---|
| SLIDESHOW_ADDRESS | "0.0.0.0" | the listen address of the web server |
| SLIDESHOW_PORT | 3000 | the port of the web server |
| SLIDESHOW_DIRECTORY | "$HOME" | path to a directory containing images |
| SLIDESHOW_SCANINTERVAL | 60 | the interval for directory scans in seconds |
| SLIDESHOW_LOGLEVEL | "info" | the log level |
note:
if imagemagick's convert command is not in your $PATH the images will not be scaled.
available log levels:
debuginfowarningerrorfatal
color palette
available algorithms:
wsmwu
for more information regarding the color palette see color-thief.