The core DOM abstraction in Blitz
This crate implements a flexible headless DOM ([BaseDocument]), which is designed to emebedded in and "driven" by external code. Most users will want
to use a wrapper:
HtmlDocumentfrom the blitz-html crate. Allows you to parse HTML (or XHTML) into a Blitz [BaseDocument], and can be combined with a markdown-to-html converter like comrak or pulldown-cmark to render/process markdown.DioxusDocumentfrom the dioxus-native crate. Combines a [BaseDocument] with a DioxusVirtualDomto enable dynamic rendering and event handling.
It includes: A DOM tree respresentation, CSS parsing and resolution, layout and event handling. Additional functionality is available in separate crates, including html parsing (blitz-html), networking (blitz-net), rendering (blitz-paint) and windowing (blitz-shell).
Most of the functionality in this crates is provided through the struct.
blitz-dom has a native Rust API that is designed for higher-level abstractions to be built on top (although it can also be used directly).
The goal behind this crate is that any implementor can interact with the DOM and render it out using any renderer they want.