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

Read reviews of their learning experiences

Fantastic course! It combines Python, GitHub, and a bit of HTML. A bit challenging, but absolutely worth it!

(5/5)
Paweł Modzelewski profile image

Paweł Modzelewski

Poland

I am grateful for this learning experience. A good challenging project, with a decent sized codebase.

(5/5)
Mohamed Elbana profile image

Mohamed Elbana

Egypt

Very hard but I learned a ton doing it, and after struggling on the markdown_to_html_node function for 7 days I the rest was relatively easy. On to the next challenge!

(5/5)
Jamison Ibister profile image

Jamison Ibister

United States

Be ready to dive in parsing & HTML generation up until showing a custom github pages

(5/5)
Loic LL profile image

Loic LL

France

I think I can built my portfolio website using this project as a base!

(5/5)
Phakorn  profile image

Phakorn

Thailand

well, this is clearly the hardest guided project I have done so far.

(5/5)
Mahir Khan profile image

Mahir Khan

Bangladesh

Hard, hard, hard! Not for the faint of heart. But this is a rewarding course if you stick through all the way to the end. It taught me the super important process of mind-mapping the assignment and understanding the steps before writing a single word of code. It taught me a process I can now use going forward with all assignments and projects, so no regrets!

(5/5)
Junction  profile image

Junction

United States

nice

(5/5)
ztest95  profile image

ztest95

Philippines

it is ok , if you are a quick study.

(3/5)
Roman Korcek profile image

Roman Korcek

Slovakia

Showing 1-9 of 505

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.