I previously ran this site on top of a WordPress instance that I rarely used. Despite having a low-traffic, minimal-content website, I never want to worry about flash traffic impacting site availability. I am a professional, you know.
Amazon provides detailed instructions on setting up a static website on AWS S3. I wanted to maintain a blog despite the limitations of my new hosting provider. I decided to see what was possible with S3 as a static host used for regularly updated content.
Jekyll is a powerful blog-aware static site generator. GitHub Pages are powered by Jekyll, but I didn’t want to place my site contents in a public GitHub repository. A public repository would expose all of my draft posts, and I can expose enough stupid thoughts to the world without sharing my drafts. S3 and a private BitBucket repository therefore became my tools of choice.
After a short detour of rolling my own simple Bash-based static site generator for fun, I switched to Jekyll. The only portion of my Bash-based generator that remained was a script to upload the Jekyll-generated site to S3 using the s3cmd command-line tool. Getting started with Jekyll was easy:
gem install jekyll jekyll new dlane-net-web cd dlane-net-web jekyll server
As was my Bash deploy script:
#!/bin/bash set -e jekyll build echo "Transferring content to S3..." for file in `find _site` do UPLOAD_PATH=`echo $file | sed 's/^_site/dlane.net/g'` if [ -f "$file" ]; then s3cmd put $file s3://$UPLOAD_PATH fi done
While the experience has been satisfactory, I would not recommend this path for any heavy WordPress users. Jekyll could quickly become a pain point in your writing process if you are uncomfortable writing content in pure HTML or Markdown syntax, or if you have needs that a static web page can not offer. That said, Jekyll is a great solution for small-time writers like myself.