class markdown::ParserBuilder

sys::Obj
  markdown::ParserBuilder

@Js

Source

Builder for customizing the behavior of the common mark parser

build

Parser build()

Source

Get the configured Parser

customBlockParserFactory

This customBlockParserFactory(BlockParserFactory factory)

Source

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

This customDelimiterProcessor(DelimiterProcessor delimiterProcessor)

Source

customInlineContentParserFactory

This customInlineContentParserFactory(InlineContentParserFactory factory)

Source

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

This extensions(MarkdownExt[] exts)

Source

Configure the given extensions on this parser.

linkMarker

This linkMarker(Int marker)

Source

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

This linkProcessor(LinkProcessor linkProcessor)

Source

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

This postProcessorFactory(|->PostProcessor| factory)

Source

withEnabledBlockTypes

This withEnabledBlockTypes(Type[] enabledBlockTypes)

Source

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#])