Expand description
Convert HTML to text formats.
This crate renders HTML into a text format, wrapped to a specified width. This can either be plain text or with extra annotations to (for example) show in a terminal which supports colours.
§Examples
let html = b"
<ul>
<li>Item one</li>
<li>Item two</li>
<li>Item three</li>
</ul>";
assert_eq!(from_read(&html[..], 20).unwrap(),
"\
* Item one
* Item two
* Item three
");
A couple of simple demonstration programs are included as examples:
§html2text
The simplest example uses from_read
to convert HTML on stdin into plain
text:
$ cargo run --example html2text < foo.html
[...]
§html2term
A very simple example of using the rich interface (from_read_rich
) for a
slightly interactive console HTML viewer is provided as html2term
.
$ cargo run --example html2term foo.html
[...]
Note that this example takes the HTML file as a parameter so that it can read keys from stdin.
Modules§
- config
- Configure the HTML to text translation using the
Config
type, which can be constructed using one of the functions in this module. - css
- Some basic CSS support.
- render
- Module containing the
Renderer
interface for constructing a particular text output.
Structs§
- Colour
- An RGB colour value
- RcDom
- The DOM itself; the result of parsing.
- Render
Tree - The structure of an HTML document that can be rendered using a
TextDecorator
.
Enums§
- Error
- Errors from reading or rendering HTML
Functions§
- from_
read - Reads HTML from
input
, and returns aString
with text wrapped towidth
columns. - from_
read_ coloured - Reads HTML from
input
, and returns text wrapped towidth
columns. - from_
read_ rich - Reads HTML from
input
, and returns text wrapped towidth
columns. - from_
read_ with_ decorator - Reads HTML from
input
, decorates it usingdecorator
, and returns aString
with text wrapped towidth
columns. - parse
- Reads and parses HTML from
input
and prepares a render tree.