A formal specification for Markdown syntax with reference implementations in C and JavaScript.
CommonMark is a formal specification that defines a standardized version of Markdown syntax. It solves the problem of inconsistent and ambiguous Markdown implementations by providing a clear, testable standard that ensures documents render the same way across different platforms and tools.
Developers building Markdown parsers, editors, or documentation tools, as well as technical writers and organizations needing reliable, predictable Markdown rendering.
It offers a rigorously defined, community-driven standard with reference implementations and a comprehensive test suite, eliminating the guesswork and fragmentation of traditional Markdown.
CommonMark spec, with reference implementations in C and JavaScript
Provides a human-readable spec that precisely defines Markdown syntax, eliminating the guesswork and inconsistencies of original Markdown, as detailed in spec.txt.
Offers BSD-licensed parsers in C and JavaScript that strictly adhere to the spec, giving developers reliable starting points for integration.
Includes over 500 embedded examples in the spec that serve as conformance tests, making it easy to validate parser implementations against a standard.
Designed to render most existing Markdown documents as intended, with minimal breaking changes, as explained in the differences section.
Rationalizes rules for links, HTML blocks, and lists to improve consistency, addressing common pitfalls in other implementations.
Deliberately excludes popular extensions like footnotes and definition lists to focus on core syntax, which may require additional work for full-featured applications.
Building the spec into HTML or PDF requires installing lua and xelatex, adding setup overhead for contributors or those generating documentation.
The strict spec can make it challenging to add custom syntax or extensions without breaking compliance, limiting flexibility for niche use cases.
Capstone disassembly/disassembler framework for ARM, ARM64 (ARMv8), Alpha, BPF, Ethereum VM, HPPA, LoongArch, M68K, M680X, Mips, MOS65XX, PPC, RISC-V(rv32G/rv64G), SH, Sparc, SystemZ, TMS320C64X, TriCore, Webassembly, XCore and X86.
A cross-platform protocol library to communicate with iOS devices
A portable foreign-function interface library.
A cross platform C99 library to get cpu features at runtime.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.