[Flexmark-java](https://github.com/vsch/flexmark-java) is a Java
[CommonMark](https://spec.commonmark.org/) (spec 0.28) parser using the blocks
first, inlines after Markdown parsing architecture.
Its strengths are speed, flexibility, Markdown source element based AST with
details of the source position down to individual characters of lexemes that
make up the element and extensibility.
The API allows granular control of the parsing process and is optimized for
parsing with a large number of installed extensions. The parser and
extensions come with plenty of options for parser behavior and HTML rendering
variations. The end goal is to have the parser and renderer be able to mimic
other parsers with great degree of accuracy. This is now partially complete
with the implementation of
[Markdown Processor Emulation](https://github.com/vsch/flexmark-java#markdown-processor-emulation).