-
-
Notifications
You must be signed in to change notification settings - Fork 101
Open
Labels
Description
Couscous supports Markdown Extra. To achieve that, the parser used is Parsedown Extra.
However we might want to switch to using the League/CommonMark parser because:
- CommonMark is a new and improved standard for Markdown
- League/CommonMark parses Markdown into an AST that can be extended and manipulated before being rendered to HTML
That would make it easier to add features such as #39, #65, #69, #155, etc.
Problem: in order to preserve BC we need Markdown Extra's features to be supported by Couscous:
- Inline HTML: compatible with CommonMark
- Markdown Inside HTML Blocks: works in CommonMark but not 100% compatible
- Special Attributes: webuni/commonmark-attributes-extension is not 100% compatible but might be a good starting base for implementing it?
- Fenced Code Blocks: supported by CommonMark
- Tables: webuni/commonmark-table-extension
- Definition Lists
- Footnotes
- Abbreviations
- Ordered Lists: compatible with CommonMark
- Emphasis in words: compatible with CommonMark
IMO we could get rid of definition lists, footnotes and abbreviations. I am not against adding support later if someone writes an extension for that, but I don't think they are crucial features.
That could be considered a BC break though given all the small differences. I'm not against releasing it as Couscous 2.0, thoughts? We could ship it with many features implemented thanks to that.
colinodelllcjury