We'll dive into code in the next chapter, but first, I want to give you a high-level architecture for our static site generator (SSG).

The flow of data through the full system is:
/content directory. A template.html file is in the root of the project.src/) reads the Markdown files and the template file./public directory./public directory on http://localhost:8888 (our local machine).http://localhost:8888 to view the rendered site.The vast majority of our coding will happen in the src/ directory because almost all of the work is done in steps 2 and 3 above. Here's a rough outline of what the final program will do when it runs:
/public directory./public directory./content directory. For each Markdown file:
HTMLNode objects. For inline elements (like bold text, links, etc.) we will convert:
TextNode -> HTMLNodeHTMLNode blocks under one large parent HTMLNode for the pages.to_html() method to convert the HTMLNode and all its nested nodes to a giant HTML string and inject it in the HTML template./public directory.We're not going to build the program in the same order that it runs... that's often not the best way to build large projects. Instead, we'll tackle individual problems that we know we'll need to solve and use unit tests to make sure they work as expected. Then we'll put the pieces together into a working program as we get closer to the end.
You don't need to memorize the information on this page, but come back to review it if you ever feel lost in the details.