# distribusi-go

> This is still very experimental, please take a backup of your archives if you
> are running it on files you care about. It hasn't been tested on large
> archives. There are probably some pretty bad bugs lurking in there. It may
> still thrash files. Please [report issues] as you find them :100: Thanks for
> testing!

A [Go] implementation of [distribusi].

This is a compiled `distribusi` which is simpler to install on your computer,
just download the binary, `chmod +x` and run it.

The command-line interface is quite different from the Python version. There
are less optional flags and more defaults. I shuffled a number of things around
according to my preferences. For example, I always like my images to be
thumbnail'd. There's a handy web server built-in now, just run with `-s`
:metal:

There is no need to install [Pillow] for handling images, that is now built-in.
The only external dependency is [exiftool] for image captions from embedded
metadata. If you don't have `exiftool` installed, then it gracefully skips that
feature. So, you don't need to install anything else to run `distribusi` now
:pray:

## Install

```
curl https://git.vvvvvvaria.org/decentral1se/distribusi-go/raw/branch/main/distribusi -o distribusi
chmod +x distribusi
./distribusi
```

## Quick start

```
./distribusi -p <path> -s
```

## Hacking

You'll need [Go] >= 1.11 installed. Run `go build .` to build a new `./distribusi` executable.

[Go]: https://go.dev
[distribusi]: https://git.vvvvvvaria.org/varia/distribusi
[Pillow]: https://pillow.readthedocs.io/en/stable/installation.html#external-libraries
[exiftool]: https://exiftool.org/
[report issues]: https://git.vvvvvvaria.org/decentral1se/distribusi-go/issues/new/choose
