<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Software Design on Ikwuka Okoye</title><link>https://ikwukao.dev/tags/software-design/</link><description>Recent content in Software Design on Ikwuka Okoye</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Tue, 11 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://ikwukao.dev/tags/software-design/index.xml" rel="self" type="application/rss+xml"/><item><title>From Markdown to HTML: Designing the Static Site Generator Pipeline</title><link>https://ikwukao.dev/journal/static-site-generator-markdown-to-html/</link><pubDate>Tue, 11 Aug 2026 00:00:00 +0000</pubDate><guid>https://ikwukao.dev/journal/static-site-generator-markdown-to-html/</guid><description>&lt;h2 id="from-markdown-to-html-designing-the-static-site-generator-pipeline"&gt;From Markdown to HTML: Designing the Static Site Generator Pipeline&lt;/h2&gt;
&lt;p&gt;A static site generator is fundamentally a transformation system.&lt;/p&gt;
&lt;p&gt;It takes source content, processes that content through a series of stages, and produces files that can be served directly to users.&lt;/p&gt;
&lt;p&gt;For my static site generator, the core transformation looks like this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Markdown
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ↓
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Blocks
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ↓
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Block Types
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ↓
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Inline Text Nodes
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ↓
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;HTML Nodes
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ↓
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;HTML
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The value of this architecture is not simply that it works.&lt;/p&gt;</description></item></channel></rss>