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 文本处理

Download history 46/week @ 2024-03-14 40/week @ 2024-03-21 86/week @ 2024-03-28 59/week @ 2024-04-04 54/week @ 2024-04-11 66/week @ 2024-04-18 93/week @ 2024-04-25 53/week @ 2024-05-02 78/week @ 2024-05-09 98/week @ 2024-05-16 63/week @ 2024-05-23 53/week @ 2024-05-30 1409/week @ 2024-06-06 1834/week @ 2024-06-13 2597/week @ 2024-06-20 3204/week @ 2024-06-27

9,048 每月下载量

Apache-2.0

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继承的SerializeDeserialize,可以直接与serde_json一起使用。

示例用法

let para = Block::Para(vec![Inline::Str("b".to_owned())]);

let s = serde_json::to_string(&para)?;
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