We're sorry but this app doesn't work properly without JavaScript enabled. Please enable it to continue.

We use cookies to see how our site is used and to make it better for you. We will never sell your data, but we do use it for analytics and ad measurement.

Build a Static Site Generator in Python

Build a static site generator from scratch, similar to Jekyll, Hugo, or Gatsby in Python.

What will you learn?

Ever wondered how SEO and performance-optimized static site generators like Hugo work? In this guided project you'll build your own from scratch using Python. You'll put a lot of your learnings from Object-Oriented Programming and Functional Programming to use in a tangible web project. This project isn't for the faint of heart, but it's well worth the effort. You'll come away with a deeper understanding of static content management.

Chapter List

1
Static Sites
Learn about what a static site is, and start building the functionality necessary to process and move static HTML and Markdown files.
2
Nodes
Build the core HTML generation logic that will power your static site generator. Use recursion and OOP to build an easily understandable and maintainable system.
3
Inline
Build the inline markdown parsing logic, and the logic to generate inline HTML elements.
4
Blocks
Handle entire blocks of markdown, and generate the HTML nodes that represent them.
5
Website
Put the entire static site generator together, and publish your first website.

Join 14,368 students in the Build a Static Site Generator in Python course

Read reviews of their learning experiences

Teaches you organizational skills for your code. One of the harder courses here. Worth it

(5/5)
C Herdinator profile image

C Herdinator

Mexico

A great idea for a personal project. Building things from scratch might scare at first, but step by step everything is possible. This is a difficult (well, at least for me) and fun pet project, where you'll find less guides for every lesson and have to think for yourself more this time

(5/5)
no name profile image

no name

Russia

Felt like fighting a big boss in a video game, good exercise and worth revising even after finishing.

(5/5)
Bear TW profile image

Bear TW

United Kingdom

It's difficult

(5/5)
Long Đoàn profile image

Long Đoàn

Vietnam

This was a challenging course but so, SO satisfying at the end of it all.

(5/5)
Crackajack Mac profile image

Crackajack Mac

United States

great fun to follow and complete the course!

(5/5)
Mario Coloma profile image

Mario Coloma

Copenhagen

It is well structured, but there are some big steps/challenges along the way that will take a while to solve

(5/5)
Mario Kodsi profile image

Mario Kodsi

Ingolstadt, Germany

Really challenging, but if you push through it, you will come out the other side a beautiful peacock!

(5/5)
Bradley Williams profile image

Bradley Williams

United States

This is probably the hardest required Python project on the site. I say that as someone that started boot.dev already fluent in Python. However, it was the first project I ever did that I *really* had to think through what's required to parse a markdown file and generate HTML with it, walk through a file tree recursively, and general concepts that are probably closet to an AST.

(5/5)
Nazwadi  profile image

Nazwadi

United States

Showing 1-9 of 385

or view more reviews

Mediocrity doesn't cut it anymore

The only way to become a great developer is to write a lot of code

Avoid tutorial hell

by writing a ton of code

Stay motivated with

a game-like curriculum

Build portfolio projects

to prove your skills

Delve deeper

into foundational concepts

Learn flexibly online

without interrupting your life

For 1% the price of college

to minimize your financial risk

Frequently asked Questions

Got questions? We've got answers

Yes! It's free to create an account and start learning. You'll get all the immersive and interactive features for free for a few chapters. After that, if you still haven't paid for a membership, you'll be in read-only (content only) mode.