Skip to main content

Crate glow

Crate glow 

Source
Expand description

§Glow

A terminal-based markdown reader and browser.

Glow provides a beautiful way to read markdown files directly in the terminal:

  • Render local markdown files
  • Browse local files
  • Fetch GitHub READMEs (with the github feature)
  • Stash and organize documents
  • Customizable pager controls

§Role in charmed_rust

Glow is the application-layer Markdown reader:

  • glamour renders Markdown content.
  • bubbletea powers the pager UI and input handling.
  • bubbles provides reusable viewport components.
  • lipgloss styles the output and chrome.

§Quick start (library)

use glow::{Reader, Config};

fn main() -> std::io::Result<()> {
    let config = Config::new()
        .pager(true)
        .width(80)
        .style("dark");

    let reader = Reader::new(config);
    let rendered = reader.read_file("README.md")?;
    println!("{rendered}");
    Ok(())
}

§CLI usage

glow README.md
glow --style light README.md
glow --width 80 README.md
glow --no-pager README.md
cat README.md | glow -

§Feature flags

  • github: enable GitHub README fetching utilities
  • default: core markdown rendering via glamour

Modules§

browser
Interactive file browser for discovering and selecting markdown files.
prelude
Prelude module for convenient imports.

Structs§

Config
Configuration for the markdown reader.
Reader
Markdown file reader.
Stash
Stash for saving and organizing documents.