# Html5ever binding for Elixir
[![CI](https://github.com/rusterlium/html5ever_elixir/actions/workflows/ci.yml/badge.svg)](https://github.com/rusterlium/html5ever_elixir/actions/workflows/ci.yml)
NIF binding of [html5ever](https://github.com/servo/html5ever) using [Rustler](https://github.com/rusterlium/rustler).
It is currently functional with basic features.
## Installation
The package can be installed by adding `html5ever` to your list of dependencies in `mix.exs`:
```elixir
def deps do
[{:html5ever, "~> 0.14.0"}]
end
```
Or with [`Mix.install/1`](https://hexdocs.pm/mix/Mix.html#install/2):
```elixir
Mix.install([:html5ever])
```
## Forcing compilation
By default **you don't need Rust installed** because the lib will try to download
a precompiled NIF file. In case you want to force compilation set the
`HTML5EVER_BUILD` environment variable to `true` or `1`. Alternatively you can also set the
application env `:build_from_source` to `true` in order to force the build:
```elixir
config :html5ever, Html5ever, build_from_source: true
```
You also need to add Rustler to your dependencies when you want to force
the compilation:
```elixir
def deps do
[
{:html5ever, "~> 0.14.0"},
{:rustler, ">= 0.0.0", optional: true}
]
end
```
## License
Licensed under either of
* Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
* MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)
at your option.