3 个版本
0.1.2 | 2021年4月10日 |
---|---|
0.1.1 | 2021年4月9日 |
0.1.0 | 2021年4月9日 |
16 在 #parse-markdown
每月 45 次下载
18KB
330 行
Markdown 解析器
😎 这是一个可以解析 markdown 文件的 crate。
特别是当你有 markdown 文件中的 front matters 时,这将帮助你解析它们。
开始
使用这个解析器总是很容易。
只需开始读取一个 markdown 文件并解析它。
use markdown_parser::{
read_file, Error
};
fn main() -> Result<(), Error> {
let md = read_file("$PATH.md")?;
let content = md.content();
println!("{}", content);
Ok(())
}
前端内容
md-parser
有 3 种前端内容格式,可以在运行时确认。
enum Format {
JSON,
YAML,
TOML,
}
这些格式是最流行的前端内容格式,如果你不包括在内,可能需要自己进行解析工作。
你可以访问 文档 了解关于 crate 的更多信息。
适配
有时你不得不将 markdown 中的前端内容进行转换。
例如,你有这样的内容
---
date: 2020-01-02
title: it is yaml
categories:
- rust
tags:
- front-matter
- md
---
你需要为 markdown 渲染任务使用 toml 风格的前端内容。
所以你可以使用功能 adapt
来使用转换任务,这将加载 serde
crates。
[dependencies.markdown-parser]
version = "*"
features = ["adapt"]
实际上,这个任务非常常见,所以默认情况下启用了功能 adapt
。
现在你可以像这样更改 md 文件
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(())
}
依赖
~3.5–5MB
~100K SLoC