pub trait Renderer {
    fn open(&mut self, tag: &str, attrs: &[(&str, String)]);
    fn close(&mut self, tag: &str);
    fn self_close(&mut self, tag: &str, attrs: &[(&str, String)]);
    fn contents(&mut self, nodes: &[Node]);
    fn cr(&mut self);
    fn text(&mut self, text: &str);
    fn text_raw(&mut self, text: &str);
    fn ext(&mut self) -> &mut RenderExtSet;
}
Expand description

Each node outputs its HTML using this API.

Renderer is a struct that walks through AST and collects HTML from each node into internal buffer.

Required Methods

Write opening html tag with attributes, e.g. <a href="url">.

Write closing html tag, e.g. </a>.

Write self-closing html tag with attributes, e.g. <img src="url"/>.

Loop through child nodes and render each one.

Write line break (\n). Default renderer ignores it if last char in the buffer is \n already.

Write plain text with escaping, <div> -> &lt;div&gt;.

Write plain text without escaping, <div> -> <div>.

Extension set to store custom stuff.

Implementors