Move to CommonMark as default Markdown processor?
Discussed a long time ago was the possiblity of switching to CommonMark within Pelican (see https://github.com/getpelican/pelican/issues/1573). Since that time, CommonMark has solidified, but Pelican has started depending on rich, which in turn depends on commonmark.
So does it now make sense to just move to CommonMark?
On one hand, I like the idea of reducing dependencies and I like the theory of the large spec and test suite the CommonMark is built around to ensure consistent Markdown pharsing.
On the otherhand, switching to CommonMark doesn't actually ensure that "Markdown" written for Pelican actually renders the same in other tools, and swapping Markdown renderers would likely introduce a number of subtle rendering changes/bugs in many (most?) generated sites. For this second reason, a change like this should probably be considered a "Breaking Change" with a corresponding major version bump. Also, there is a question if the old Markdown support should be kept around as an official plugin for some time after the transition.
I'm of two minds on the issue, but wanted to see if there were strong feelings either way.
- [x] I have searched the issues (including closed ones) and believe that this is not a duplicate.
- [x] I have searched the documentation and believe that my question is not covered.
My two cents: the markdown provided in the core should stay as the standard markdown implementation (current one) and any extended syntax is provided via plugins. However, my position is not particularly strong.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your participation and understanding.
I don't have strong feeling either way, but I also lean toward retaining the current Markdown implementation and allowing for other implementations via plugins.
In the end, the benefits of switching from Python-Markdown to some CommonMark library are not clear to me. Given that lack of clarity, and given that such a switch would be a substantial effort to undertake, I'm not particularly inclined to do it.
For those who come across this issue and are interested in CommonMark, there have been several efforts at implementing support in plugin form, listed below in something resembling order of update frequency:
- https://github.com/noirbizarre/pelican-frontmark
- https://github.com/theskumar/pelican-commonmark
- https://github.com/getpelican/pelican-plugins/pull/358
Thanks for bringing up the topic, @MinchinWeb!