This PR introduces a new Markdown engine called markdown2.
The current Markdown implementation is functional but does not follows the CommonMark specification as it passes only 273 tests of the 627 from the CommonMark test suite.
Also there is a few issues with it as stated in #791, #1394, #1525 and #2507.
This new implementation aims at resolving these issues and follow the CommonMark specification.
Features:
Markdown AST creation and rendering
Rendering to HTML
Rendering to Markdown
Rendering to Man format
Rendering to LaTeX
Parsing of Github extended mode
Parsing of wikilinks
Parsing of LaTeX/Maths expression (upcoming in next PR)
Respect of the CommonMark specification with only 10 tests failed (UTF-8 related)
Extensive testing with a total of 980 test units...
I didn't remove the old markdown implementation since the benchmarks are not really good for now. Since markdown2 uses a lot of regular expressions, performances can be an issue compared to markdown:
In the following PR some Nit tools will be migrated to the new implementation:
This PR introduces a new Markdown engine called
markdown2
.The current Markdown implementation is functional but does not follows the CommonMark specification as it passes only 273 tests of the 627 from the CommonMark test suite.
Also there is a few issues with it as stated in #791, #1394, #1525 and #2507.
This new implementation aims at resolving these issues and follow the CommonMark specification.
Features:
I didn't remove the old markdown implementation since the benchmarks are not really good for now. Since
markdown2
uses a lot of regular expressions, performances can be an issue compared tomarkdown
:In the following PR some Nit tools will be migrated to the new implementation: