examples/graphviz.pl
#!/usr/bin/env perl
use strict;
use Pandoc::Filter;
use Pandoc::Filter::ImagesFromCode;
pandoc_filter 'CodeBlock.graphviz' => Pandoc::Filter::ImagesFromCode->new(
from => 'dot',
to => sub { $_[0] eq 'latex' ? 'pdf' : 'png' },
run => ['dot', '-T$to$', '-o$outfile$', '$infile$'],
);
=head1 NAME
graphviz - process code blocks with C<.graphviz> into images
=head1 DESCRIPTION
Pandoc filter to process code blocks with class C<graphviz> into
graphviz-generated images. Attribute C<option=-K...> can be used to select
layout engine (C<dot> by default).
=head1 SYNOPSIS
pandoc --filter graphviz.pl -o output.html < input.md
=head1 SEE ALSO
This is an extended port of
L<graphviz.py|https://github.com/jgm/pandocfilters/blob/master/examples/graphviz.py>
from Python to Perl with L<Pandoc::Elements> and L<Pandoc::Filter>.
=cut