Switch client side markdown processing to remark #495
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #488.
Initially we started with
marked
for markdown rendering as it still seems the most popular. As we started to need more customisation points it became quite tricky to get the rendering right. The referenced issue is related to the fact that we handle$
math separately from markdown parsing. I revisited the options based on the level flexibility we need, two other popular packages areremark
andmarkdown-it
, both of which support plugins.markdown-it
doesn't support async highlighting and the katex plugin is far behind, but withremark
neither of these is a problem. Also,remark
is a part of a large ecosystem revolving around transforming AST with plugins and is very extendable. Given the plugin nature, setting it all up requires a few packages, but in the end it looks much cleaner as compared with the current setup.