Crate prettify_cmark

Crate prettify_cmark 

Source
Expand description

Pretty-printing for CommonMark documents.

§Simple API

For simple use-cases, the prettify function can be used to parse and pretty-print a CommonMark document.

use prettify_cmark::prettify;

let output = prettify("Lorem __ipsum__ dolor `sit` amet!");

assert_eq!(output,  "Lorem **ipsum** dolor `sit` amet!")

§Advanced API

For more advanced use-cases, this crate is designed to work well together with the pulldown-cmark crate.

It provides a PrettyPrinter which wraps around an output type (such as String), and into which events can be pushed that have been obtained from pulldown-cmark.

use pulldown_cmark::Parser;
use prettify_cmark::PrettyPrinter;

let events = Parser::new("Lorem _ipsum_ dolor `sit`.");
let mut printer = PrettyPrinter::default();
printer.push_events(events).unwrap();

assert_eq!(printer.into_inner(), "Lorem *ipsum* dolor `sit`.")

Re-exports§

pub extern crate pulldown_cmark;

Structs§

PrettyDisplay
Wrapper that will pretty print the wrapped document when formatted via Display.
PrettyPrinter
Event-driven pretty printer for CommonMark documents.

Functions§

prettify
Parses a CommonMark document and returns it as a pretty printed string.