Jeff Dickman - Blog There's something to this...

Blogging with Jekyll and S3

I did a fair bit of research before I moved my blog off it’s fancy WordPress site to a static site that could be hosted in S3. There are a lot of ways you could go with this one, some of them are pretty complex - like writing my own HTML and managing content that way - yuck. I wanted something simple, that I could easily update.

The first thing I needed to decide was how was I going to generate my content. I found a couple different static site generators that seemed relatively easy to use: Jekyll and Hugo. They both had features I liked I tried them out. I found a lot of articles on creating these complex publishing pipelines and scripts for uploading to S3. Frankly, I seemed like it had to be easier. I finally decided (on the flip of a coin) to go with Jekyll.

The Jekyll docs are pretty straight forward for getting up and running on your local computer. Things got a little more problematic when I decided to replace the default theme with a custom one. I found that many of the gemfile themes had issues with layouts not existing and I really didn’t like the way most of them looked. I ended up not using a gemfile theme and just replacing the gemfile with a downloaded theme. This way, I can customize things a little more to my liking down the road.

I took a bit of time to get familiar with Jekyll on my computer and make sure I understood how to write content. Once I felt comfortable with that, I was ready to try publishing to S3. Jekyll provides a lit of tools that make uploading very easy. It made the most sense to go with s3_website for uploading content. It’s well documented and easy to setup - I don’t like that I need to put my API keys into the configuration file. If you are using Git to version your files, be sure to add the s3_website.yml to your .gitignore file - you don’t want those API keys getting out into the wild.

So now that the site is up and running in S3, I have a few more tasks to figure out. I’ll be updating this post as I get to them.

To Do List

  • Comments
  • Site Metrics
  • Sharing Links