Websites can serve content in two basic ways: statically and dynamically. Static content is generated ahead of time, stored, and retrieved as-is. Think images, stylesheets, and HTML pages that rarely change. Dynamic content is generated on-the-fly for the sake of a personalized response. Examples here include search queries, dashboards, and product recommendations tailored for the individual user.
With any website, there’s a mix of static and dynamic presentation, but lately there has been a surge of interest in minimal toolsets that generate sites that consist almost entirely of static content.
None of this is wholly new. Static site generation and its tools, like content management systems, have been around for decades. But the latest generation of these tools pare static content generation down to the essentials, making it possible to build and maintain static websites without having to depend on a bulky content management system. They also take advantage of modern software construction techniques by offering plugin architectures and other extensibilities.
Static website design
Most websites are a mix of static and dynamic content. A dynamically generated search request, for instance, may appear side by side with static sidebars, headers, and footers. For the sake of this discussion, though, we’re going to focus on websites that are “static first”—i.e., websites with no on-demand generation of content based on client requests. Such static websites tend to be built along the following lines: