omd
  1. Overview
  2. Docs
A Markdown frontend in pure OCaml

Install

Authors

Maintainers

Sources

omd-2.0.0.alpha3.tbz
sha256=278e8e5409954bee919ac853909f97061f954e728cbdb241466c235cb741377c
sha512=51c1ca573bd8e20e100788db575f3bee3c2ef61f0cf5c83fb5b67e193d2c87a223ae4a5776b1f3fe85f024cddf85bbe3e1f10988c38a88ae7304a282fd81825a

README.md.html

omd: Markdown library and tool in OCaml

Omd is an OCaml library designed to parse, manipulate, 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 aims for compliance with the CommonMark standard.
We are currently compliant with 0.30 of the ComonMark
spec
.

Omd is developed on GitHub. If you need to report an issue, please do so at
https://github.com/ocaml/omd/issues.

Installation

The recommended way to install omd is via the [opam package manager][opam].

You can install versions published to opam with:

$ opam install omd

You can install the current development version from the GitHub repository with

$ opam pin git@github.com:ocaml/omd.git

Documentation

  • View API docs online: https://ocaml.github.io/omd

  • View the API docs locally: odig doc omd

Building from source

You can also build it manually from source with:

$ git clone https://github.com/ocaml/omd.git
$ cd omd
$ make build

You can run the test suite with

$ make test

Dependencies

The minimum version of OCaml required is 4.08.

Dependencies are tracked in the dune-project and can be
installed by running:

$ opam install . --deps-only
# or
$ make deps

History

Omd 1 was developed by Philippe Wang at OCaml
Labs
in Cambridge.

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.

Omd 2 started development in 2020, beginning Nicolás Ojeda
Bär
's redesign and rewrite, and is currently ongoing.
Omd 2 has yet to reach feature parity with Omd 1.

Thanks

Special thanks for feedback and contributions to this project goes out to: