@yozora/core-parser
v2.3.1
Published
<header> <h1 align="center"> <a href="https://github.com/yozorajs/yozora/tree/v2.3.1/packages/core-parser#readme">@yozora/core-parser</a> </h1> <div align="center"> <a href="https://www.npmjs.com/package/@yozora/core-parser"> <img
Downloads
58
Readme
Install
npm
npm install --save @yozora/core-parser
yarn
yarn add @yozora/core-parser
Usage
@yozora/core-parser provide a DefaultParser, which without any built-in tokenizers.
import { DefaultParser } from '@yozora/parser-gfm-ex'
import ParagraphTokenizer from '@yozora/tokenizer-paragraph'
import IndentedTokenizer from '@yozora/tokenizer-indented-code'
import InlineCodeTokenizer from '@yozora/tokenizer-inline-code'
import InlineMathTokenizer from '@yozora/tokenizer-inline-math'
import TextTokenizer from '@yozora/tokenizer-text'
const parser = new DefaultParser()
parser
.useFallbackTokenizer(new ParagraphTokenizer())
.useFallbackTokenizer(new TextTokenizer())
.useTokenizer(new IndentedCodeTokenizer())
.useTokenizer(new InlineMathTokenizer())
.useTokenizer(new InlineCodeTokenizer())
parser.parse(
'source markdown content', // markdown source contents, `string|Iterable<string>`
{}, // ParseOptions, optional.
)
parser.parse(['source', 'contents'])
/**
* 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()
|Parse Options
| 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 definitions |