remark-deflist
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

remark-deflist

CI/CD Status MIT License stars

Remark plugin for adding support for pandoc-style definition lists to Markdown.

Adds three new node types to MDAST: descriptionlist, descriptionterm, and descriptiondetails. When using rehype, these will be stringified as dl, dt, and dd respectively.

Mostly compatible with the pandoc/PHP Markdown Extra syntax. The only difference is that multi-paragraph descriptions are not currently supported.

Install

This package is ESM only: Node 12+ is needed to use it and it must be imported instead of required.

npm:

npm install remark-deflist

Example

Syntax

Term 1

: Definition 1

AST

The example above will yield:

{
  type: 'descriptionlist',
  children: [
    {
      type: 'descriptionterm',
      children: [{
        type: 'text',
        value: 'Term 1'
      }]
    },
    {
      type: 'descriptiondetails',
      children: [{
        type: 'text',
        value: 'Definition 1'
      }]
    }
  ]
}

Syntax

Term with *inline markup*

: Definition **1**
Lazy Initialization
: Achievement of compactness by not typing an extra line after the definition term.
Continuation

:   Splitting a single paragraph
    across multiple lines.
Lazy Continuation
: Ugliness
by not indenting text.
This is an example of multiple definitions for a single term.

Indent
: (*noun*) A whitespace to align text in a beautiful way.
: (*verb*) To add whitespace to make ugly code beautiful.

Usage

import { unified } from 'unified'
import markdown from 'remark-parse'
import html from 'rehype-stringify'
import remark2rehype from 'remark-rehype'
import meta from 'remark-meta'

unified()
  .use(markdown)
  .use(meta)
  .use(remark2rehype)
  .use(html)

License

MIT © Alex Shaw

Readme

Keywords

Package Sidebar

Install

npm i remark-deflist

Weekly Downloads

1,100

Version

1.0.0

License

MIT

Unpacked Size

10.2 kB

Total Files

6

Last publish

Collaborators

  • symbitic