package omd
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=278e8e5409954bee919ac853909f97061f954e728cbdb241466c235cb741377c
sha512=51c1ca573bd8e20e100788db575f3bee3c2ef61f0cf5c83fb5b67e193d2c87a223ae4a5776b1f3fe85f024cddf85bbe3e1f10988c38a88ae7304a282fd81825a
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
.
README
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:
please insert your name here if you believe you've been forgotten
Dependencies (7)
Dev Dependencies (2)
-
odoc
with-doc
-
ppx_expect
with-test
Used by (21)
-
beluga
>= "1.1"
-
builder-web
< "0.2.0"
-
camyll
>= "0.4.1"
-
cow
>= "0.9.1"
-
cowabloga
>= "0.0.7"
- finch
- hardcaml-examples
- hardcaml-framework
-
hilite
< "0.3.0"
-
jekyll-format
< "0.3.3"
- lambdoc
-
learn-ocaml
< "0.13.0"
-
learn-ocaml-client
< "0.13.0"
-
malfunction
< "0.3" | >= "0.5"
-
md2mld
>= "0.5.1"
- osh
-
stog
>= "0.17.0" & < "0.18.0" | = "0.19.0"
- stog_markdown
-
stone
>= "0.3.2"
- toc
- yocaml_markdown
Conflicts
None