pelican icon indicating copy to clipboard operation
pelican copied to clipboard

Move to CommonMark as default Markdown processor?

Open minchinweb opened this issue 3 years ago • 3 comments

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.

minchinweb avatar Feb 24 '22 03:02 minchinweb

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.

avaris avatar Feb 27 '22 19:02 avaris

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.

stale[bot] avatar Apr 29 '22 01:04 stale[bot]

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.

justinmayer avatar Jul 21 '22 16:07 justinmayer

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!

justinmayer avatar Aug 03 '23 08:08 justinmayer