Expand description
A pull parser for Djot.
The main entry is through Parser
which constructs an Iterator
of Event
s. The events
can then be processed before rendering them via the Render
trait. This crate provides an
html
module that implements an HTML renderer.
§Feature flags
html
(default): build the html module and a binary that converts djot to HTML.
§Examples
Generate HTML from Djot input:
let djot_input = "hello *world*!";
let events = jotdown::Parser::new(djot_input);
let html = jotdown::html::render_to_string(events);
assert_eq!(html, "<p>hello <strong>world</strong>!</p>\n");
Apply some filter to a specific type of element:
let events =
jotdown::Parser::new("a [link](https://example.com)").map(|e| match e {
Event::Start(Link(dst, ty), attrs) => {
Event::Start(Link(dst.replace(".com", ".net").into(), ty), attrs)
}
e => e,
});
let html = jotdown::html::render_to_string(events);
assert_eq!(html, "<p>a <a href=\"https://example.net\">link</a></p>\n");
Modules§
Structs§
- Attribute
Value - Stores an attribute value that supports backslash escapes of ASCII punctuation upon displaying, without allocating.
- Attribute
Value Parts - An iterator over the parts of an
AttributeValue
that should be displayed. - Attributes
- A set of attributes, with order, duplicates and comments preserved.
- Offset
Iter - An iterator that is identical to a
Parser
, except that it also emits the location of each event within the input. - Parse
Attributes Error - Parser
- A parser that generates
Event
s from a Djot document.
Enums§
- Alignment
- Alignment of a table column.
- Attribute
Kind - The kind of an element within an attribute set.
- Container
- A container that may contain other elements.
- Event
- A Djot event.
- Link
Type - The type of an inline link.
- List
Bullet Type - Character used to create an unordered list item.
- List
Kind - The type of a list.
- Ordered
List Numbering - Numbering type of an ordered list.
- Ordered
List Style - Style of an ordered list.
- Span
Link Type - The type of an inline span link.