@yozora/parser-gfm-ex
v2.3.1
Published
A markdown parser with built-in tokenizers to fully support GFM and GFM extensions
Downloads
25
Maintainers
Readme
A markdown parser with built-in tokenizers to fully support GFM and GFM extensions.
See @yozora/parser-gfm-ex documentation for details.
Install
npm
npm install --save @yozora/parser-gfm-ex
yarn
yarn add @yozora/parser-gfm-ex
Usage
Basic
import GfmExParser from '@yozora/parser-gfm-ex' const parser = new GfmExParser() // parse markdown source content. parser.parse('source markdown content') // parse markdown source content with custom options. parser.parse( 'source markdown content', // markdown source contents, `string|Iterable<string>` {}, // ParseOptions, optional. ) // parse multiple markdown source content pieces. parser.parse(['source', 'contents'])
Use withing generator:
import GfmExParser from '@yozora/parser-gfm-ex' const parser = new GfmExParser() /** * String stream is supported through the iterator API. */ function* source () { yield 'hello', yield 'world', } parser.parse(source())
Options
Constructor Options
| Name | Type | Required | Description | | :------------------------ | :------------------------ | :------- | :------------------------------------------------------ | |
blockFallbackTokenizer
|BlockFallbackTokenizer
|false
| Fallback tokenizer on processing block structure phase | |inlineFallbackTokenizer
|InlineFallbackTokenizer
|false
| Fallback tokenizer on processing inline structure phase | |defaultParseOptions
|ParseOptions
|false
| Default options forparse()
|ParseOptions
| Name | Type | Required | Description | | :-------------------------- | :--------------------------------------- | :------- | :------------------------------------------------------------------- | |
shouldReservePosition
|boolean
|false
| Whether it is necessary to reserve the position in the Node produced | |presetDefinitions
|Array<Omit<Definition, 'type'>
|false
| Preset definitions | |presetFootnoteDefinitions
|Array<Omit<FootnoteDefinition, 'type'>
|false
| Preset footnote definition |
Overview
Built-in tokenizers
| Tokenizer | Description | | :--------------------------------------- | :----------------------------------------------------------------------------------------------------------------- | | @yozora/tokenizer-autolink | Resolve GFM Autolinks | | @yozora/tokenizer-autolink-extension | Resolve GFM Autolinks (extension) | | @yozora/tokenizer-blockquote | Resolve GFM blockquotes | | @yozora/tokenizer-break | Resolve GFM hard line breaks and GFM soft line breaks | | @yozora/tokenizer-definition | Resolve GFM link reference definitions | | @yozora/tokenizer-delete | Resolve GFM strikethrough (extension) | | @yozora/tokenizer-emphasis | Resolve GFM emphasis and strong emphasis | | @yozora/tokenizer-fenced-code | Resolve GFM fenced code blocks | | @yozora/tokenizer-heading | Resolve GFM ATX headings | | @yozora/tokenizer-html-block | Resolve GFM HTML blocks | | @yozora/tokenizer-html-inline | Resolve GFM raw HTML | | @yozora/tokenizer-image | Resolve GFM images | | @yozora/tokenizer-image-reference | Resolve GFM reference images | | @yozora/tokenizer-indented-code | Resolve GFM indented code blocks | | @yozora/tokenizer-inline-code | Resolve GFM code spans | | @yozora/tokenizer-link | Resolve GFM links | | @yozora/tokenizer-link-reference | Resolve GFM reference links | | @yozora/tokenizer-list | Resolve GFM lists (with GFM list items and GFM task list items) | | @yozora/tokenizer-paragraph | Resolve GFM paragraphs | | @yozora/tokenizer-setext-heading | Resolve GFM setext headings | | @yozora/tokenizer-table | Resolve GFM tables | | @yozora/tokenizer-text | Resolve GFM textual contents | | @yozora/tokenizer-thematic-break | Resolve GFM thematic breaks |