https://github.com/mischov/meeseeks_html5ever
Meeseeks-specific NIF binding of html5ever using Rustler.
https://github.com/mischov/meeseeks_html5ever
elixir html5ever meeseeks rust
Last synced: 3 months ago
JSON representation
Meeseeks-specific NIF binding of html5ever using Rustler.
- Host: GitHub
- URL: https://github.com/mischov/meeseeks_html5ever
- Owner: mischov
- License: apache-2.0
- Created: 2017-04-03T19:48:06.000Z (about 9 years ago)
- Default Branch: main
- Last Pushed: 2023-03-27T05:18:44.000Z (about 3 years ago)
- Last Synced: 2025-03-23T23:16:17.560Z (about 1 year ago)
- Topics: elixir, html5ever, meeseeks, rust
- Language: Rust
- Size: 132 KB
- Stars: 10
- Watchers: 1
- Forks: 17
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
# Meeseeks_Html5ever
[](https://hex.pm/packages/meeseeks_html5ever)
[](https://github.com/mischov/meeseeks_html5ever/actions/workflows/ci.yml)
Originally a fork of Hansihe's [html5ever_elixir](https://github.com/hansihe/html5ever_elixir) that is more tightly coupled with [Meeseeks](https://github.com/mischov/meeseeks), Meeseeks_Html5ever has grown to include additional functionality, such as use of xml5ever for XML parsing.
## Compatibility
Meeseeks_Html5ever is tested with a minimum combination of Elixir 1.16.0 and Erlang/OTP 26.0 and a maximum combination of Elixir 1.18.0 and Erlang/OTP 27.0.
## Installation
Ensure Rust is installed, then add Meeseeks_Html5ever to your `mix.exs`:
```elixir
def deps do
[
{:meeseeks_html5ever, "~> 0.15.0"}
]
end
```
Finally, run `mix deps.get`.
## Dependencies
Meeseeks_Html5ever depends on the Rust library [html5ever](https://github.com/servo/html5ever), providing a Rustler-based NIF to interface with it.
You do not need to have Rust installed because the library will attempt to download a precompiled NIF file.
To force compilation you can either set the `MEESEEKS_HTML5EVER_BUILD` environment variable to `true` or `1`, or add the following application configuration
```elixir
config :meeseeks_html5ever, MeeseeksHtml5ever, build_from_source: true
```
If you want to force compilation you will need to have the Rust compiler [installed](https://www.rust-lang.org/en-US/install.html), and will need to add Rustler to your dependencies.
```elixir
def deps do
[
{:meeseeks_html5ever, "~> 0.15.0"},
{:rustler, ">= 0.0.0", optional: true}
]
end
```
## Contributing
If you are interested in contributing please read the [contribution guidelines](CONTRIBUTING.md).
## 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.