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 for high-concurrency HTML parsing.

crates.io

Why this fork?

The only change from upstream is that this crate depends on spider-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

[dependencies]
spider-markup5ever = "0.39"
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 for the full Send-able parser stack.

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option, matching the upstream markup5ever license.