omd: Markdown library and tool in OCaml
Omd is an OCaml library designed to parse and print Markdown into different
formats. In addition to the library, a command-line tool
omd is included to
easily convert markdown into HTML.
Omd is developed on GitHub. If you need to report an issue, please do so at https://github.com/ocaml/omd/issues.
The minimum version of OCaml required is 4.04.2 Omd does not currently have any dependencies apart from the standard library.
The recommended way to install
omd is via the [opam package manager][opam]:
$ opam install omd
You can also build it manually with:
$ dune build
You can run the testsuite by doing:
$ dune runtest
Its development was motivated by at least these facts:
We wanted an OCaml implementation of Markdown; some OCaml parsers of Markdown existed before but they were incomplete. It's easier for an OCaml project to depend on an pure-OCaml implementation of Markdown than to depend some interface to a library implemented using another language, and this is ever more important since Opam exists.
We wanted to provide a way to make the contents of the OCaml.org website be essentially in Markdown instead of HTML. And we wanted to this website to be implemented in OCaml.
Having an OCaml implementation of Markdown is virtually mandatory for those who want to use a Markdown parser in a Mirage application. Note that OMD has replaced the previous Markdown parser of COW, which has been developed as part of the Mirage project.
Thank you to Christophe Troestler, Ashish Argawal, Sebastien Mondet, Thomas Gazagnaire, Daniel Bünzli, Amir Chaudry, Anil Madhavapeddy, David Sheets, Jeremy Yallop, and <please insert your name here if you believe you've been forgotten> for their feedbacks and contributions to this project.