Architecture

This section gives an overview of innoconv-mintmods architecture.

The command line interface

The entry point is the command line tool innoconv-mintmod.

It calls panzer which is a Pandoc wrapper tool with the correct parameters.

Most of the magic happens in the package MintmodFilterAction.

It is implemented as a Pandoc filter and provides functions to deal with a number of special LaTeX mintmod commands Pandoc would otherwise just ignore.

All special commands are translated into primitives Pandoc knows already. Additionally information is encoded in attributes that are attached to the resulting elements.

The result of the MintmodFilterAction is a regular Pandoc AST that can be further processed by Pandoc output modules, thus be translated to Markdown, LaTeX, HTML and so forth.

panzer

panzer is a small wrapper script around Pandoc. It enriches Pandoc with serveral useful features that just happened to match this projects needs.

First of all it is possible to define profiles (called styles in panzer) that can already define parameters on how to run Pandoc.

Furthermore it can manage applied filters, run pre- and postprocessors etc.

You can find its configuration in the sub-directory .panzer.

A conversion run in a nutshell

TDB