mdast-util-sub-sup
v1.0.0
Published
mdast utility to parse and serialize subscript (_{...}) and superscript (^{...})
Maintainers
Readme
mdast-util-sub-sup
mdast utilities for subscript and superscript nodes.
Install
npm install mdast-util-sub-supUse
import { fromMarkdown } from 'mdast-util-from-markdown'
import { toMarkdown } from 'mdast-util-to-markdown'
import { subSup } from 'micromark-extension-sub-sup'
import { subSupFromMarkdown, subSupToMarkdown } from 'mdast-util-sub-sup'
const tree = fromMarkdown('H_{2}O', {
extensions: [subSup()],
mdastExtensions: [subSupFromMarkdown()]
})
const markdown = toMarkdown(tree, {
extensions: [subSupToMarkdown()]
})AST
Subscript
interface Subscript extends Node {
type: 'subscript'
children: PhrasingContent[]
}Renders to <sub> in HTML.
Superscript
interface Superscript extends Node {
type: 'superscript'
children: PhrasingContent[]
}Renders to <sup> in HTML.
API
subSupFromMarkdown()
Extension for mdast-util-from-markdown to parse subscript/superscript.
subSupToMarkdown()
Extension for mdast-util-to-markdown to serialize subscript/superscript.
Escaping
When serializing to markdown, balanced braces are preserved:
_{a{b}c}→_{a{b}c}(balanced, no escaping needed)
Unbalanced braces are escaped:
- Unbalanced
}is escaped as\} - Unbalanced
{is escaped as\{ \before{,}, or\is passed through as-is
Related
micromark-extension-sub-sup— tokenizerremark-sub-sup— remark plugin
License
MIT
