molten_ember

Crates.iomolten_ember
lib.rsmolten_ember
version0.1.0
created_at2025-12-14 18:45:55.544795+00
updated_at2025-12-14 18:45:55.544795+00
descriptionRender Markdown beautifully in the terminal 🔥
homepagehttps://molten.dev
repositoryhttps://github.com/moltenlabs/molten-ember
max_upload_size
id1984925
size42,384
Chris Mathew (chriscmathew-dorsia)

documentation

https://docs.rs/molten_ember

README

Ember

🔥 Ember

Render Markdown beautifully in the terminal.

Crates.io Documentation CI License

FeaturesInstallationUsageThemes


What is Ember?

Ember is the Rust equivalent of glow from Charmbracelet. It renders Markdown with beautiful syntax highlighting and styling directly in your terminal.

Ember Demo


Features

  • 📝 Full Markdown Support - Headers, bold, italic, code, lists, and more
  • 🎨 Beautiful Themes - Dark, light, and Molten brand themes
  • 🖼️ Code Blocks - Syntax-aware rendering with borders
  • 📋 Lists - Ordered and unordered with proper indentation
  • 📎 Links - Underlined and colored for visibility
  • 💬 Blockquotes - Styled with vertical bars
  • Horizontal Rules - Clean separators

Installation

As a library

cargo add ember

As a CLI tool

cargo install ember

Quick Start

Library Usage

use ember::render;

let markdown = r#"
# Welcome to Ember 🔥

This is **bold** and *italic* text.

## Code Example

```rust
fn main() {
    println!("Hello, Ember!");
}
  • Item one
  • Item two
  • Item three

This is a blockquote "#;

let rendered = render(markdown); println!("{}", rendered);


### CLI Usage

```bash
# Render a file
ember README.md

# Render from stdin
cat README.md | ember

# Use a different theme
ember README.md --theme molten

# Set custom width
ember README.md --width 100

Themes

Ember comes with three beautiful themes:

Dark Theme (default)

use ember::{render_with_theme, Theme};

let rendered = render_with_theme(markdown, &Theme::dark());

Light Theme

let rendered = render_with_theme(markdown, &Theme::light());

Molten Theme

let rendered = render_with_theme(markdown, &Theme::molten());

Custom Theme

use ember::{Theme, ThemeColors};
use glyphs::Color;

let theme = Theme::new()
    .width(100)
    .colors(ThemeColors {
        heading: Color::from_hex("#F97316"),
        bold: Color::from_hex("#FAFAFA"),
        italic: Color::from_hex("#A1A1AA"),
        code: Color::from_hex("#10B981"),
        code_bg: Color::from_hex("#18181B"),
        link: Color::from_hex("#3B82F6"),
        quote: Color::from_hex("#71717A"),
        bullet: Color::from_hex("#7C3AED"),
        rule: Color::from_hex("#3F3F46"),
        text: Color::from_hex("#E4E4E7"),
    });

let rendered = render_with_theme(markdown, &theme);

Supported Markdown Elements

Element Syntax Output
Heading # Title Bold, colored
Bold **text** Bold
Italic *text* Italic
Code `code` Highlighted
Code Block ``` Bordered box
Link [text](url) Underlined
List - item Bulleted
Blockquote > text Indented, styled
Rule --- Horizontal line

CLI Options

ember [FILE] [OPTIONS]

Arguments:
  [FILE]  Markdown file to render (use - for stdin) [default: -]

Options:
  -t, --theme <THEME>  Theme (dark, light, molten) [default: dark]
  -w, --width <WIDTH>  Width for wrapping [default: 80]
  -h, --help           Print help
  -V, --version        Print version

Ecosystem

Ember is part of the Molten Labs open source ecosystem:

Crate Description
molten_brand Design tokens & colors
glyphs ANSI escape sequences
lacquer Terminal styling
cauldron TUI framework
sparks TUI components
rune Shell glamour
ember Markdown renderer (you are here)
smelt Pretty logging

Why "Ember"?

Like glowing embers in a forge, Ember brings warmth and light to your terminal, illuminating your Markdown documents with beautiful rendering. 🔥


Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines.


License

Licensed under either of:

at your option.


Built with 🔥 by Molten Labs

Commit count: 0

cargo fmt