README.md

# BUPE

BUPE is an Elixir ePub generator and parser, it supports EPUB v2 and v3.

## Installation

First, add `bupe` to your list of dependencies in `mix.exs`:

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

Then, update your dependencies:

```sh-session
$ mix deps.get
```

## Usage

### Builder

If you want to create an EPUB file you can do the following:

```elixir
iex> config = %BUPE.Config{
...>   title: "Sample",
...>   creator: "John Doe",
...>   unique_identifier: "EXAMPLE",
...>   pages: ["bacon.xhtml", "ham.xhtml", "egg.xhtml"],
...>   nav: [
...>     %{id: "ode-to-bacon", label: "1. Ode to Bacon", content: "bacon.xhtml"},
...>     %{id: "ode-to-ham", label: "2. Ode to Ham", content: "ham.xhtml"},
...>     %{id: "ode-to-egg", label: "3. Ode to Egg", content: "egg.xhtml"}
...>   ]
...> }
iex> BUPE.build(config, "food.epub")
```

See `BUPE.Builder` for more details.

### Parser

If you want to parse an EPUB file you can do the following:

```elixir
iex> BUPE.parse("sample.epub")
%BUPE.Config{
  title: "Sample",
  creator: "John Doe",
  unique_identifier: "EXAMPLE",
  pages: ["bacon.xhtml", "ham.xhtml", "egg.xhtml"],
  nav: [
    %{id: "ode-to-bacon", label: "1. Ode to Bacon", content: "bacon.xhtml"},
    %{id: "ode-to-ham", label: "2. Ode to Ham", content: "ham.xhtml"},
    %{id: "ode-to-egg", label: "3. Ode to Egg", content: "egg.xhtml"}
  ]
}
```

See `BUPE.Parser` for more details.

## License

BUPE source code is released under Apache 2 License.

Check the [LICENSE](LICENSE) for more information.