Jekyll is a simple, blog aware, static site generator.
Blogging Like a Hacker (November 17, 2008)
|I - Redwood Philosophies||Part 1 - Setup|
|II - Full Stack React||Part 2 - Routes|
|III - Jamstack||Part 3 - Prisma|
|IV - Serverless||Part 4 - CRUD|
|Part 5 - Contact|
|Part 6 - GraphQL|
|Part 7 - Deploy|
|Part 8 - Auth|
In 2008, Tom Preston-Werner published a blog post titled “Blogging Like a Hacker,” which told his story of blogging, programming, and his eventual invention of Jekyll. Jekyll was a reaction against complicated blog engines like WordPress.
His constraints included the ability to style his own blog and host it on the domain of his choosing. This eliminated wordpress.com and blogger.com. He mentioned that some people use GitHub as a blog but he considered that an impedance mismatch.
He decided to approach blogging from a software developers perspective. His writing would be stored in a Git repository and published via a deploy script or post-commit hook. A static site would be preferable to a dynamic site to keep complexity at a minimum. The blog would need to be easily customizable.
Jekyll works by:
- Taking a template directory representing the raw form of a website
- Running it through Textile and Liquid converters
- Spiting out a complete, static website
- Serving with Apache or similar web server
I was tired of having my blog posts end up in a database off on some remote server. That is backwards. I’ve lost valuable posts that way. I want to author my posts locally in Textile or Markdown. My blog should be easily stylable and customizable any way I please. It should take care of creating a feed for me. And most of all, my site should be stored on GitHub so that I never lose data again.
Numerous projects influenced by Jekyll appeared in the following years.
- Thomas Reynolds created Middleman, a static site generator utilizing Haml and Sass in 2009
- Alexis Metaireau created Pelican, a Python project that converts static text files into html sites in 2010
- Tommy Chen created Hexo, a blog framework powered by Node.js in 2012
- Jeff Escalante created Roots, a static site compiler written in CoffeeScript, in 2012
- Steve Francia created Hugo, a static site generator written in Go in 2013
There are those who describe Netlify as “GitHub Pages on Steroids”. If that’s the case then Hugo on Netlify must be digging into Lance Armstrong’s stash.
Hosting Hugo on Netlify (July 30, 2015)
In 2014, Mathias Biilmann Christensen created staticgen.com, a leaderboard of top open-source static site generators. It uses a variety of metrics including GitHub stars, forks, and twitter followers to rank different static site generators.
Around that time Mathias was running MakerLoop, a content management startup based in San Francisco. He believed that Git-centered workflows with static site generators like Jekyll represented a massive change in the web development space. This lead to Mathias co-founding Netlify with his childhood friend Christian Bach. Tom Preston-Werner was an early investor in Netlify.
Gatsby was created by Kyle Mathews in 2015. It started as a static site generator built with React, but as the project grew it no longer functioned as simply a static site generator, and Kyle found the term to be ill fitting to the project.
Gatsby incorporated GraphQL and increasingly used sophisticated 3rd party APIs to perform various dynamic tasks that could not be achieved with older static site generators. Other projects appeared that were influenced by Gatsby including Gridsome and Scully.