Static websites are easier to deploy than full web applications built with a web framework that rely on a persistent database backend. In addition, static sites are typically much faster to load because there are no database queries or middleware code to execute during the HTTP request-response cycle.
A web server that hosts a static website simply responds to inbound HTTP requests with the file being requests - no dynamic data is populated on the server during the response.
The Long Road to Building a Static Blog with Pelican is a fantastic read that really gets into the details throughout the walkthrough.
How I built this website, using Pelican walks through getting your first Pelican site generated and running.
Setting up a blog with Pelican and Amazon S3 lays out the basic steps for installing Pelican, creating your first site and then uploading the generated results to S3. A good next exercise not covered in the post is using CloudFront or CloudFlare as a content delivery network (CDN) to server the static content.
Creating your own blog with Pelican covers the decision-making process with building a static versus dynamic website. The post then dives into using Pelican as a static site generator with a blog structure and basic theme.
Using Pelican to generate and manage static websites
explains how to use the
pelican-quickstart command to generate
an initial site then adds the Tipue Search plugin to provide content
search despite the static site limitations.
Pelican's official Plugin creation documentation gives a great starting point for building your own plugins that can take in new input markup formats, modify the generator process and add handy features such as a custom table of contents.
Getting started with Pelican and GitHub pages is a tutorial I wrote to use the Full Stack Python source code to create and deploy your first static site.