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

Build a Static Site Generator in Python

Build the kind of tool that turns Markdown into a website, then understand static site generators from the inside.

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 15,529 students in the Build a Static Site Generator in Python course

Read reviews of their learning experiences

i deducted one star because i feel like it is complelety made then divided into lessons. ofc this is normal but building from beginner's eyes would make it a lot better. For example, at some point i did not know why we put a if check and i figured it out later on as we merge things up. you know what i mean i guess

(4/5)
trent kipper profile image

trent kipper

Turkey

I definitely learned a lot in this lesson. Some about coding, and some about the current level of my abilities. It made my limitations as well as my strengths very clear.

(3/5)
peyton Morrow profile image

peyton Morrow

United States

easy but long

(4/5)
Harry  profile image

Harry

London

Personally I did not enjoy this course. Mainly because it was a quite uninteresting thing to build. Though It was a good practice in parsing and recursive looping.

(3/5)
Karl OA profile image

Karl OA

Sweden

Actually demanding project and a lot of freedom were given here for user to figure things out on their own. I mean so far the best guided projects I have ever taken and there are lot of rooms here for improvement as well

(5/5)
Long Pham profile image

Long Pham

Tampere, Finland

Most of what I learned so far in the backend course started to make sense here! Great course!

(5/5)
Gábor Góczán profile image

Gábor Góczán

Austria

wow this one was really hard but I feel so proud after completing it! Great course, learned so much. The instructions sometimes felt vague but I think that that was necessary, had to use all the baked salmon I had stored up from ages.

(5/5)
Yasharth Saxena profile image

Yasharth Saxena

India

Absolutely amazing course!

(5/5)
Peyton  profile image

Peyton

United States

Very interesting course for learning how to generate webpages with HTML, and working with converting large files of text from Markdown.

(5/5)
Sam Davidson profile image

Sam Davidson

Shrewsbury, England

Showing 1-9 of 471

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.