2026 Live
This Website
A static site generator written from scratch in C++17 that turns Markdown files into this portfolio.
The idea
Instead of using a website builder, I wrote a program in C++ that builds the site. I write each page as a plain text file, and the generator converts it into HTML, applies a shared layout, and writes the finished website to a folder that gets published.
How it works
- Reads content: every
.mdfile in thecontent/folder, plus site settings fromsite.cfg. - Parses frontmatter: the
title:,summary:andtags:lines at the top of each file. - Converts Markdown to HTML: a small hand-written parser handles headings, lists, links, images, bold, italics and code.
- Fills templates: layout files with
{{placeholders}}get replaced by the page's content. - Writes the site: the result lands in
public/, ready to upload.
What I learned
- File and folder handling with
std::filesystem - Writing a parser one character at a time, and the edge cases that come with it
- Keeping a program organized across several source files