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:
debug
info
warning
error
fatal
color palette
available algorithms:
wsm
wu
for more information regarding the color palette see color-thief.