Static sites are awesome. They’re super fast, fully cacheable, database-free, and no-frills-easy to make. If you don’t require database-driven content you can achieve plenty with a static site.
But maintenance sucks.
For every page of your static site, you’ve got repeated content (ie. headers, footers, nav sections, markup applied to collections of things). Think about making a change to a link in your header navigation. Now multiply that across every page… Not exactly DRY.
The Best of Both Worlds
Jekyll in Three Lines
Jekyll is stupid easy to get started. You’ll need ruby installed, but after that these three lines generate your initial site.
~ $ gem install jekyll ~ $ jekyll new my-awesome-site ~ $ cd my-awesome-site ~/my-awesome-site $ jekyll serve # => Now browse to http://localhost:4000
Jekyll on Heroku
You can use Github Pages as a free hosting solution, but I chose to deploy to Heroku because Pages doesn’t allow the use of Jekyll plugins yet. You can check out a gist of my Heroku setup. I’ve used more complicated Heroku setups to leverage caching and multiple worker processes (using Unicorn), but I’ll save that for another time.
I’m convinced static sites beat a CMS 90% of the time in terms of setup, speed, and ease. I’ll be using either Jekyll or Middleman to create a new and improved FederatedSample.com next.
So, what’s your take on Jekyll?