Skip to content

MDMA — Markdown Mapped

A lightweight templating format for generating one or more Markdown strings from a typed input schema.

Most templating languages (Jinja, Liquid, Handlebars) target HTML or arbitrary text files. .mdma is scoped specifically to producing Markdown strings — tight enough to validate inputs at the schema level, expressive enough to compose reusable block references, and able to fan a single template into many outputs via the multiple modifier.

Get started

  • Specification — the full language spec: file structure, @inputs, block declarations, modifiers, template syntax, rendering model
  • Grammar — formal EBNF grammar
  • Filters — built-in filter reference
  • Examples — worked .mdma files

Libraries

Package Language Install Repo
python-mdma Python 3.9+ pip install python-mdma mdma-python
typescript-mdma TypeScript / Node 18+ npm install typescript-mdma mdma-typescript

Both are from-scratch, dependency-free implementations of the grammar, sharing the same golden-output test fixtures so their behavior stays in sync.

VSCode Extension

Syntax highlighting, bracket matching, and snippets for .mdma files — see mdma-vscode.

License

MIT — see LICENSE.