You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

63 lines
1.4 KiB

# Imaginator
Batch image resizer and converter — CLI and desktop GUI.
## Project structure
```
imaginator/
core/ Shared processing logic (no UI dependencies)
types.go Config, ProcessResult, ImageSummary, Progress
collect.go Directory walking and file filtering
validate.go Config validation
naming.go Filename transformations (replace, case, spaces)
encode.go Image encoding helpers
process.go Single-image processor + concurrent batch runner
cmd/
cli/main.go Command-line interface
gui/main.go Fyne desktop application
go.mod
Makefile
```
## Build
```bash
# Both binaries
make all
# CLI only
make cli
# GUI only
make gui
# Windows GUI (no console window)
make gui-win
```
## Requirements
- Go 1.22+
- Fyne dependencies: on Linux, `libgl1-mesa-dev`, `xorg-dev`
- On macOS and Windows: no extra dependencies
## CLI usage
```
imaginator -dir ./photos -out ./thumbs -width 800
imaginator -dir ./raw -out ./web -width 1920 -height 1080 -format jpg -quality 90
imaginator -dir ./icons -out ./dist -width 64 -format png -ts src/assets/icons.ts
```
Run `imaginator -help` for the full flag reference.
## GUI
```
imaginator-gui
```
Three tabs: **Configure** (all options), **Progress** (real-time log and progress bar),
**Results** (table with before/after preview on row click).

Powered by TurnKey Linux.