7个版本 (破坏性)
0.6.0 | 2023年2月11日 |
---|---|
0.5.0 | 2022年2月7日 |
0.4.0 | 2021年7月7日 |
0.3.3 | 2020年5月26日 |
0.1.0 | 2017年2月26日 |
#334 in 文本处理
9,048 每月下载量
33KB
701 行
Rust版pandoc-types
这个库提供了一个Rust版的pandoc-types Haskell包。
要安装,请将以下内容添加到您的 Cargo.toml
[dependencies]
pandoc_types = "0.6"
这个库是做什么用的
pandoc-types的目的是允许Rust程序以原生的方式操作Pandoc文档。使用这个库,Rust程序应该能够以原则性的方式(即通过AST,而不是文本)创建和修改Pandoc文档。这个库也可以与serde_json一起使用,将Pandoc文档序列化和反序列化到Pandoc的JSON格式。
这个库不是做什么用的
这个库不提供调用Pandoc可执行文件的方式。如果您需要这样做,请考虑使用rust-pandoc库。
兼容性
当前版本与Haskell pandoc-types 1.23兼容。这是写作时的最新版本。
如果您需要支持pandoc-types的先前版本,请参考以下支持表以确定要使用哪个版本
Rust版本 | pandoc-types版本 | pandoc版本 |
---|---|---|
0.6 | 1.23 | 3.0– |
0.5 | 1.22 | 2.11–2.19 |
0.4 | 1.22 | 2.11–2.19 |
0.3 | 1.20 | 2.8–2.9 |
0.2 | 1.17 | 1.18–2.7 |
0.1 | 1.17 | 1.18–2.7 |
支持的模块
以下是从pandoc-types支持的模块
- Haskell
Text.Pandoc.Definition
(在Rust中为pandoc_types::definition
)
请注意,在Rust中Text.Pandoc.JSON
是不必要的,因为所有类型都实现了从serde继承的Serialize
和Deserialize
,可以直接与serde_json一起使用。
示例用法
let para = Block::Para(vec![Inline::Str("b".to_owned())]);
let s = serde_json::to_string(¶)?;
println!("serialized = {}", s);
let d: Block = serde_json::from_str(&s)?;
println!("deserialized = {:?}", d);
有关完整示例,请参阅examples/definition.rs。
许可协议
此库根据Apache许可证版本2.0授权(请参阅LICENSE.txt)。
依赖项
~0.4–1MB
~23K SLoC