Pandoc Filters

Scott Koga-Browes edited this page Jan 13, 2017 · 50 revisions

Pandoc provides an interface for users to write programs (known as filters) which act on the intermediate AST. A tutorial about filters can be found here.

This page collects together third party filters which can be used to add functionality to pandoc.

Writing Filters

Filters can be written in any programming language. Pandoc wrappers and interfaces are available in the following programming languages to facilitate modification of the AST:

language link description
Python pandocfilters a library for writing pandoc filters in python.
Python panflute a pythonic alternative to pandocfilters, with batteries included.(@jgm recommended this in pandoc discuss)
PHP pandocfilters-php a port of the python pandocfilters module to PHP to make writing filters in PHP easier.
Node.js pandoc-filter-node a Node.js module for writing pandoc filters in JavaScript.
Perl Pandoc::Elements a CPAN module for writing pandoc filters in Perl.
Groovy groovy-pandoc a library for writing Pandoc filters in Groovy.

Other tools:

  • vimhl, a vim plugin that makes vim syntax highlighting engine available in pandoc.
  • pandoc-jats, a Lua custom writer for Pandoc generating JATS XML.

Written Filters

The following is a list of some known 3rd party filters: