Unmaintained and unfinished: please use maintained alternatives like pulldown-cmark instead.
md.rs is intended to be a simple Markdown parser in Rust. It will provide token-based stream parser capabilities.
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"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.
This library is licensed under MIT license.
Copyright (C) Vladimir Matveev, 2014