@yozora/tokenizer-list
v2.3.1
Published
<!-- :begin use tokenizer/banner -->
Downloads
71
Readme
@yozora/tokenizer-list produce List (with ListItem as children) type nodes. See documentation for details.
Install
npm
npm install --save @yozora/tokenizer-list
yarn
yarn add @yozora/tokenizer-list
Usage
@yozora/tokenizer-list has been integrated into @yozora/parser / @yozora/parser-gfm-ex /
@yozora/parser-gfm, so you can use YozoraParser
/ GfmExParser
/ GfmParser
directly.
Basic Usage
@yozora/tokenizer-list cannot be used alone, it needs to be registered in YastParser as a plugin-in before it can be used.
import { DefaultParser } from '@yozora/core-parser'
import ParagraphTokenizer from '@yozora/tokenizer-paragraph'
import TextTokenizer from '@yozora/tokenizer-text'
import ListTokenizer from '@yozora/tokenizer-list'
const parser = new DefaultParser()
.useFallbackTokenizer(new ParagraphTokenizer())
.useFallbackTokenizer(new TextTokenizer())
.useTokenizer(new ListTokenizer())
// parse source markdown content
parser.parse(`
- a
- b
- c
- d
- e
- f
- g
---
- [ ] This is a TODO item.
- [-] This is a processing TODO item.
- [x] This is a finished TODO item.
---
1. This is an ordered list item
a. This is an another type of ordered list item
`)
Use within @yozora/parser
import YozoraParser from '@yozora/parser'
const parser = new YozoraParser()
// parse source markdown content
parser.parse(`
- a
- b
- c
- d
- e
- f
- g
---
- [ ] This is a TODO item.
- [-] This is a processing TODO item.
- [x] This is a finished TODO item.
---
1. This is an ordered list item
a. This is an another type of ordered list item
`)
Use with @yozora/parser-gfm
import GfmParser from '@yozora/parser-gfm'
const parser = new GfmParser()
// parse source markdown content
parser.parse(`
- a
- b
- c
- d
- e
- f
- g
---
- [ ] This is a TODO item.
- [-] This is a processing TODO item.
- [x] This is a finished TODO item.
---
1. This is an ordered list item
a. This is an another type of ordered list item
`)
Use within @yozora/parser-gfm-ex
import GfmExParser from '@yozora/parser-gfm-ex'
const parser = new GfmExParser()
// parse source markdown content
parser.parse(`
- a
- b
- c
- d
- e
- f
- g
---
- [ ] This is a TODO item.
- [-] This is a processing TODO item.
- [x] This is a finished TODO item.
---
1. This is an ordered list item
a. This is an another type of ordered list item
`)
Options
| Name | Type | Required | Default |
| :---------------------------------: | :----------: | :------: | :----------------------------------: |
| name
| string
| false
| "@yozora/tokenizer-list"
|
| priority
| number
| false
| TokenizerPriority.CONTAINING_BLOCK
|
| enableTaskListItem
| boolean
| false
| false
|
| emptyItemCouldNotInterruptedTypes
| NodeType[]
| false
| [ParagraphType]
|
name
: The unique name of the tokenizer, used to bind the token it generates, to determine the tokenizer that should be called in each life cycle of the token in the entire matching / parsing phase.priority
: Priority of the tokenizer, determine the order of processing, high priority priority execution. interruptable. In addition, in thematch-block
stage, a high-priority tokenizer can interrupt the matching process of a low-priority tokenizer.enableTaskListItem
: Whether to enable task list item (extension).emptyItemCouldNotInterruptedTypes
: Specify an array of Node types that could not be interrupted by this ITokenizer if the current list-item is empty.@see https://github.github.com/gfm/#example-263