So, I finally rebuilt this site last week. With so many choices, choosing a framework can be tough. After a lot of research, I narrowed it down to Jekyll, Octopress, or Middleman. Now, I just had to choose…
Why use a static site generator?
Over the years, torspark.com has gone through several variations and false starts.
It was originally a Wordpress several years ago, but that never felt quite right. I prefer working in Ruby, so it was never fun digging back into the PHP world to customize a plugin or theme. Plus, Wordpress is just too bloated for my needs.
I considered building a full-fledged Rails or Sinatra application, but that seemed like overkill.
I’ve used Jekyll to build a few client sites before, so I was pretty familiar with it. Github pages integration is nice, but limited by not being able to use custom plugins. Of course, you can still build your site locally and then push it up, but you could do that with Octopress or Middleman too.
I work faster with HAML and SASS, and I was able to hack on Jekyll enough to let me do so (for the most part), but it never felt very clean. I started building out this site in Jekyll for awhile, but never finished it.
Jekyll is the most popular static site generator, but it just wasn’t for me.
Octopress is built on top of Jekyll. It’s designed to be more opinionated and blog-friendly.
Octopress gets the job done, but it’s docs and development seem to be lacking. Essentially a highly customized version of Jekyll, it will always be slower to get new Jekyll features. This also makes upgrading a huge pain.
I have a partially built Octopress version of this site rotting away somewhere on my hard drive too…
Ben Mathis over at Octopress recently announced that he’s working to overhaul the Octopress ecosystem to bring things more inline with the Jekyll framework. This is good news, because it means upgrades will be much easier in the future. However, if you’re just getting started, I’d recommend waiting to use Octopress until after version 3.0 is released.
Finally, after two false starts, I’ve found the perfect static site builder for me. Middleman is billed as a “static site generator using all the shortcuts and tools in modern web development.” That’s true—Middleman comes with HAML, SASS, & Coffeescript built in. Meaning I don’t have to waste time hacking on it to speed up my workflow.
It has a blog plugin to match everything Octopress can do. If you’re familiar with Rails, it’s easy to add helpers and extra functionality in a similar fashion. The built-in Live Reload feature is awesome. I usually set up some form of live-reloading to speed up frontend development on my projects, and having it built-in was just icing on the cake.
Jekyll and Octopress are both good choices, but I found that Middleman lets me work faster and happier. Jekyll is probably the easiest to get started with, but if you know ruby, Middleman gives you a lot more power & freedom. Any static sites I build in the foreseeable future will be built with Middleman.