spider-markup5ever 0.39.0

Common code for xml5ever and html5ever (Send-able fork via spider-tendril)
Documentation
# spider-markup5ever

A `Send`-friendly fork of [`markup5ever`](https://github.com/servo/html5ever) for high-concurrency HTML parsing.

[![crates.io](https://img.shields.io/crates/v/spider-markup5ever.svg)](https://crates.io/crates/spider-markup5ever)

## Why this fork?

The only change from upstream is that this crate depends on [`spider-tendril`](https://github.com/spider-rs/tendril) instead of `tendril`. `spider-tendril` flips `Tendril<F, A>`'s default atomicity from `NonAtomic` to `Atomic`, making `StrTendril` `Send + Sync` by default. As a result, every type defined in `markup5ever` that holds a tendril (`Attribute`, `BufferQueue`, `Doctype`, etc.) is now `Send` — which lets `html5ever`'s `Tokenizer`, `TreeBuilder`, and `Parser` cross thread boundaries.

The source code, public API, and behavior are otherwise identical to upstream.

## Use

```toml
[dependencies]
spider-markup5ever = "0.39"
```

```rust
use markup5ever::{Attribute, QualName, ...};
```

The library still imports as `markup5ever`, so existing code requires no changes — only the dependency line in `Cargo.toml` needs to swap.

Pair with [`spider-html5ever`](https://github.com/spider-rs/html5ever) for the full Send-able parser stack.

## License

Licensed under either of [Apache License, Version 2.0](LICENSE-APACHE) or [MIT license](LICENSE-MIT) at your option, matching the upstream `markup5ever` license.