# markdown-it-deflist

> tag for markdown-it markdown parser.

Latest version **4.0.0** (published 2026-07-27) · MIT license · 0 weekly downloads

## Install

```sh
npm install markdown-it-deflist
pnpm add markdown-it-deflist
yarn add markdown-it-deflist
bun add markdown-it-deflist
```

## Health

**Score 60/100 (C)** — status: active.

Positive: esm support; no vulnerabilities; recently updated; high maintenance score.

Warnings: low downloads; no types.

## Facts

| | |
|---|---|
| Version | 4.0.0 |
| Published | 2026-07-27 |
| First published | 2015-01-04 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Dependencies | 0 |
| Unpacked size | 26 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 56 |
| Maintainers | vitaly |
| Keywords | markdown-it-plugin, markdown-it, markdown, definition list |

## Links

- npm: https://www.npmjs.com/package/markdown-it-deflist
- Repository: https://github.com/markdown-it/markdown-it-deflist
- Homepage: https://github.com/markdown-it/markdown-it-deflist#readme
- Issues: https://github.com/markdown-it/markdown-it-deflist/issues
- Funding: https://github.com/sponsors/puzrin
- npm.io page: https://npm.io/package/markdown-it-deflist

## Alternatives

- [@mdxeditor/editor](https://npm.io/package/@mdxeditor/editor.md) — 962.4K weekly downloads
- [mmdb-lib](https://npm.io/package/mmdb-lib.md) — 680.9K weekly downloads
- [playcanvas](https://npm.io/package/playcanvas.md) — 36.2K weekly downloads
- [@glw907/cairn-cms](https://npm.io/package/@glw907/cairn-cms.md) — 967 weekly downloads
- [markdown-to-confluence](https://npm.io/package/markdown-to-confluence.md) — 103 weekly downloads

## Recent versions

- 4.0.0 (latest) — 2026-07-27
- 3.0.1 — 2026-05-24
- 3.0.0 — 2023-12-05
- 2.1.0 — 2020-09-10
- 2.0.3 — 2017-07-12
- 2.0.2 — 2017-05-22
- 2.0.1 — 2016-02-23
- 2.0.0 — 2015-10-05
- 1.0.0 — 2015-03-12
- 0.1.0 — 2015-01-04

## README

# markdown-it-deflist

[![CI](https://github.com/markdown-it/markdown-it-deflist/actions/workflows/ci.yml/badge.svg)](https://github.com/markdown-it/markdown-it-deflist/actions/workflows/ci.yml)
[![NPM version](https://img.shields.io/npm/v/markdown-it-deflist.svg?style=flat)](https://www.npmjs.org/package/markdown-it-deflist)
[![Coverage Status](https://img.shields.io/coveralls/markdown-it/markdown-it-deflist/master.svg?style=flat)](https://coveralls.io/r/markdown-it/markdown-it-deflist?branch=master)

> Definition list (`<dl>`) tag plugin for [markdown-it](https://github.com/markdown-it/markdown-it) markdown parser.

Syntax is largely compatible with [Pandoc definition lists](https://pandoc.org/MANUAL.html#definition-lists)
in the `commonmark_x` Markdown variant.


## Install

```bash
npm install markdown-it-deflist --save
```

## Use

```js
var md = require('markdown-it')()
            .use(require('markdown-it-deflist'));

md.render(/*...*/);
```

## Known differences

Pandoc removes paragraph wrappers from compact definitions even when a
definition contains multiple block elements. This plugin preserves the `<p>`
tags in that case, so block boundaries are not lost.

Block parsing follows markdown-it, so edge cases involving lazy continuation
and nested block containers may differ from Pandoc.

```md
Term
: First paragraph.

  - list item
```

Pandoc renders:

```html
<dl>
<dt>Term</dt>
<dd>
First paragraph.
<ul>
<li>list item</li>
</ul>
</dd>
</dl>
```

This plugin renders:

```html
<dl>
<dt>Term</dt>
<dd>
<p>First paragraph.</p>
<ul>
<li>list item</li>
</ul>
</dd>
</dl>
```

Pandoc's `commonmark_x` reader accepts multiple blank lines between a term and
its first definition marker:

```md
Term


: definition
```

This plugin accepts at most one blank line, so the example above is rendered as
two paragraphs instead of a definition list.

Pandoc's `commonmark_x` reader also accepts terms spanning multiple lines:

```md
First line
second line
: definition
```

This plugin requires each term to fit on one line, so this example is not
parsed as a definition list.

_Differences in browser._ If you load script directly into the page, without
package system, module will add itself globally as `window.markdownitDeflist`.

---
_Source: https://npm.io/package/markdown-it-deflist · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
