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

Read reviews of their learning experiences

This project really stretched my skills and forced me to truly adopt a systems thinking mindset. I really liked that we were required to write our own unit tests and were more autonomous in our implementations. Although, frustrating at times, I truly enjoyed the challenge and structure.

(5/5)
Kamari M. profile image

Kamari M.

United States

A great project from start to finish, well worth the sprint to finish and the extra-curricular of re-organizing and refactoring afterwards! I highly recommend taking this project on, even if you don't care about web-dev or web-hosting! I'm not a fan of front-end so I liked this project, as it showed off functionality and backed wizardry.

(5/5)
Curtis Allen Jester profile image

Curtis Allen Jester

Athens, GA

This was a fun project. It has it's difficulty spikes throughout the project, but nothing too difficult one can't solve. What I really like about this project is how I can use it to create additional websites.

(5/5)
Brittany Gates profile image

Brittany Gates

United States

This was a VERY challenging course, but it is worth doing!

(4/5)
Ryan Kardoes profile image

Ryan Kardoes

United States

A fun and challenging project! Really pushed my knowledge of Python and strengthened my grasp on it all around!

(4/5)
Tyler Shetrompf profile image

Tyler Shetrompf

United States

Superb course

(5/5)
angshuk nag profile image

angshuk nag

India

This course was a big challenge. You worked a lot with classes, objects, and recursion. It was fun to see everything come together and be able to deploy the site!

(5/5)
Francisco Zavala profile image

Francisco Zavala

Mexico City, Mexico

A thrill of a course. Definitely up there amongst the hardest, but undoubtedly just as rewarding! After all, it's a simple website built from scratch (and some hair pulling shhhh)

(5/5)
Mr Khanyile profile image

Mr Khanyile

South Africa

If you want to learn through this course don't look at the solution before , don't give in stay persistent. Work using pen and paper.

(5/5)
Gursimrat  Kalra profile image

Gursimrat Kalra

India

Showing 1-9 of 366

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.