Crates.io | pandoc_types |
lib.rs | pandoc_types |
version | 0.6.0 |
source | src |
created_at | 2017-02-26 08:33:23.119022 |
updated_at | 2023-02-11 17:55:34.227828 |
description | Rust port of pandoc-types |
homepage | |
repository | https://github.com/elliottslaughter/rust-pandoc-types |
max_upload_size | |
id | 8695 |
size | 83,964 |
This library provides a Rust port of the pandoc-types Haskell package.
To install, add the following to your Cargo.toml
:
[dependencies]
pandoc_types = "0.6"
The purpose of pandoc-types is to allow Rust programs to natively manipulate Pandoc documents. Using this library, Rust programs should be able to create and modify Pandoc documents in a principled way (i.e. via ASTs, not text). This library can also be used along with serde_json to serialize and deserialize Pandoc documents to and from Pandoc's JSON format.
This library does not provide a way of calling the Pandoc executable itself. If that's what you're looking for, consider the rust-pandoc library.
The current version is compatible with Haskell pandoc-types 1.23. This is the most recent version at the time of writing.
If you require support for a previous version of pandoc-types, please refer to the following support table to determine which version to use:
Rust Version | pandoc-types Version | pandoc Versions |
---|---|---|
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 |
The following modules from pandoc-types are supported:
Text.Pandoc.Definition
(as pandoc_types::definition
in Rust)Note that Text.Pandoc.JSON
is unnecessary in Rust because all types
implement Serialize
and Deserialize
from
serde and can be used directly
with 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);
For a full example, see examples/definition.rs.
This library is licensed under the Apache License, Version 2.0 (see LICENSE.txt).