A pandoc filter for globbing image paths in multi file projects.
In multi file and GitHub stored markdown projects, many images are specified relative to their documents. For example consider the following document tree:
example |-- section1 | |-- image1.png | `-- section1.md |-- section2 | |-- images | | |-- image3.png | | `-- image2.png | `-- section2.md `-- Makefile
Assuming the Makefile would compile my full book, it might look like this:
book: pandoc -o book.pdf section*/*.md
And in section1.md there would be a line referencing image1.png, etc. This is often used because then the GitHub preview looks awesome! However, pandoc has no way of telling where files came from, so it loses track of image references, resulting in errors like this:
[pandoc warning] Could not find image `image1.png', skipping... [pandoc warning] Could not find image `images/image2.png', skipping... [pandoc warning] Could not find image `images/image3.png', skipping...
pandoc-img-glob solves this problem by just searching recursivly through the path find images matching the given filenames and providing pandoc (and pandoc only) with the absolute paths. This allows for both: Beautiful pdfs and GitHub previews using the updated Makefile.
fixedbook: pandoc --filter pandoc-img-glob -o book.pdf section*/*.md
However, this filter becomes slow if you have very deep and complex file trees, and if you have multiple images with the same name, it will just silently use the first it finds.
Just use pip to install it from pypi
pip install pandoc-img-glob
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.