Architecture

MDU is a single .NET tool. It reads a folder of ordinary Markdown files, builds a page tree from the folder structure, and then lints, renders, or rewrites those pages. Everything a published site needs is produced at build time, so the result is a folder of static files.

Design principles

Principle What it means
Portable sources Pages stay plain Markdown that reads well on GitHub. MDU features use code blocks, shortcodes, or front matter that degrade to readable text elsewhere.
Static output Diagrams, math, icons, and syntax highlighting become HTML and SVG while rendering. The site needs no server, CDN, or client-side renderer.
Few dependencies One dotnet tool: no Node.js, Python, Java, or browser engine. MDU writes PDF files itself.
Scriptable CLI Commands print plain text and return exit codes; mdu lint also writes JSON and GitHub annotations.

System context

MDU sits between the documentation author and the published site. Click a node to read more.

lints, previews, renders runs Documentation author Markdown pagesand assets mdu.ymlsite settings Git history Static HTML site PDF document CI pipelineGitHub Actions, GitLab CI MDUmdu command
  • Inputs are the Markdown pages with their linked images and files, an optional mdu.yml, and the git history, which provides the last changed date of each page.
  • Outputs are a static site that any web server can host, a single PDF document, lint reports, or rewritten Markdown files after mdu fix and mdu page move.

Building blocks

MDU has three main parts. Select a block to open its detailed view.

MDU Markdown files,configuration, and git Commands andorchestration Page processing HTML and PDFrendering Lint results andupdated Markdown Static site and PDF

In this section

  • Components - What each project does and which libraries it uses
  • Processing Pipeline - How commands build the page tree, render a site, and refresh the live preview
  • Rendering - How a Markdown page becomes an HTML page with diagrams, math, and icons

Search documentation

Press Esc to close

Start typing to search the documentation.

Media settings

Choose which providers may load videos automatically across this site. Your choices are stored in this browser.