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 you'll learn in this Python course

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

Read reviews of their learning experiences

Honestly a great course that really pushed me out of my comfort zone. I failed a lot, but thats where the learning happens right?

(5/5)
Jesse S profile image

Jesse S

United States

I mean with the help of the AI I could write it but it gets a bit convoluted. The beginning of the course is fantastic but the later it gets the less it recuperates or helps you with the tasks and it's also not easy to find the syntaxes you need because the library grows in a not really that structured way. There is more and more IT language used to give you the tasks without proper explanation making me sometimes even turn to boot to just understand what the task even wants me to do.

(3/5)
Alex Canziani profile image

Alex Canziani

Switzerland

This is a challenging project, so the scale and difficulty are understandable. But there are some lessons that either tackle too much at once, or have some sneaky unclear descriptions. It would also be very helpful to have some form of architecture layout to refer to. While building each function, it's difficult to understand how it will fit into the whole. There is a graph that lays out the file structure, but nothing equivalent to a design document that lays out the logic of the function flow.

(2/5)
Nick Olson profile image

Nick Olson

United States

God if it was hard, I slowed down my learning I think for 2 months even more cause this is though but to be honest I would advise just do this when you've got a few days free in a row instead of dividing it cause if not it gets even more complicated than it is :)

(5/5)
Mauro Baldanzi profile image

Mauro Baldanzi

United Kingdom

Amazing course - I enjoyed it quite a lot and learned many things. I did find the unit testing a bit too tedious - not having concrete usecases to test, kind of made me overthink... But maybe this is a good thing! I even developed with Testing first (TDD) for a while :D

(5/5)
Vlad Mocanu profile image

Vlad Mocanu

Brasov, Romania

Very cool course. Extremely challenging, but worth it to stick it out and just puzzle through things. Take it slow. Boots is a great help getting you over any hurdles :)

(5/5)
Ken Hilliard profile image

Ken Hilliard

New Zealand

Cool project, but a lot gray area and external self studying for some parts

(3/5)
Chris  profile image

Chris

United States

this one was really challenging but i learned a lot! thanks!

(5/5)
Cecilia Barranco profile image

Cecilia Barranco

Mexico

Lobed this course!

(5/5)
Josh Lesher profile image

Josh Lesher

Raleigh, United States

Showing 1-9 of 536

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.