[−][src]Crate ansi_to_html
Convert a string that can contain ANSI escape codes to HTML.
This crate currently supports SGR parameters (text style and colors). The supported styles are:
- bold
- italic
- underlined
- crossed out
- faint
- foreground and background colors: 3-bit, 4-bit, 8-bit, truecolor (24-bit)
Not supported SGR parameters (note that most of these are niche features and rarely supported by terminals):
- slow/rapid blink
- reverse video
- conceal
- alternative fonts
- fraktur
- doubly underlined
- proportional spacing
- framed
- encircled
- overlined
- underline color (not in standard)
- ideogram attributes
- superscript, subscript (not in standard)
- bright foreground/background color (not in standard)
All unsupported ANSI escape codes are stripped from the output.
It should be easy to add support for more styles, if there's a straightforward HTML representation. If you need a different style (e.g. doubly underlined), file an issue.
Example
// \x1b[1m : bold \x1b[31m : red let input = "<h1> \x1b[1m Hello \x1b[31m world! </h1>"; let converted = ansi_to_html::convert_escaped(input).unwrap(); assert_eq!( converted.as_str(), "<h1> <b> Hello <span style='color:#a00'> world! </h1></span></b>" );
Structs
Esc | A formatting wrapper for escaping HTML in a string. |
Enums
Error | Errors that can occur when converting an ANSI string to HTML |
Functions
convert | Converts a string containing ANSI escape codes to HTML. |
convert_escaped | Converts a string containing ANSI escape codes to HTML.
Special html characters ( |