Side-by-side comparison of how the mdcomments syntax renders across five Markdown systems: default output vs. plugin-enhanced output.
Note: The plugins shown here were generated by an LLM and have not been manually reviewed. They serve solely as illustrative examples.
Want to try it yourself? Open the Interactive Editor to create and reply to threaded comments in a live WYSIWYG editor.
markdown-it (Node.js) — needs markdown-it-footnote
and markdown-it-mark plugins for footnote and ==highlight==
support. Without them, [^c-rev1] and ==text== render
as literal text. With the plugins, mdcomments degrade gracefully to numbered footnotes.
View plugin source on GitHub →
Pandoc — footnotes are built-in; ==text== is not
supported natively (passes through as literal text). The Lua filter implements full
mdcomments rendering including mark/highlight support, sidebar threads, and PDF output.
View filter source on GitHub →
MkDocs (Python-Markdown + pymdownx) — requires enabling the
footnotes and pymdownx.mark extensions. The custom
Python-Markdown extension transforms comment footnotes into sidebar threads.
View extension source on GitHub →
Showdown (Node.js) — has an opt-in footnotes flavor
but no ==mark== support. Footnote handling is limited; nested
blockquotes in footnotes can be unreliable. The plugin uses Showdown's regex
extension API to pre-process mdcomment syntax.
View extension source on GitHub →
Comrak (Rust) — GFM-compatible; footnotes available via
--extension footnotes. No ==mark== support. The
Rust plugin walks the AST to detect c- prefixed footnotes and
transforms them into comment sidebar HTML.
View plugin source on GitHub →