-
-
Notifications
You must be signed in to change notification settings - Fork 316
List of CommonMark Implementations
Harsha Teja Kanna edited this page Jan 2, 2024
·
122 revisions
- cmark (reference implementation, high performance executable and library)
- cmark-gfm - GitHub's fork of cmark with extensions for tables, etc.
- MD4C - very fast parser implementation with minimalistic interface (in XML-parsing analogy, it is more like a SAX parser, not DOM parser)
- CommonMark.NET - available on NuGet
- Markdig - available on NuGet
- cl-cmark (wraps the C library)
- markd - written in Crystal
- commonmark-d (port of MD4C)
- hunt-markdown (port of commonmark-java)
- Cmark (wraps the C library)
- cmark (port of commonmark.js)
- golang-commonmark/markdown - pure Go implementation
- go-commonmark (wraps the C library)
- goldmark - pure Go implementation
- Lute - pure Go implementation
- cmark (wraps the C library)
- commonmark-hs - pure Haskell implementation
- necmark (wraps the C library) - neko target
- commonmark-java - pure Java
- flexmark-java - pure Java, with source level AST down to single characters
-
commonmark.js (reference
implementation) -
npm install commonmark
-
markdown-it (high speed pluggable implementation) -
npm install markdown-it
-
cmark-emscripten (port of the C library to WebAssembly) -
npm install cmark-emscripten
- mdx (superset of CommonMark that adds embedded JSX and import/export syntax)
-
ciceromark - The CiceroMark DOM extends the CommonMark DOM for smart legal contracts; defining nodes for
Clause
,Variable
, andComputedVariable
- CommonMark.jl (pure Julia implementation with extensions)
-
cmark-lua (wraps the C library) -
luarocks install cmark
- lcmark (higher level interface around cmark, adding YAML metadata, filters, and templates)
- The Markdown Package for TeX (Rewrite of lunamark Lua library for typesetting CommonMark documents in TeX)
- Cmarkit – pure OCaml implementation
- CommonMark (wraps the C library)
- league/commonmark - Highly-extensible PHP implementation based on commonmark.js with support for custom extensions
- cmark - PECL extension based on the original cmark implementation
- markdown-it-py - A pure Python port of the JS markdown-it library; High speed and pluggable
- mistletoe - Fastest, extensible implementation in pure Python
-
paka.cmark (wraps the cmark C
library) -
pip install paka.cmark
- Marko - A pure Python implementation, focusing on easy extensibility
- CommonMarker (wraps the C library)
- motion-markdown-it - Based on the JS markdown-it library, ported to Ruby and RubyMotion
- commonmark (wraps the C library)
- commonmark — native Racket, with full test coverage
- comrak - Architecture based on cmark-gfm, with GitHub extensions.
- pulldown-cmark - Novel, performance-oriented architecture.
- markdown-rs - CommonMark compliant markdown parser with ASTs and extensions
- cmark-scala (wraps the C library)
- guile-commonmark - GNU Guile Scheme
- Down (wraps reference cmark)
- SwiftMark (wraps the C library)
- MarkdownSyntax (wraps reference C library for AST access)
- tcl-cmark - wraps cmark-gfm
- DefinitelyTyped (JS library bindings, NuGet)
- FlavorMark (Rewrite of commonmark.js with focus on modularizing parsing logic, npm)
- koino - Architecture based on Comrak/cmark-gfm, with GitHub extensions
These projects are based on earlier versions of CommonMark and are now obsolete. But they might be good starting points for new work.
- luacmark
- commonmark-lua - luajit + FFI
- pycommonmark
- commonmark.py - deprecated in favor of markdown-it-py
- CommonMark.swift
- SmarkDown.swft - Pure Swift