Introduction
mdast parses and compiles markdown. It lets programs process markdown without ever compiling to HTML (it can though) by creating a syntax tree. This enables code analysis (e.g., mdast-lint), code transformation (e.g., mdast-toc), and code generation (built in).
It aims to do for markdown what esprima did for javascript and PostCSS for css: bring markdown into the tooling age.
mdast has lots of tests (800+), great coverage (100%), a free license, sensible code style (eslint, jscs), internal documentation, and man pages.