-
-
Notifications
You must be signed in to change notification settings - Fork 314
List of CommonMark Implementations
Christian Tietze edited this page Feb 11, 2020
·
120 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
- 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
- cmark-scala (wraps the C library)
-
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
-
cmark-lua (wraps the C library) -
luarocks install cmark
- lcmark (higher level interface around cmark, adding YAML metadata, filters, and templates)
- 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
- commonmark.py - Pure Python implementation directly based on commonmark.js
- 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)
- comrak - Architecture based on cmark-gfm, with GitHub extensions.
- pulldown-cmark - Novel, performance-oriented architecture.
- 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)
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
- CommonMark.swift
- SmarkDown.swft - Pure Swift