package cmarkit

  1. Overview
  2. Docs
CommonMark parser and renderer for OCaml

Install

Dune Dependency

Authors

Maintainers

Sources

cmarkit-0.3.0.tbz
sha512=42fa920e84f2b7d45f5cf1251d3308daa7becff2590f7ce84186cb22335415b02cc9bc44179095bf0d37624fb5a0e66d1c96fcc1b12f1106f567247a71c79039

Description

Cmarkit parses the CommonMark specification. It provides:

  • A CommonMark parser for UTF-8 encoded documents. Link label resolution can be customized and a non-strict parsing mode can be activated to add: strikethrough, LaTeX math, footnotes, task items and tables.

  • An extensible abstract syntax tree for CommonMark documents with source location tracking and best-effort source layout preservation.

  • Abstract syntax tree mapper and folder abstractions for quick and concise tree transformations.

  • Extensible renderers for HTML, LaTeX and CommonMark with source layout preservation.

Cmarkit is distributed under the ISC license. It has no dependencies.

Homepage: https://erratique.ch/software/cmarkit

README

cmarkit — CommonMark parser and renderer for OCaml

v0.3.0

Cmarkit parses the CommonMark specification. It provides:

  • A CommonMark parser for UTF-8 encoded documents. Link label resolution can be customized and a non-strict parsing mode can be activated to add: strikethrough, LaTeX math, footnotes, task items and tables.

  • An extensible abstract syntax tree for CommonMark documents with source location tracking and best-effort source layout preservation.

  • Abstract syntax tree mapper and folder abstractions for quick and concise tree transformations.

  • Extensible renderers for HTML, LaTeX and CommonMark with source layout preservation.

Cmarkit is distributed under the ISC license. It has no dependencies.

Homepage: https://erratique.ch/software/cmarkit

Installation

cmarkit can be installed with opam:

opam install cmarkit
opam install cmarkit cmdliner # For the cmarkit tool

If you don't use opam consult the opam file for build instructions.

Documentation

The documentation can be consulted online or via odig doc cmarkit.

Questions are welcome but better asked on the OCaml forum than on the issue tracker.

Sample programs

The cmarkit tool parses and renders CommonMark files in various ways.

See also bench.ml and the doc examples.

Acknowledgements

A grant from the OCaml Software Foundation helped to bring the first public release of cmarkit.

The cmarkit implementation benefited from the work of John MacFarlane (spec, cmark) and Martin Mitáš (md4c).

Dependencies (4)

  1. topkg build & >= "1.0.3"
  2. ocamlbuild build
  3. ocamlfind build
  4. ocaml >= "4.14.0"

Dev Dependencies (2)

  1. b0 dev & with-test
  2. uucp dev

Used by (3)

  1. hilite >= "0.4.0"
  2. slack
  3. yocaml_cmark

Conflicts (1)

  1. cmdliner < "1.1.0"