Page
Library
Module
Module type
Parameter
Class
Class type
Source
OMD provides two things:
the command-line tool omd
, which takes some Markdown and converts it to HTML or Markdown.
Use omd -help
for more information on how to use it.
the library for OCaml contains several modules:
Omd
contains most functions a user will need for basic Markdown manipulation.the modules Omd_parser
, Omd_lexer
, Omd_backend
, Omd_representation
and Omd_utils
basically implement what their names say:
Omd_parser
implements the parser (the most complex part).Omd_lexer
implements a (basic) lexer.Omd_backend
implements 3 backends:
Omd_representation
declares the datatypes used in Omd
. It also provides some functions to work on those datatypes.Omd_utils
provides some useful tools that are not very specific to the OMD-specific datatypes.OMD aims at implementing the "original Markdown specs" with a few Github Flavour Markdown characteristics. OMD is also meant to be more "sane" than other Markdown parsers from the semantics point of view: if something bothers you from the semantics point of view, please open an issue on Github.
OMD assumes its input is US-ASCII or UTF-8 encoded.
OMD is implemented in OCaml, therefore it needs it to be compiled. OCaml 4.00.1 and then 4.01.0 have been used. OMD should be compatible with 3.12.0 as well, if it's not then please open an issue.
The opam package for OMD depends on ocamlfind, which is only used to compile and install OMD.
The root Makefile uses oasis, ocamlbuild and oasis2opam. The Makefile in src/ only use the compilers from the standard distribution of OCaml.
OMD, compiled as a library and/or a tool, doesn't depend on anything other than the OCaml standard library and runtime.
to install omd
using opam (recommended)
opam install omd
to get the development version of omd
git clone git://github.com/ocaml/omd.git
to compile omd
without oasis
nor ocamlbuild
cd omd/src && make
using oasis
and ocamlbuild
cd omd && make
The recommended version numbers are typefaced in bold. As new releases come out and bugs are discovered, a version can stop being recommended.
Version numbers are trying to follow this scheme: x.y.z
, z
is is for minor changes, y
may include algorithm, interface or editorial policy changes, and x
is for deeper changes.
-w
and -W
. Fixes mostly concern subtle uses of \n
s in HTML and Markdown outputs.There will not be any newer 0.9.x release although new bugs have been discovered. Thus it's recommended to upgrade to the latest 1.x.y.
0.9.7: introduction of media:end + bug fixes
If you need to have a version that still has Tag of extension
instead of Tag of name * extension
and don't want to upgrade, you may use 0.9.3
Tag of extension
changed to Tag of name * extension
0.9.3: new feature media:type="text/omd"
.
This version is recommended if you do not use that new feature and want to use 0.9.x