type
ParserBuilder
src
@Js
class ParserBuilder : Obj
Builder for customizing the behavior of the common mark parser
methods
build |
Get the configured |
---|---|
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
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:
Heading
(#
)HtmlBlock
(<html></html>
)ThematicBreak
(Horizontal Rule) (---
)FencedCode
(```
)IndentedCode
BlockQuote
(>
)ListBlock
(Ordered/Unordered List) (1. / *
)
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#])