Pandoc Extras - jgm/pandoc GitHub Wiki

Editors

Web Services to Process Files by Pandoc

Workflow

  • Pandocomatic, allows you to configure flexible and inheritable YAML templates specified in the document metadata that controls all Pandoc settings, filters, metadata and pre/post-processing. Applied to a directory, pandocomatic can act as a static site generator.
  • pdc is a command line wrapper for pandoc which makes it possible to completely control the conversion process from the first YAML meta block in the input document(s), including multiple output formats at the same time, templates, pre- and post-processors, etc.
  • panrun: minimal script that runs pandoc with the options it finds in the YAML metadata of the input file.
  • kokoi, a configurable markup file watcher, previewer, and converter that uses Pandoc as the default markup processing engine. kokoi watches for changes on the markup files in the directory kokoi is started, and if they change, automatically reprocesses and previews them directly in the browser.
  • Pandoc Build Task, a small MSBuild target to transform files with Pandoc. Provided as a Nuget package.
  • pandoc-schemata, providing JSON Schema files for Pandoc JSON.
  • pandocket, 'A python script that looks for special lines in a markdown file and uses those lines to convert, clean up, and insert content from URLs into the file for processing by pandoc'
  • fish-completion-pandoc, a pandoc completion script for use with the fish shell.
  • Pandoctools is a set of tools for writing reproducible Markdown reports. They rely on Pandoc and Jupyter kernels. At it's core is a profile manager of text processing pipelines (crossplatform bash scripts) that define chain operations over text (Pandoc filters, any text CLI filters).
  • bookbuildeR is a tool chain for compiling e-books from pandoc flavored Markdown to pdf, epub, html, and azw3, which also comes as a docker container and can also be used via online continuous integration tools such as Travis CI to automatically compile books whose sources are hosted on GitHub upon commits and automatically publish the results to GitHub pages. It also supports separating book sources in one repository and example program codes into another one, which is suitable for computer science books.
  • GitHub Actions is a workflow automation tool (CI/CD) from GitHub. You can run pandoc on GitHub Actions on every push (or other GitHub event) to, for example, convert a source document to another markup and publish the results. There are two approaches to make pandoc available on GitHub Actions:
    1. You can reference container actions based on the official docker pandoc images in your GitHub Actions workflows. To learn how to set this up, see these examples.
    2. If, instead, you want to install pandoc on the host machine directly, you can use thus setup-pandoc. This may take longer and does not offer the encapsulation of the docker images, but makes pandoc available in all steps, or even in different versions for matrix builds.
  • (abandoned since 2018) panzer, adds the concept of 'styles' to pandoc. Styles control templates, metadata settings, pandoc command line options, and instructions to run filters and pre/postprocessors in a simple, reusable, and recombinable way.

Preprocessors

Legacy

  • (included in PP) Using GPP as a preprocessor to get TeX-like macro features in Markdown.
  • (abandoned since 2013) pandoc-gpp by David Loureiro is a wrapper around pandoc and gpp in order to provide some macros for extra markup not available in markdown and its extensions.
  • (included in PP) mddia lets you embed ditaa ASCII-art diagrams in Markdown code blocks

Additional Readers

Doc processing tools using Pandoc

  • Rippledoc processes .md files into html. It ripples down from the current directory through nested subdirectories processing md files as it goes. It also generates tables of contents and navigation links, stitching together the documents into an easily-navigable whole.

  • SPAB a very simple windows GUI that uses Pandoc and a couple other open source tools to produce a .mobi, .epub, .doc, and .pdf ready for the most popular self-publishing services. (See also: WaybackMachine; How to Self Publish a Book.)

  • Pandoc Droplets and Services is a collection of simple and easily customizable Automator drag-and-drop applets and service menu items that use pandoc to produce pdf, docx, odt, and dzslides output on OS X.

  • Markdown menus, by Luke Maciak, provides contextual menus on Windows for creating PDFs and Word documents from markdown files. Double-click on the reg file to install.

  • PandocMarkdownTools is a small collection of scripts that creates a simple menu structure for conversion of Markdown docs using Pandoc. There are also scripts to simplify creation of Pandoc tables in Markdown and to automate replacement of document markers with the table text.

  • tpl4md by David Loureiro provides markdown templates for widely used documents such as simple pdf documents, complex pdf documents, letters, invoices, orders, or even slides. The goal is to be able to focus on the content that will be written in markdown. The remaining elements are handle by pandoc, latex etc.

  • pandoc-watch by David Loureiro is a simple watcher that call the pandoc command with the provided arguments when a file/folder modification is detected.

  • Uberdoc by Stephan Brosinski is a wrapper script for Pandoc which provides a build system to turn a number of markdown files (chapters) into large documents.

  • Xmindoc is a wrapper script for Pandoc which converts XMind mindmaps to any documents that are available in Pandoc.

  • Octavo is a wrapper script for Pandoc that helps to render multiple versions of the same markdown file, FTP them to a server, and insert text into the document that refers to these other versions in plain English. It supports special markdown to produce highlight boxes and other features, comes with its own templates (in Tufte style, normal PDF, Word, html, etc.), and can produce spoken audio versions.

  • PanDiff produces prose diffs for any document format supported by Pandoc, and can output Markdown with CriticMarkup, HTML, PDF, and Word docx with Track Changes

  • Bookmanager creates a publication from a number of distributed sources in github or your filesystem based on markdown files that are conveniently integrated in a table of content using yaml. It is especially useful to create customized books, lecture notes, or handouts and allows for easy customization of content for lecture notes.

  • Commentary is a command line tool and Pandoc filter that preserves native-style comments between Markdown and docx files.

Using pandoc with ConTeXt

GUIs for using Pandoc

  • DocDown: menubar bar app for Pandoc conversions. limited options, but very accessible for less tech-savvy people.
  • Pandoc Plugin for Obsidian: Wide range of conversions from markdown documents in Obsidian.
  • Pandoc-Suite for Alfred: enables one-click-conversion of Markdown Documents with Citations into .docx, .pdf, .html, .odt, or .pptx with the proper bibliography. Also features a Citation Picker for Pandoc Citations and a Citation Style file search.
  • Typora: A markdown editor, use Pandoc to export to various type of documents. See more in Typora Wiki

Tools for Websites

Blogs

Wikis

  • gitit, a pandoc-based wiki that stores pages in a git (or darcs or mercurial) repository.
  • ikiwiki-pandoc, a feature-rich pandoc plugin for ikiwiki. Supports most features of pandoc relevant for a wiki, including almost all textual input formats, several math handling options, as well as citation/bibliography processing via pandoc-citeproc. It also supports several export formats, including pdf, docx, odt, beamer and revealjs. (Ikiwiki-pandoc was originally a fork of the currently unmaintained pandoc-iki).

Static website generators

  • yst: create static websites from YAML data and string templates, written in Haskell.
  • Hakyll: a static website compiler library in Haskell.
  • Website: a bash shell script by Caleb McDaniel to generate a site using pandoc.
  • Jekyll:
  • Nikola: a Python static site generator supporting many compilers including pandoc.
  • wmk: A flexible and versatile static site generator written in Python; uses pandoc to enable non-markdown content (such as Org or RST) and non-html output (such as PDF).
  • Pandocomatic RubyGem. Can also be used to automate the use of pandoc in a more general way.
  • pdsite: single shell script with no dependencies, runs on Unix-like systems.
  • pdblog: even simpler shell script than pdsite, specifically for blog-like sites.
  • gh-themes-magick: publish your GitHub project’s single page website from master branch’s /docs/ folder using GitHub themes, and let pandoc scripts update its contents to mirror the project’s README.md.
  • simple-template/pandoc: A system to generate static websites using Make.
  • jqt template engine: jqt uses jq as expression language and Pandoc as MarkDown processor. jqt also implements a preprocessing stage using gpp for templates, MarkDown documents, JSON data and CSS files.

Serving markdown files with apache

Pandoc wrappers and interfaces

See Pandoc wrappers and interfaces

Citation

Integration with Reference Managers

Citation Style Language (CSL) with pandoc

Other Wiki Pages

Filters

See Pandoc Filters

Templates: Illustrative Pandoc Templates

  • This wiki is developing a collection of User Contributed Templates for purposes of illustration; contribute your own, or if you keep pandoc templates under revision control, link them here.

Examples of uses of pandoc