All Projects Intermediate Coming Soon

Markdown to HTML Converter

Build a Markdown to HTML converter from scratch in modern C++ with zero external dependencies. You read Markdown line by line, recognise block elements such as headings, lists, and code fences, then handle inline formatting like bold, italics, and links before emitting valid HTML. A clean project for practising string processing and stateful parsing.

~5 hours

Support Free C++ Education

Help us keep this platform free for everyone! Your support enables us to create more high-quality lessons, exercises, and interactive content.

Become a Patron

What You'll Build

A command-line converter that reads a Markdown file and writes an HTML document, supporting headings, paragraphs, ordered and unordered lists, code blocks, links, and emphasis.

Learning Objectives

  • Read input line by line with std::ifstream and std::getline
  • Classify block elements with a small state machine
  • Handle inline emphasis and links by scanning std::string spans
  • Escape HTML-sensitive characters correctly during output
  • Manage nested list state and code-fence toggling
  • Assemble output with std::ostringstream for efficient concatenation
  • Separate block parsing and inline parsing into distinct passes

Coming Soon

This project is in development. Register your interest and we'll email you the moment it goes live.

No spam. Unsubscribe anytime.

Coming Soon

This project is in development. Register your interest and we'll email you the moment it goes live.

No spam. Unsubscribe anytime.