A New Blog Using Pandoc and Make

A New Blog Using Pandoc and Make

The old stack for my website was Python/Flask, uWSGI and nginx — three of which were completely unnecessary for a static site. Having a dynamic website for personal blogging seems like overkill to me.

Why Not Hugo?

I've tried Hugo in the past, but I don't like that all the websites end up loking the same. After a myriad of problems I figured I'd roll my own. Pandoc is great and GNU make is the right tool for incremental builds.

Here's a exert form the top-level Makefile:

Makefile
$(POSTS_OUT)/%.html: posts/%.md $(TEMPLATE) style.css | $(POSTS_OUT)
    $(PANDOC) \
      --template=$(TEMPLATE) \
      --from=markdown+smart \
      --to=html5 \
      --standalone \
      --metadata-file=/dev/null \
      -o $@ $<
    @echo "  built: $@"

What's Missing

Having a search option would be nice, but would at minimum need to include a bit of JavaScript, which I already use with the "Copy" button in the code blocks. The Tags page works well, but having a dynamic search would be much better.