A TypeScript rewrite of markdown-it with first-class typings, modern tooling, and enhancements.
- 🛡️ Type Safety: Ship robust types, improve DX, and enable type-safe development.
- ⚡ New features: Async rendering for all rules includeing syntax highlighting and more.
- 🔌 Extensibility: Extend the markdown syntax, custom rendering with Plugins.
- 🤝 Compatibility: Compatible with markdown-it
v15.0+and its plugin API.
Read the documentation for more details.
npm i markdown-exitmarkdown-exit v2.0+ (@latest) supports markdown-it v15.0+ and its plugins, and adds new capabilities such as async rendering along with performance improvements.
| markdown-exit | markdown-it | Status |
|---|---|---|
v2.0+ (@latest) |
v15.0+ |
Actively maintained |
v1.x |
v14.x |
Superseded — see Migration to v2 |
v0.x (@legacy) |
v14.3.0 |
No longer maintained |
v0.x @legacy — no longer maintained
The legacy branch (v0.x) is no longer maintained. Its final release is v0.5.0, which tracks markdown-it v14.3.0.
v0.x existed to bring TypeScript typings to markdown-it. Since markdown-it has been rewritten in TypeScript as of v15, you can simply use markdown-it directly if native typings are all you need — or move to markdown-exit v2.0+ for markdown-it v15.0+ support plus async rendering and other enhancements.
npm i markdown-exit@legacyimport { createMarkdownExit } from 'markdown-exit'
// factory helper
const md = createMarkdownExit()
const html = md.render('# markdown-exit')import { MarkdownExit } from 'markdown-exit'
// with the `new` keyword
const md = new MarkdownExit()
const html = md.render('# markdown-exit')Default import
[!NOTE] Default export (with callable constructor support) is retained for markdown-it compatibility, but it may have drawbacks in module interop and tree-shaking.
import MarkdownExit from 'markdown-exit'
// callable function
const md = MarkdownExit()
md.render('# markdown-exit')// with the `new` keyword
const md = new MarkdownExit()
md.render('# markdown-exit')Drop-in replacement for markdown-it with enhancements, see Migration Guide for details.
- import MarkdownIt from 'markdown-it'
+ import MarkdownExit from 'markdown-exit'This project owes its foundation to the markdown-it community and all its contributors.
- Alex Kocharin github/rlidwka
- Vitaly Puzrin github/puzrin
- John MacFarlane for the CommonMark spec and reference implementations.
- Definition owners of @types/markdown-it for the type definitions reference.
- Anthony Fu for inspiring async rendering by markdown-it-async.