Static Site Generators

What it is

Static Site Generators are tools for building static websites. They take HTML & CSS templates and raw content like the text of a blog post and covert them into a complete webpage ready to be deployed.

There are many competing SSGs out there, but Jekyll is the undisputed leader. Developer Atlas is written using a React-based SSG called Gatsby.

Why it matters

Imagine you have a blog that you post to once a week. You could write you website in plain HTML, CSS and Javascript, but nobody wants to have to worry about wrapping each paragraph in a

tag while writing their content. Writing lots of content in HTML is painful. To address this, Content Management Systems (CMS)’s like wordpress are extremely popular as they allow you to write your posts directly into an editor and publish them as a webpage. They allow even nontechnical people to publish to the web, which is why a quarter of all websites are made with one.

However, Content Management Systems have their own sets of disadvantages. Wordpress stores your posts in a database, which means you need to have a running server to host the site. These moving parts make managing your site more difficult, as you have to worry about annoying things like updating the wordpress runtime to address security vulnerabilities.

Static websites, or sites that are made of just static files and no database, are much easier to maintain and scale because they can simply be uploaded to a static host or CDN with FTP, or directly hosted with something like github pages.

SSG’s fill the niche between the two. You can build your own page with HTML and CSS, and then write your content in a simpler markup language like markdown. Then, you run the SSG to convert your text and code into a finished static site ready to be deployed. As a developer, they are probably the best option for building your own content-based site, like a personal blog.

Since static sites are so much simpler to maintain than sites with a complex backend runtime and database, static sites and thus SSGs are rising in popularity even for complex web apps. See JAM Stack.

How to learn it

For a more in-depth treatment of this topic, check out Smashing Magazine’s Why Static Site Generators Are The Next Big Thing.

If you have basic experience with Ruby, Jekyll is a safe and good choice for your first SSG. The official documentation is a good place to start.

Scotch.io also has a nice tutorial for building a static site with Jekyll.