unified

Project: Symbitic/remark-plugins

Package: remark-supersub@1.0.0

  1. Remark plugin for adding subscript/superscript syntax.
  1. remark 213
  2. remark-plugin 81

remark-supersub

CI/CD Status MIT License stars

Remark plugin for adding support for pandoc-style superscript and subscript syntax to Markdown.

Adds two new node types to MDAST: superscript and subscript. When using rehype, these will be stringified as sup and sub respectively.

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-supersub

Syntax

21^st^ Century

H~2~O

AST

The example above will yield:

{
  type: 'paragraph',
  children: [
    {
      type: 'text',
      value: '21'
    },
    {
      type: 'superscript',
      children: [{
        type: 'text',
        value: 'st'
      }]
    },
    {
      type: 'text',
      value: ' Century'
    }
  ]
}
...
{
  type: 'paragraph',
  children: [
    {
      type: 'text',
      value: 'H'
    },
    {
      type: 'subscript',
      children: [{
        type: 'text',
        value: '2'
      }]
    },
    {
      type: 'text',
      value: 'O'
    }
  ]
}

Usage

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

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

License

MIT © Alex Shaw