README.md

# ImageminEx

A Elixir wrapper around imagemin-cli

## Installation

If [available in Hex](https://hex.pm/docs/publish), the package can be installed
by adding `imagemin_ex` to your list of dependencies in `mix.exs`:

```elixir
def deps do
  [
    {:imagemin_ex, "~> 0.1.0"}
  ]
end
```

Also currently you need to manually install imagemin-cli.
I installed it by creating a new npm package and install it there:

```sh
npm init -y
npm install imagemin-cli
```

If you install it globally you need to update the default config:

```elixir
config = ImageminEx.Config.default()
# unset the node path
config = ImageminEx.Config.override(config, node_path: nil)
```

## Usage

Currently only convert and help functions are implemented:

```elixir
# convert with the default config
ImageminEx.convert("source/path.my_extension", "destination/path.my_extension")

# convert with custom config
config = ImageminEx.Config.default()
config = ImageminEx.Config.override(config, node_path: nil)
config = ImageminEx.Config.append_plugins(config, "my_plugin")
config = ImageminEx.Config.append_plugins(config, ["just" "a bunch of", "plugins"])

ImageminEx.convert("source/path.my_extension", "destination/path.my_extension", config)
```

```elixir
# prints to the console
ImageminEx.print_help()

# returns a {:ok, binary} with the help text
ImageminEx.help()
```