# `BoringAvatars`
[🔗](https://github.com/byhemechi/boring_avatars_ex/blob/main/lib/boring_avatars.ex#L1)

Direct port of [boring-avatars](https://github.com/boringdesigners/boring-avatars) to Elixir.

Generates SVG avatars based on a given name and a color palette.

## Usage

    iex> BoringAvatars.beam(name: "Maria")

Options can be passed as a keyword list or as a `%BoringAvatars.Props{}` struct.
See `BoringAvatars.Props` for all available options.

# `avatar`

```elixir
@callback avatar(
  %BoringAvatars.Props{
    colours: term(),
    name: term(),
    size: term(),
    square: term(),
    title: term()
  }
  | keyword()
) :: iodata()
```

Callback to implement for a custom avatar variant.

Receives a `%BoringAvatars.Props{}` struct or a keyword list of options
and should return `iodata()` representing the generated SVG.

# `bauhaus`

Generates a Bauhaus variant avatar.

# `beam`

Generates a Beam variant avatar.

# `marble`

Generates a Marble variant avatar.

# `pixel`

Generates a Pixel variant avatar.

# `ring`

Generates a Ring variant avatar.

# `sunset`

Generates a Sunset variant avatar.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
