Jamstack was the name that stuck to an alternative way of building static sites with dynamic behaviour.

Static implies no programming in the traditional sense. The infrastructural burden of managing a database and web server that exists in a traditional 3-tier application, is replaced by using REST APIs as the backend. The API provider manages the infra.

The Jam in Jamstack:

  • Javascript to provide dynamic behaviour
  • APIs to access backend services as building blocks
  • Markdown to create content as plain-text

A static site generator (SSG) tool runs the build process, taking the markdown, converting it to a static html site with dynamic behaviour. Jekyll is one such SSG written in the Ruby language. It’s packaged as a Ruby gem (library).

Jekyll’s power comes from processing directives embedded in the markdown frontmatter (a header section), specified using a templating language called Liquid.