Not having a blog and wanting to write something that can be displayed in a safe place creates a bit of a dilemma. This is the situation I found myself in a few weeks ago.

I had several goals for my blog:

  • Low cost, er, actually free.
  • Aethestic design–it had to look nice.
  • Performance–it had to feel nice.
  • Responsive–it had be usable on a smart phone.
  • Low maintenance–I don’t want to worry about security upgrades and fixing broken stuff

Now that it is built, I find myself at a loss for words. My initial impulse has faded and I have this empty site that needs filling. (Actually I still have the urge to write, but I’m low on creativity.)

So, I thought I’d write about what I did to get this site up and running.

Dynamic versus Static

Most modern websites are dynamic. This means that powerful servers and software generate what you see when you ask to see it. Blogs that run on the most popular blogging software, Wordpress, work this way–Wordpress works to assemble the page someone wants to see each time they ask for it. Wordpress is nice, but it wouldn’t work for me because it doesn’t achieve several of my goals.

So I took a look at static design. A static site is pregenerated. Every page has already been rendered. This is the way the web worked when it first began. Static web sites can be served from free servers and can be served very quickly.

But generating everything by hand is tedious and time consuming and not fun at all. Imagine having to create a new page from scratch every time the urge hit to write. If I had to do that I’d never be able to preserve any creativity for the actual exercise–and if you were around in the early days of the web, you might remember that design consistency was the exception rather than the rule.

Jekyll to the Rescue

Jekyll generates simple blog-aware static sites. I spent my time up front getting the design to where I wanted it and configuring Jekyll. This is a bit like wiring or plumbing–get all the pieces in the right sequence and connect them so that when Jekyll is fed raw text it handles all the tedium and spits out a static site.

Free hosting is handled by storing everything on GitHub and setting up hosting on Netlify. Netlify reads from GitHub and serves the pages that make up the site.

Comments can’t be handled directly by a static site and so I’ve enlisted Disqus for that job. Likewise, subscriptions are handled by Mailchimp.

Probably the best part for me is that I get to edit my work in my favorite text editor, Visual Studio Code.

I can write with no distractions and I’m looking forward to having this blog ready for my next creative impulse.