1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
//! 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:
//!
//! - [`HtmlDocument`](https://docs.rs/blitz-html/latest/blitz_html/struct.HtmlDocument.html) from the [blitz-html](https://docs.rs/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](https://docs.rs/comrak)
//! or [pulldown-cmark](https://docs.rs/pulldown-cmark) to render/process markdown.
//! - [`DioxusDocument`](https://docs.rs/dioxus-native/latest/dioxus_native/struct.DioxusDocument.html) from the [dioxus-native](https://docs.rs/dioxus-native) crate.
//! Combines a [`BaseDocument`] with a Dioxus `VirtualDom` to 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](https://docs.rs/blitz-html)), networking ([blitz-net](https://docs.rs/blitz-html)),
//! rendering ([blitz-paint](https://docs.rs/blitz-paint)) and windowing ([blitz-shell](https://docs.rs/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.
//!
// TODO: Document features
// ## Feature flags
// - `default`: Enables the features listed below.
// - `tracing`: Enables tracing support.
pub const DEFAULT_CSS: &str = include_str!;
pub const BULLET_FONT: & = include_bytes!;
const INCREMENTAL: bool = cfg!;
const NON_INCREMENTAL: bool = !INCREMENTAL;
/// The DOM implementation.
///
/// This is the primary entry point for this crate.
/// The nodes themsleves, and their data.
/// Integration of taffy and the DOM.
/// Implementations that interact with servo's style engine
pub use DocumentConfig;
pub use ;
pub use ;
pub use DocumentMutator;
pub use ;
pub use FontContext;
pub use Atom;
pub use RestyleHint;
pub type SelectorList = SelectorList;
pub use ;
pub use ;
pub use Point;