type

ParserBuilder

src @Js
class ParserBuilder : Obj

Builder for customizing the behavior of the common mark parser

methods

build

Get the configured Parser

customBlockParserFactory

Add a custom block parser factory.

customDelimiterProcessor
customInlineContentParserFactory

Add a factory for a custom inline content parser, for extending inline parsing or overriding built-in parsing.

extensions

Configure the given extensions on this parser.

linkMarker

Add a custom link marker for link processing.

linkProcessor

Add a custom link/image processor for inline parsing.

postProcessorFactory
withEnabledBlockTypes

Describe the list of markdown features the parser will recognize and parse.

Slot Details

build

src Parser build()

Get the configured Parser

customBlockParserFactory

src This customBlockParserFactory(BlockParserFactory factory)

Add a custom block parser factory.

Note that custom factories are applied before the built-in factories. This is so that extensions can change how some syntax is parsed that would otherwise be handled by built-in factories.

customDelimiterProcessor

src This customDelimiterProcessor(DelimiterProcessor delimiterProcessor)

customInlineContentParserFactory

src This customInlineContentParserFactory(InlineContentParserFactory factory)

Add a factory for a custom inline content parser, for extending inline parsing or overriding built-in parsing.

Note that parsers are triggered based on a special character as specified by InlineContentParserFactory.triggerChars. It is possible to register multiple parsers for the same character, or even for some built-in special character such as `. The custom parsers are tried first in the order in which they are registered, and then the built-in ones.

extensions

src This extensions(MarkdownExt[] exts)

Configure the given extensions on this parser.

linkMarker

src This linkMarker(Int marker)

Add a custom link marker for link processing. A link marker is a character like ! which, if it appears before the [ of a link, changes the meaning of the link.

If a link marker followed by a valid link is parsed, the LinkInfo that is passed to the LinkProcessor will have its LinkInfo.marker set. A link processor should check the Text.literal and then do any processing, and will probably want to use LinkResult.includeMarker.

linkProcessor

src This linkProcessor(LinkProcessor linkProcessor)

Add a custom link/image processor for inline parsing.

Multiple link processors can be added, and will be tried in the order in which they were added. If no processor applies, the normal behavior applies. That means these can override built-in link parsing.

postProcessorFactory

src This postProcessorFactory(|->PostProcessor| factory)

withEnabledBlockTypes

src This withEnabledBlockTypes(Type[] enabledBlockTypes)

Describe the list of markdown features the parser will recognize and parse.

By default, we will recognize and parse the following set of "block" elements:

To parse only a subset of the features listed above, pass a lsit of each feature's associated Block type.

Example: to parse only headings and lists:

Parser.builder.withEnabledBlockTypes([Heading#, ListBlock#])