Replace pegdown with modern markdown parser
See original GitHub issueparadox currently builds upon pegdown
as the underlying markdown parser. Although pegdown has a number of serious issues it comes with quite a large feature-set and has long been one of the few “go-to” markdown-parsing solutions on the JVM.
Unfortunately, pegdown is essentially unmaintained with crucial bugs not being fixed. Also its parsing performance is relatively bad. Parser runtime can sometimes even become exponential, which means that the parser either appears to “hang” completely or abort processing after a time-out.
These deficiencies, along with the availability of newer, more modern and better maintained alternatives, should be sufficient motivation to consider a switch to another underlying parser solution.
I’d recommend we look at commonmark-java
and flexmark-java
and evaluate, which one works better.
From his involvement with pegdown I know @vsch (the author of flexmark-java
) as being very friendly and responsive, so I’d trust him with responsible maintenance for the foreseeable future.
commonmark-java
on the other hand is maintained by Atlassian, which is certainly not bad either.
My impression is that either alternative will provide a much better foundation for all future work on paradox than pegdown.
Issue Analytics
- State:
- Created 7 years ago
- Reactions:4
- Comments:21 (13 by maintainers)
Top GitHub Comments
I will start looking at this over the coming weeks.
Vladimir and I have discussed meeting in person if something blocks my progress. Thanks a lot @vsch for showing this level of support!
Switching to flexmark-java sounds good to me too. And the feature set sounds great: AST with post processing support, detailed source positions in the AST, extensible at multiple levels, faster parser.