package omd

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

Install

Dune Dependency

Authors

Maintainers

Sources

omd-2.0.0.alpha2.tbz
sha256=bee39a6fbb5e32efbbc7eb81574f6472d568f2cb37ba93f2de188d4b68fc7396
sha512=82c8716774f756071c8c9dbce838309cfc67d2b607b30d9f5add1307fa8330db8951bfd5406aef1dc3b8902ee67b6d43f76687257927944f118f79be7ea24ff1

Description

This Markdown library is implemented using only pure OCaml (including I/O operations provided by the standard OCaml compiler distribution). OMD is meant to be as faithful as possible to the original Markdown. Additionally, OMD implements a few Github markdown features, an extension mechanism, and some other features. Note that the opam package installs both the OMD library and the command line tool omd.

Tags

org:ocamllabs org:mirage

Published: 25 Jun 2021

README

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 aims at implementing the Commonmark standard. The version currently targeted is 0.29.

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

Dependencies

The minimum version of OCaml required is 4.04.2 Omd does not currently have any dependencies apart from the standard library.

Installation

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

$ opam install omd

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

History

OMD has been 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.

Thanks

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.

Dependencies (2)

  1. ocaml >= "4.04"
  2. dune >= "2.0"

Dev Dependencies

None

Used by (21)

  1. beluga >= "1.1"
  2. builder-web
  3. camyll >= "0.2.0"
  4. cow >= "0.9.1"
  5. cowabloga >= "0.0.7"
  6. finch
  7. hardcaml-examples
  8. hardcaml-framework
  9. hilite < "0.3.0"
  10. jekyll-format < "0.3.3"
  11. lambdoc
  12. learn-ocaml < "0.13.0"
  13. learn-ocaml-client < "0.13.0"
  14. malfunction < "0.3" | >= "0.5"
  15. md2mld >= "0.5.1" & < "0.7.0"
  16. osh
  17. stog >= "0.17.0" & < "0.18.0" | = "0.19.0"
  18. stog_markdown
  19. stone >= "0.3.2"
  20. toc
  21. yocaml_markdown

Conflicts

None