While researching my article on Healthcare.gov, I had the chance to dig deeper into the open source technology behind the site.
I tested Jekyll, which created most of the pages for the Healthcare.gov site.
Jekyll creates “flat sites” that don’t use a database.
In theory, database-free sites should be easier to use. Without a database there’s less to set-up and less to manage.
In practice, is it really easier to use Jekyll than a database-driven software such as Joomla, Drupal or WordPress? Read on and find out.
What is Jekyll?
What does a Jekyll site look like? It can be as simple as this:
The whole site is built around that _config.yml. It’s similar to Drupal’s settings.php, Joomla’s configuration.php and WordPress’ wp-config.php. Everything from permalinks to the site title are placed in that _config.yml file.
Because there’s no database, all of the content is also stored in files. Inside the /_posts/ folder. Your content is strored inside markdown files with the .md file type. You can write this files at a different location and publish the posts by simply uploading the file.
Here’s what a simple post looks like:
Here’s a more complex example taken from Healthcare.gov:
How simple was Jekyll to use?
For me at least, getting started with Jekyll was not easy.
I tried to install Jekyll on my Mac which runs Mountain Lion. All told, it probably took me a day of effort to produce a broken site on my computer.
The first problem was the lack of clear documentation.
The whole Jekyll site is than 40 pages in size and the documentation was too short to be useful: http://jekyllrb.com/docs/home/
There are no books on Jekyll. The best I could find was a $15 and 55 page e-book by Andrew Munsell.
Andrew does also have one of the best tutorials I could find online, “Learning Jekyll By Example“. That was about the only clearly explained set-up guide that I could find.
However, that tutorial still left me short of a finished website. To get a (broken) Jekyll website live, I relied on downloading the source files from this Nettuts tutorial. Even that site mainly consisted of broken pages.
Part of the difficultly with Jekyll is that there are at least 4 skills you need to learn first, before you can tackle Jekyll:
- Using the command line
- Installing Ruby
- Installing RubyGems
- Using a package manger such as http://bundler.io
I admit to having a mediocre command of all four, so that put me behind the curve with Jekyll. My job is figure out how things work and explain them to people, but I’d need a lot more time to wrap my head around Jekyll.
If the technology stack was complicated, I did really enjoy the editing. The Healthcare.gov team used Prose.io to write content.
If you visit Prose.io and authorize it to use your Github profile, you’ll be able to browse your Github project using the Prose.io editor.
The Prose.io editor is actually a beautiful experience, available directly in the browser. It’s the best markdown editor I’ve ever tried and of course, it connects directly to Github.
What’s the future for static site generators?
So will Jekyll, or any similar system, become a popular alternative to WordPress, Joomla or Drupal?
No, not with the installation process as it is now. Jekyll won’t provide simplicity for anyone except serious, experienced developers.
I suspect the same is true for all of these static site generators.
Even Ghost, which is perhaps the most famous static site generator, has been criticized for being too hard to use. Ghost relies on Node.js which isn’t an option provided by most hosting companies. “Not ready for prime time” is the verdict from my friends who have tried it.
There is a real, pent-up demand for simpler web software.
However, the only static site generator I’ve seen that currently provides simplicity for ordinary users is Dropplets.
What’s your experience been with static site generators? Have you found any that you can strongly recommend?