{"id":30918985,"url":"https://github.com/serkodev/markdown-exit","last_synced_at":"2026-01-20T17:55:32.981Z","repository":{"id":313042848,"uuid":"1043741796","full_name":"serkodev/markdown-exit","owner":"serkodev","description":"Fast, customizable Markdown parser and renderer with full CommonMark support. TypeScript rewrite of markdown-it with enhancements.","archived":false,"fork":false,"pushed_at":"2025-09-03T15:33:02.000Z","size":304,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-03T16:26:06.626Z","etag":null,"topics":["commonmark","javascript","markdown","parser","renderer","typescript"],"latest_commit_sha":null,"homepage":"https://deepwiki.com/serkodev/markdown-exit","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/serkodev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-08-24T14:22:51.000Z","updated_at":"2025-09-03T15:33:05.000Z","dependencies_parsed_at":"2025-09-03T16:26:11.700Z","dependency_job_id":"f452ac84-0961-43f3-ba45-c97ea35d29a3","html_url":"https://github.com/serkodev/markdown-exit","commit_stats":null,"previous_names":["serkodev/markdown-exit"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/serkodev/markdown-exit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serkodev%2Fmarkdown-exit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serkodev%2Fmarkdown-exit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serkodev%2Fmarkdown-exit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serkodev%2Fmarkdown-exit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/serkodev","download_url":"https://codeload.github.com/serkodev/markdown-exit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serkodev%2Fmarkdown-exit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274391975,"owners_count":25276667,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-09T02:00:10.223Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["commonmark","javascript","markdown","parser","renderer","typescript"],"created_at":"2025-09-10T00:57:53.065Z","updated_at":"2026-01-20T17:55:32.942Z","avatar_url":"https://github.com/serkodev.png","language":"TypeScript","funding_links":[],"categories":["TypeScript","Markdown parser"],"sub_categories":[],"readme":"![markdown-exit banner](https://markdown-exit.pages.dev/banner.svg)\n\n# markdown-exit\n\n[![npm version][npm-version-src]][npm-version-href]\n[![bundle][bundle-src]][bundle-href]\n[![License][license-src]][license-href]\n[![CodSpeed][codspeed-src]][codspeed-href]\n\nA TypeScript rewrite of [markdown-it](https://github.com/markdown-it/markdown-it) with first-class typings, modern tooling, and enhancements.\n\n## Features\n\n- 🛡️ **Type Safety:** Ship robust types, improve DX, and enable type-safe development.\n- ⚡ **New features:** [Async rendering](https://markdown-exit.pages.dev/guide/rendering.html#async-rendering) for all rules includeing syntax highlighting and [more](https://github.com/serkodev/markdown-exit/issues?q=is:issue%20label:features).\n- 🔌 **Extensibility:** Extend the markdown syntax, custom rendering with [Plugins](https://markdown-exit.pages.dev/guide/plugins.html).\n- 🤝 **Compatibility:** Compatible with markdown-it `v14.1.0` and plugin API.\n\n## Documentation\n\nRead the [documentation](https://markdown-exit.pages.dev/) for more details.\n\n## Installation\n\nv1+ [`@latest`](https://www.npmjs.com/package/markdown-exit/v/latest): All new features and may include breaking changes.\n\n\u003e [!IMPORTANT]\n\u003e 🚧 **markdown-exit** v1 is currently in **public beta** (`v1.0.0-beta.*`).  \n\u003e Breaking changes may occur until a stable `v1.0.0` is released.\n\n```bash\nnpm i markdown-exit\n```\n\n\u003cdetails\u003e\n\u003csummary\u003ev0.x \u003ca href=\"https://www.npmjs.com/package/markdown-exit/v/legacy\"\u003e\u003ccode\u003e@legacy\u003c/code\u003e\u003c/a\u003e\u003c/summary\u003e\n\nFull compatibility with markdown-it usage while adding TypeScript support, bug fixes and performance improvements. ([v0](https://github.com/serkodev/markdown-exit/tree/v0) branch)\n\n```bash\nnpm i markdown-exit@legacy\n```\n\n\u003c/details\u003e\n\n## Usage\n\n```ts\nimport { createMarkdownExit } from 'markdown-exit'\n\n// factory helper\nconst md = createMarkdownExit()\nconst html = md.render('# markdown-exit')\n```\n\n```ts\nimport { MarkdownExit } from 'markdown-exit'\n\n// with the `new` keyword\nconst md = new MarkdownExit()\nconst html = md.render('# markdown-exit')\n```\n\n\u003cdetails\u003e\n\u003csummary\u003eDefault import\u003c/summary\u003e\n\n\u003e [!NOTE]\n\u003e Default export (with callable constructor support) is retained for markdown-it compatibility, but it may have drawbacks in module interop and tree-shaking.\n\n```ts\nimport MarkdownExit from 'markdown-exit'\n\n// callable function\nconst md = MarkdownExit()\nmd.render('# markdown-exit')\n```\n\n```ts\n// with the `new` keyword\nconst md = new MarkdownExit()\nmd.render('# markdown-exit')\n```\n\u003c/details\u003e\n\n### Guides\n\n- [Markdown Syntax](https://markdown-exit.pages.dev/guide/markdown-syntax.html)\n- [Redering](https://markdown-exit.pages.dev/guide/rendering.html)\n- [Plugins](https://markdown-exit.pages.dev/guide/plugins.html)\n\n## Migrate from markdown-it\n\nDrop-in replacement for markdown-it with enhancements, see [Migration Guide](https://markdown-exit.pages.dev/guide/migrate-from-markdown-it.html) for details.\n\n```diff\n- import MarkdownIt from 'markdown-it'\n+ import MarkdownExit from 'markdown-exit'\n```\n\n## Credits\n\nThis project owes its foundation to the [markdown-it](https://github.com/markdown-it/markdown-it) community and all its [contributors](https://github.com/markdown-it/markdown-it/graphs/contributors).\n\n### Authors of markdown-it\n- Alex Kocharin [github/rlidwka](https://github.com/rlidwka)\n- Vitaly Puzrin [github/puzrin](https://github.com/puzrin)\n\n### Special Thanks\n\n- [John MacFarlane](https://github.com/jgm) for the CommonMark spec and reference implementations.\n- [Definition owners](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/a26d35b5c331fbdb512ac7dfb1b846d282336c67/.github/CODEOWNERS#L4713C1-L4713C106) of [@types/markdown-it](https://www.npmjs.com/package/@types/markdown-it) for the type definitions reference.\n- [Anthony Fu](https://github.com/antfu) for inspiring async rendering by [markdown-it-async](https://github.com/antfu/markdown-it-async).\n\n## License\n\n[MIT License](./LICENSE) © [Alex Kocharin](https://github.com/rlidwka), [Vitaly Puzrin](https://github.com/puzrin), [SerKo](https://github.com/serkodev)\n\n\u003c!-- Badges --\u003e\n\n[npm-version-src]: https://img.shields.io/npm/v/markdown-exit?style=flat\u0026colorA=00AF6B\u0026colorB=000\n[npm-version-href]: https://npmjs.com/package/markdown-exit\n[bundle-src]: https://img.shields.io/bundlephobia/minzip/markdown-exit?style=flat\u0026colorA=00AF6B\u0026colorB=000\u0026label=minzip\n[bundle-href]: https://bundlephobia.com/result?p=markdown-exit\n[license-src]: https://img.shields.io/github/license/serkodev/markdown-exit.svg?style=flat\u0026colorA=00AF6B\u0026colorB=000\n[license-href]: https://github.com/serkodev/markdown-exit/blob/main/LICENSE\n[codspeed-src]: https://img.shields.io/badge/CodSpeed-benchmark-blue\n[codspeed-href]: https://codspeed.io/serkodev/markdown-exit?utm_source=badge\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fserkodev%2Fmarkdown-exit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fserkodev%2Fmarkdown-exit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fserkodev%2Fmarkdown-exit/lists"}