The Setup

This blog is using Pelican, a static site generator written in Python. I’ve been using Pelican for a year now; once you get familiar with the workflow, it’s simple, powerful and straightforward. And most importantly – it makes your website fly. It uses the Jinja templating engine, which makes writing even complex applications fun.

You can either use reStructuredText or Markdown to write your content. I prefer Markdown. I use SublimeText to write pretty much everything, also documents in Markdown. The only thing I miss is a proper speller. I use Grammarly and it’s worth every penny. Too bad I can’t integrate it to my SublimeText workflow. Meanwhile, I just add the contenteditable attribute on my local setup, which basically makes every article tag a massive textarea.

Before publishing, it goes through cssmin to combine and compress the CSS files and htmlmin – to remove comments and whitespace. There is a small gain using htmlmin, but gzip alone compresses whitespace really well. Did you know attribute quotes are optional in HTML5? You can get rid of them too! But it looks way cleaner and more consistent using them, and all editors can deal with it properly.

And finally, it is hosted by surge.sh which allows seamless hosting for static files. It also acts as CDN. Surge is CLI based and really easy to use. Just install the npm package, type surge and you’re ready. They have paid and free plans, and even give basic SSL for free!


Of course, you could also throw Cloudflare in front of it, but I’m not sure how I feel about the fact they run most of the Internet now.