Definition list (<dl>) tag plugin for markdown-it markdown parser
See the codeDefinition list (
<dl>) tag plugin for markdown-it markdown parser.
Syntax is largely compatible with Pandoc definition lists
in the commonmark_x Markdown variant.
npm install markdown-it-deflist --save
var md = require('markdown-it')()
.use(require('markdown-it-deflist'));
md.render(/*...*/);
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.
Term
: First paragraph.
- list item
Pandoc renders:
<dl>
<dt>Term</dt>
<dd>
First paragraph.
<ul>
<li>list item</li>
</ul>
</dd>
</dl>
This plugin renders:
<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:
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:
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.
Overall
Maintained
Code review
Latest release
Releases this year
60 followers · starred Jul 2017
Definition list (<dl>) tag plugin for markdown-it markdown parser
See the codeDefinition list (
<dl>) tag plugin for markdown-it markdown parser.
Syntax is largely compatible with Pandoc definition lists
in the commonmark_x Markdown variant.
npm install markdown-it-deflist --save
var md = require('markdown-it')()
.use(require('markdown-it-deflist'));
md.render(/*...*/);
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.
Term
: First paragraph.
- list item
Pandoc renders:
<dl>
<dt>Term</dt>
<dd>
First paragraph.
<ul>
<li>list item</li>
</ul>
</dd>
</dl>
This plugin renders:
<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:
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:
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.
Overall
Maintained
Code review
Latest release
Releases this year
60 followers · starred Jul 2017