markdown-parser 0.1.2

😎 This a crate that can parse a markdown file
Documentation
# Markdown Parser


😎 This a crate that can parse a markdown file.

Especially when you have front matters in your markdown file, this would help you to parse them.

# Start


It is always easy to use this parser.

Just start to read a markdown file and parse it.

```rust
use markdown_parser::{
    read_file, Error
};

fn main() -> Result<(), Error> {
    let md = read_file("$PATH.md")?;
    let content = md.content();
    println!("{}", content);
    Ok(())
}
```

# Front Matter


`md-parser` have 3 format for `front matter`, which can be confirmed in running time.

```rust
enum Format {
    JSON,
    YAML,
    TOML,
}
```

These formats are the most popular format for front matters, if you are not included, maybe you need to do parsing work by yourself.

you can goto [documentation]("https://docs.rs/markdown-parser/") to see more about crate.

# Adapt


Sometimes you have to transform your front matter in markdown.

For example, you have this:

```yaml
---
date: 2020-01-02
title: it is yaml
categories:
  - rust
tags:
  - front-matter
  - md
---

```

And you need a toml-style front matter for your markdown rendering tasks.

So you have just use feature `adapt` to use transforming task which will load `serde` crates.

```toml
[dependencies.markdown-parser]
version = "*"
features = ["adapt"]
```

In fact, this task is quite common so feature `adapt` is enabled in default.

Now you can change md file like this:

```rust
use markdown_parser::*;

fn main() -> Result<(), Error> {
    let origin = read_file("yaml.md")?;
    let md = origin.adapt::<TomlAdapter, BasicObject>()?;
    md.write_file("toml.md")?;
    Ok(())
}
```