A TypeScript rewrite of markdown-it with first-class typings, modern tooling, and enhancements.
- API compatibility: Compatible with markdown-it
v14.1.0and plugin API. - TypeScript: Ship robust types, improve DX, and enable type-safe development.
- Extensibility: Provide a clean foundation for new features that are easier to prototype and maintain.
- New features: Track via features for details.
v1+ (latest): All new features and may include breaking changes.
Important
🚧 markdown-exit v1 is currently in public beta (v1.0.0-beta.*).
Breaking changes may occur until a stable v1.0.0 is released.
npm i markdown-exitv0.x (legacy): Full compatibility with markdown-it usage while adding TypeScript support, bug fixes and performance improvements. (v0 branch)
npm i markdown-exit@legacyimport { createMarkdownExit } from 'markdown-exit'
// factory helper
const md = createMarkdownExit()
md.render('# markdown-exit')import { MarkdownExit } from 'markdown-exit'
// with the `new` keyword
const md = new MarkdownExit()
md.render('# markdown-exit')Note
Default export (with callable constructor support) is retained for markdown-it compatibility, but it may have drawbacks in module interop and tree-shaking.
Example
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')Visit markdown-it API Documentation for more info and examples.
markdown-exit is designed to be a drop-in replacement for markdown-it with enhancements. After installing markdown-exit, simply update your imports:
- import MarkdownIt from 'markdown-it'
+ import MarkdownExit from 'markdown-exit'Everything else should work as expected. ✨
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.