This is where I store my configuration files for pandoc.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
et-book
README.md
github.css
mdr.sh
tufte.css

README.md

Aizan's Pandoc Config

Welcome to this Git repository. I recently started learning how to couple my writing workflow with Markdown with Pandoc to generate HTML and PDF files. Recently I customized by Vim heavily so that it feels homey for writing.

Warning. This repository is still a work in progress.

Clone this repo

git clone git@github.com:aixnr/pandoc-config.git ~/.pandoc

This command downloads this repository to the ~/.pandoc directory. Congrats!

The mdr.sh

Take a look at the mdr.sh file. To use it, issue this command:

$ ./mdr.sh input.md output.html 

Note: Make sure mdr.sh is executable. Run chmod +x mdr.sh first.

This takes the first variable as input (a Markdown file) and the second variable as output (an HTML file). Further customization of this bash script is possible. For example:

#!/bin/bash
pandoc "$1" --smart --self-contained \
        --css=/home/fiona/.pandoc/$3.css --highlight-style=haddock \
        --output="$2"

Where fiona is the $USER of my box. It takes the third variable $3, which is a CSS file that's present in my ~/.pandoc folder. As you can see, currently I have 2 CSS files.

entr

$ find . | entr ./mdr.sh input.md output.html 

This command requires entr to be installed (available on brew as well). It is a simple mechanism to automatically generate output.html. When entr sees changes in the input.md, it will spit out the updated output.html. However, this does not do browser live-reload (a.k.a hot-reload), so a user must reload the browser page manually.

path

To make it easier, simply move mdr.sh to /usr/local/bin and refresh with hash -r. Now, the mdr.sh can be invoked anywhere!

acknowledgements & resources

  1. Osmo Salomaa's GitHub repository
  2. Jake Zimmerman's GitHub repository
  3. Martin Betz's write-up on using Markdown + Pandoc to generate PDF invoices