Skip to main content

Crate mdansi

Crate mdansi 

Source
Expand description

§mdANSI

A blazing-fast Markdown-to-ANSI terminal renderer with built-in syntax highlighting.

§Quick Start

use mdansi::render_markdown;

let markdown = "# Hello\n\nThis is **bold** and *italic*.";
let ansi = render_markdown(markdown);
print!("{}", ansi);

§With Custom Options

use mdansi::{Renderer, RenderOptions, Theme};

let theme = Theme::default();
let options = RenderOptions { width: 100, ..Default::default() };
let renderer = Renderer::new(theme, options);
let output = renderer.render("## Custom rendering");
print!("{}", output);

§Streaming (for LLM output)

use mdansi::{StreamRenderer, RenderOptions, Theme};

let stdout = std::io::stdout().lock();
let mut stream = StreamRenderer::new(stdout, Theme::default(), RenderOptions::default());
stream.push("# Streaming\n").unwrap();
stream.push("Hello **world**\n").unwrap();
stream.flush_remaining().unwrap();

Re-exports§

pub use render::render_markdown;
pub use render::render_markdown_with_width;
pub use render::RenderOptions;
pub use render::Renderer;
pub use stream::StreamRenderer;
pub use style::Color;
pub use style::Style;
pub use terminal::TerminalCaps;
pub use theme::Theme;

Modules§

error
highlight
hyperlink
parser
render
stream
style
table
terminal
theme
wrap