question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Replace pegdown with modern markdown parser

See original GitHub issue

paradox 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:open
  • Created 7 years ago
  • Reactions:4
  • Comments:21 (13 by maintainers)

github_iconTop GitHub Comments

1reaction
jonascommented, Aug 21, 2018

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!

1reaction
pvlugtercommented, Aug 19, 2017

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.

Read more comments on GitHub >

github_iconTop Results From Across the Web

sirthias/pegdown | Porter.io
Modern parser architecture (based on commonmark-java), designed from the ground up as a pegdown replacement and supporting all its features and extensions ...
Read more >
lightbend - Bountysource
Unfortunately, pegdown is essentially unmaintained with crucial bugs not being fixed. Also its parsing performance is relatively bad. Parser runtime can ...
Read more >
Markdown Interpreter for Apache Zeppelin
Markdown is a plain text formatting syntax designed so that it can be converted to HTML. Apache Zeppelin uses pegdown and markdown4j as...
Read more >
GitLab Flavored Markdown (GLFM)
Ubuntu 18.04 (like many modern Linux distributions) has this font installed by default. Front matter. Front matter is metadata included at the beginning...
Read more >
Error creating extended parser class: null at 41:/skins/flamingo ...
Task - A task that needs to be done. MARKDOWN-64 Remove markdown/1.0 and markdown/1.1. Major - Major loss of function. Closed ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found