Crate lol_html

Source
Expand description

LOL HTML is a Low Output Latency streaming HTML rewriter/parser with CSS-selector based API.

It is designed to modify HTML on the fly with minimal buffering. It can quickly handle very large documents, and operate in environments with limited memory resources.

The crate serves as a back-end for the HTML rewriting functionality of Cloudflare Workers, but can be used as a standalone library with the convenient API for a wide variety of HTML rewriting/analysis tasks.

The crate provides two main API entry points:

Modules§

errors
The errors that can be produced by the crate’s API.
html_content
HTML content descriptors that can be produced and modified by a rewriter.
send
These module contains types to work with Sendable HtmlRewriters.

Macros§

comments
A convenience macro to construct a rewriting handler for HTML comments in the inner content of an element that can be matched by the specified CSS selector.
doc_comments
A convenience macro to construct a rewriting handler for all HTML comments in the HTML document.
doc_text
A convenience macro to construct a rewriting handler for all text chunks in the HTML document.
doctype
A convenience macro to construct a handler for document type declarations in the HTML document.
element
A convenience macro to construct a rewriting handler for elements that can be matched by the specified CSS selector.
end
A convenience macro to construct a rewriting handler for the end of the document.
streaming
A convenience macro to construct a StreamingHandler from a closure.
text
A convenience macro to construct a rewriting handler for text chunks in the inner content of an element that can be matched by the specified CSS selector.

Structs§

AsciiCompatibleEncoding
This is an encoding known to be ASCII-compatible.
DocumentContentHandlers
Specifies document-level content handlers.
ElementContentHandlers
Specifies element content handlers associated with a selector.
HtmlRewriter
A streaming HTML rewriter.
LocalHandlerTypes
Handler type for non-Sendable HtmlRewriters.
MemorySettings
Specifies the memory settings for HtmlRewriter.
RewriteStrSettings
Specifies settings for the rewrite_str function.
Selector
Parsed CSS selector.
Settings
Specifies settings for HtmlRewriter.

Traits§

HandlerTypes
Trait used to parameterize the type of handlers used in the rewriter.
OutputSink
Defines an interface for the HtmlRewriter’s output.

Functions§

rewrite_str
Rewrites given html string with the provided settings.

Type Aliases§

CommentHandler
Handler for HTML comments.
DoctypeHandler
Handler for the document type declaration.
ElementHandler
Handler for elements matched by a selector.
EndHandler
Handler for the document end. This is called after the last chunk is processed.
EndTagHandler
Handler for end tags.
HandlerResult
The result of a handler.
TextHandler
Handler for text chunks present the HTML.