Build Status

This crate allows you to implement filters for pandoc. The easiest way is to them in conjunction with the pandoc crate. You can also create a binary that reads from stdin and writes to stdout and pass that to a normal pandoc call with --filter

Instructions

```rust extern crate pandoc; extern crate pandoc_ast;

fn main() { let mut pandoc = pandoc::new();

...

pandoc.add_filter(|json| pandoc_ast::filter(json, |mut pandoc| {
    for block in &mut pandoc.1 {
        use pandoc_ast::Block::*;
        *block = match *block {
            CodeBlock((_, ref kinds, _), _) if kinds.iter().next() == Some("graphviz") => {
                // do something to change a graphviz block into an image
            }
        }
    }
    pandoc
}));
pandoc.execute().unwrap();

} ```