Hello Jekyll!

Welcome to my new and improved static website. No CMS, no php, no database; just static html compiled by Jekyll! Content management systems (CMS) like Drupal and Wordpress make site building easy for non-technical users. Unfortunately, they also come with a significant amount of overhead even for the simplest websites. Jekyll, on the other hand, is a static website generator that supports everything you need for a simple blog or brochure website.

As I contemplated the redesign of www.calebthorne.com, I said to myself,

“Self, why do you need to bother with logins and PHP and databases anyway?”.

Configuring Drupal requires installing a database, setting up content types, finding and installing contributed modules, and fighting with WYSIWYG editors. Furthermore, dealing with blog content stored in a database is a pain in the rear. As a coder, I’d much rather track all my posts by checking them into a Git repository. Jekyll allows me to create posts in a simple markdown format and treat them like any other source code. I can create and save drafts and then quickly publish them when the time is right.

Jekyll has many additional benefits including built in support for all of the features that normally complicate static websites.

Templates: You can set up reusable templates and layouts using the Liquid Templateing Engine. Using Jekyll and Liquid, you can even create lists of posts and set up pagination.

Speed: Static websites don’t need much optimization to deliver faster than those built with a CMS. You can spend huge amounts of cash trying to optimize and speed up your Drupal, Joomla, or Wordpress websites.

Security: SQL Injection? Cross site scripting (XSS)? Session Hijacking? Not with a static website! (Please note: Static websites do not eliminate all security concerns. You should still familiarize yourself with common attacks and learn how to prevent them.)

SEO: See speed above. Many search engines give you a bonus for page load speed.

Simple Deployment: You can easily deploy a site generated by Jekyll to any host that can serve HTML (aka. all of them!) including shared hosting.

Comments: If you want to allow people to leave comments on your posts, you can implement a simple third-party solution such as Disqus or Facebook comments.

Bonus: Clean urls: No one even needs to know that your site is static. Jekyll supports clean urls without .html extensions.

Overall, Jekyll is an awesome solution for simple brochure or blog websites. There are, however, a few limitations. As with any static website, your html forms are pretty much limited to simple mailto:: actions which can lead to spam submissions. I’m currently using JotForm to embed a contact form to get around this limitation. Additionally, static websites are probably not well suited for ecommerce where you would want to track customers and orders.

This site uses the following technology:

Do you maintain a static website or blog? Let me know your favorite technologies in the comments!

Tweet

Comments:

Subscribe & Contact

Know how to listen, and you will profit even from those who talk badly.
~ Plutarch ~