md

Crates.iomd
lib.rsmd
version0.0.1
sourcesrc
created_at2014-11-20 23:18:27.918437
updated_at2015-12-11 23:56:40.231265
descriptionA pure-Rust Markdown parser implementation, CommonMark-compatible
homepage
repositoryhttps://github.com/netvl/md.rs
max_upload_size
id183
size52,230
Vladimir Matveev (netvl)

documentation

README

md.rs: Markdown parser in Rust

md.rs is intended to be a simple Markdown parser in Rust. It will provide token-based stream parser capabilities.

How to build

md.rs uses Cargo, so just make a dependency on it in your Cargo.toml manifest:

[dependencies.md]
git = "https://github.com/netvl/md.rs"

How to use

The main object in the library is md::MarkdownParser struct. It implements Iterator<md::tokens::Block> trait, so you can use it in for loop:

extern crate md;

use std::io::File;

use md::MarkdownParser;
use md::tokens::Heading;

fn main() {
    let mut f = File::open("/some/markdown/document.md").unwrap();
    let buf = f.read_to_end().unwrap();

    let mut p = MarkdownParser::new(buf.as_slice());
    for token in p {
        match token {
            Heading { level, content } =>
                println!("Heading level {}, content: {}", level, content),
            _ =>
        }
    }
}

See example programs in examples subpackage.

License

This library is licensed under MIT license.


Copyright (C) Vladimir Matveev, 2014

Commit count: 50

cargo fmt