Markdown language
MDL builds clean sites from readable outlines
Write .mdl files, keep styling in CSS, add JavaScript only when behavior belongs, and compile everything to static HTML.
Start in one minute
mkdir my-mdl-site
cd my-mdl-site
npm install @tosiiko/mdl
npm exec -- mdl init
source bin/activate
mdl serve
MDL
Author structure and content.
CSS
Own layout, color, and typography.
JS
Add behavior with explicit handlers.
HTML
Ship static output.
Small language, normal web output
MDL is intentionally narrow: it gives names to structure, maps common sections to semantic HTML, and leaves the browser platform visible.
Pages stay close to the idea
Indentation describes hierarchy, Markdown handles prose, and sections such as hero:, card:, form:, and footer: describe the page.
Every section gets a stable class
pricing: becomes .mdl-pricing, unknown names still compile, and author classes append after the MDL class.
Built output is boring HTML
mdl build writes .html, copies assets, bundles CSS when configured, and does not require a framework runtime.
Learn the full flow
Install
Set up the npm package, activate the local bin, and create your first project.
Language
Sections, inline elements, attributes, Markdown, comments, scripts, and UI patterns.
Read language guideProject config
Configure mdl.json, multi-page builds, CSS bundles, scripts, assets, and ports.
Examples
Copy practical snippets for cards, forms, pricing, tabs, Tailwind, and JavaScript.
Browse examples