odoc
OCaml documentation generator
README
odoc is a documentation generator for OCaml. It reads doc comments ,
delimited with (** ... *)
, and outputs HTML, LaTeX and man pages.
Using odoc
with OCaml
To install odoc with opam:
$ opam install odoc
For more information, see the odoc website or build
the docs locally yourself from the odoc
directory:
git clone https://github.com/ocaml/odoc.git
cd odoc
opam pin add . -n
opam install mdx bos
opam install --deps-only -t odoc
dune build @docgen
and find the docs in _build/default/doc/html/index.html
Contact
odoc is most discussed on discuss.ocaml.org's Ecosystem category with the odoc
tag.
Please also don't hesitate to open an issue.
Contributing
Any question asked, issue opened, feedback offered, is a
contribution to odoc, and the project and all its users are thankful :) If
you'd like to contribute code specifically, you may find the guide indoc/contributing.mld
helpful.
Install
- Published
-
02 Dec 2021
- Authors
-
- Maintainers
-
Sources
odoc-2.0.2.tbz
sha256=41fb15e43f49a3b1f436115d1358a0c7a61d38fea9a2b56861af859863629ff0
sha512=4762ee06d0a58fe22b44f6a0c0dda4890f919e6eaa0bd07706a425c00bd39f4a74e0222f2bd5810e3ea9347596ac6a7e835932a440362c82a22c0e1eb61f2a58
Dependencies
bos
with-test
mdx
with-test
ocaml
< "4.03.0" & with-test
ppx_expect
with-test
bisect_ppx
dev & = "2.5.0"
conf-jq
with-test
sexplib0
with-test
ocaml
< "4.04.1" & with-test
yojson
with-test
ocamlfind
with-test
markup
with-test & >= "1.0.0"
alcotest
with-test & >= "0.8.3"
lwt
with-test
ocaml-version
with-test & >= "2.3.0"
ocaml-migrate-parsetree
>= "1.0.6"
re
>= "1.7.2"
tyxml
>= "4.3.0"
ocaml
>= "4.02.0" & < "5.0"
dune
>= "2.9.1"
cppo
build & >= "1.1.0"
cmdliner
>= "1.0.0"
odoc-parser
>= "0.9.0" & < "2.0.0"
Reverse Dependencies
aifad
>= "2.3.0"
alba
>= "0.4.1"
alcotest
= "1.1.0" | = "1.2.3" | >= "1.5.0"
alcotest-async
>= "1.5.0"
alcotest-lwt
>= "1.5.0"
alcotest-mirage
>= "1.5.0"
alt-ergo
>= "2.4.1"
alt-ergo-lib
>= "2.4.1"
alt-ergo-parsers
>= "2.4.1"
altgr-ergo
>= "2.4.1"
anders
< "0.7.1"
ansi-parse
>= "0.4.0"
ao
>= "0.2.4"
archetype
>= "1.2.3"
argon2
>= "1.0.0"
atd
>= "2.3.3"
atdgen
>= "2.3.3"
atdgen-codec-runtime
>= "2.3.3"
atdgen-runtime
>= "2.3.3"
atdj
>= "2.3.3" & < "20151001.01"
atds
>= "2.3.3"
bencode
>= "2.0"
bindlib
>= "6.0.0"
binsec
>= "0.4.0"
bitmasks
>= "1.1.0"
bogue
>= "20210917"
boltzgen
>= "0.9.2"
brotli
>= "2.0.3"
ca-certs-nss
>= "3.64.0.1"
calculon
>= "0.3"
calculon-web
>= "0.3"
camelot
>= "1.3.0"
camlp-streams
>= "5.0.1"
caqti
>= "1.7.0"
caqti-async
>= "1.7.0"
caqti-driver-mariadb
>= "1.7.0"
caqti-driver-postgresql
>= "1.7.0"
caqti-driver-sqlite3
>= "1.7.0"
caqti-lwt
>= "1.7.0"
catala
>= "0.5.0"
cfg
>= "2.3.0"
choice
>= "0.4"
clangml
>= "4.2.0"
clangml-transforms
>= "0.26"
clap
>= "0.2.0"
combinat
>= "3.0"
config-file
>= "1.2.1"
conformist
>= "0.8.1"
containers
>= "2.0"
crc
>= "2.0.0"
crowbar
>= "0.2.1"
cry
>= "0.6.6"
csexp
>= "1.5.1"
cudf
>= "0.10"
curly
>= "0.2.0"
curses
>= "1.0.10"
cwe_checker
>= "0.3"
data-encoding
>= "0.5"
datalog
>= "0.6"
decoders
>= "0.5.0"
decoders-ezjsonm
>= "0.3.0"
decoders-yojson
>= "0.3.0"
devkit
>= "1.20210120"
dlm
>= "0.3.3"
docker-api
>= "0.2.2"
doi2bib
>= "0.3.0"
dolmen
>= "0.5"
dose3
>= "6.1"
dssi
>= "0.1.4"
dtools
>= "0.4.3"
dune-action-plugin
>= "2.7.0"
dune-build-info
>= "2.7.0"
dune-configurator
>= "2.7.0"
dune-glob
>= "2.7.0"
dune-private-libs
>= "2.7.0"
duppy
>= "0.9.1"
earley
>= "3.0.0"
earlybird
>= "1.0.0"
easy-format
>= "1.3.3"
electrod
>= "1.0.0"
extunix
>= "0.4.0"
ez_cmdliner
>= "0.2.0"
ez_config
>= "0.2.0"
ez_file
>= "0.2.0"
ezjs_idb
>= "0.1.1"
ezjs_min
>= "0.2.2"
FrontC
>= "4.0.0"
faad
>= "0.5.1"
fadbadml
>= "0.1.2"
fd-send-recv
>= "2.0.1"
feather
>= "0.2.0"
feather_async
>= "0.2.0"
ffmpeg
>= "1.0.0~beta2"
ffmpeg-av
>= "1.0.0~beta2"
ffmpeg-avcodec
>= "1.0.0~beta2"
ffmpeg-avdevice
>= "1.0.0~beta2"
ffmpeg-avfilter
>= "1.0.0~beta2"
ffmpeg-avutil
>= "1.0.0~beta2"
ffmpeg-swresample
>= "1.0.0~beta2"
ffmpeg-swscale
>= "1.0.0~beta2"
fiat-p256
= "0.2.2"
frenetic
>= "5.0.0"
GT
>= "0.5.0"
gen
>= "0.5.1"
gen_js_api
>= "1.0.8"
github
>= "4.4.0"
github-jsoo
>= "4.4.0"
github-unix
>= "4.4.0"
gnuplot
>= "0.6"
goblint
>= "1.1.1"
goblint-cil
>= "1.8.0"
gperftools
>= "0.4"
hacl-star
>= "0.4.0"
hacl_x25519
= "0.2.1"
higlo
>= "0.8"
httpaf_caged
>= "1.0.1"
ISO8601
>= "0.2.6"
inotify
>= "2.4"
inquire
>= "0.3.0"
irc-client
>= "0.6.2"
irc-client-lwt
>= "0.6.2"
irc-client-tls
>= "0.6.2"
irc-client-unix
>= "0.6.2"
iri
>= "0.6.0"
irmin-watcher
>= "0.5.0"
jekyll-format
>= "0.2.0"
jose
>= "0.6.0"
js_of_ocaml
>= "3.10.0"
js_of_ocaml-compiler
>= "3.10.0"
js_of_ocaml-lwt
>= "3.10.0"
js_of_ocaml-ocamlbuild
>= "3.10.0"
js_of_ocaml-ppx
>= "3.10.0"
js_of_ocaml-ppx_deriving_json
>= "3.10.0"
js_of_ocaml-toplevel
>= "3.10.0"
js_of_ocaml-tyxml
>= "3.10.0"
jsonrpc
>= "1.4.0"
junit
>= "1.0"
jupyter-kernel
>= "0.4"
jwto
>= "0.4.0"
kqueue
>= "0.2.0"
lablgtk3-extras
>= "3.0.1"
ladspa
>= "0.2.1"
lambda-term
>= "3.3.0"
lambdapi
>= "2.0.0"
lame
>= "0.3.6"
landmarks
>= "1.4"
ldap
>= "2.4.2"
learn-ocaml
>= "0.12"
letters
!= "0.1.1"
leveldb
>= "1.3.0"
linenoise
>= "1.3.1"
lmdb
>= "1.0"
lsp
>= "1.4.0"
lua-ml
>= "0.9.3"
lua_parser
>= "1.0.2"
lwd
>= "0.2"
lz4
>= "1.2.0"
mad
>= "0.5.1"
mdx
= "1.7.0" | >= "1.11.0"
metapp
>= "0.3.0"
metaquot
>= "0.3.0"
minisat
>= "0.2"
mlbdd
>= "0.7.2"
mm
>= "0.7.2"
monomorphic
>= "2.0"
morbig
>= "0.10.3"
mpg123
>= "0.3"
mpris
>= "0.2.0"
mssql
>= "2.0.3"
mysql_protocol
>= "3.0.1"
noCanren
>= "0.3.0~alpha1"
nottui
>= "0.2"
nottui-lwt
>= "0.2"
nottui-pretty
>= "0.2"
nunchaku
>= "0.5.1"
nuscr
>= "1.1.0"
OCanren
>= "0.3.0~alpha1"
OCanren-ppx
>= "0.3.0~alpha1"
ocaml-compiler-libs
>= "v0.12.4"
ocaml-lsp-server
>= "1.4.0"
ocaml-lua
>= "1.8"
ocaml-protoc
>= "2.1"
ocamlformat
>= "0.19.0~4.13preview"
ocamlformat-rpc
>= "0.19.0"
ocf
>= "0.8.0"
ocp-browser
>= "1.2.2"
ocp-index
>= "1.2.2"
ocplib_stuff
>= "0.3.0"
odig
>= "0.0.7"
ogg
>= "0.7.1"
ojs
>= "1.0.8"
olinq
>= "0.3"
omd
= "1.3.2"
opam-0install
>= "0.4.2"
opam-0install-cudf
>= "0.4.2"
opam-bin
>= "0.9.5"
opam-monorepo
>= "0.3.0"
opam_bin_lib
>= "0.9.5"
opasswd
>= "1.3.1"
opium
>= "0.20.0"
opium-testing
>= "0.20.0"
opus
>= "0.2.1"
otoml
>= "0.9.3"
override
>= "0.4.0"
parmap
>= "1.2.3"
patoline
>= "0.2"
pcre
>= "7.5.0"
pgx
>= "1.0"
portaudio
>= "0.2.3"
ppx_const
>= "2.0"
ppx_deriving_encoding
>= "0.3.0"
ppx_deriving_qcheck
>= "0.2.0"
ppx_distr_guards
>= "0.3"
ppx_getenv
>= "2.0"
ppx_monoid
>= "0.3.3"
ppx_repr
!= "0.2.0"
ppxlib
>= "0.22.0"
prbnmcn-ucb1
>= "0.0.2"
printbox
>= "0.2"
psmt2-frontend
>= "0.3.0"
pulseaudio
>= "0.1.5"
pyml
>= "20210924"
qbf
>= "0.3"
qcheck
>= "0.9"
raylib
>= "0.3.1"
rdf
>= "0.13.0"
rea
< "0.2.0"
redis
>= "0.4"
redis-lwt
>= "0.4"
redis-sync
>= "0.4"
refl
>= "0.2.0"
reparse
>= "2.0.0"
repr
!= "0.2.0"
resto
>= "0.7"
river
>= "0.2"
rock
>= "0.20.0"
routes
>= "1.0.0"
rpc
>= "6.1.0"
samplerate
>= "0.1.6"
sanddb
>= "0.2"
sarek
>= "20210823"
secp256k1
>= "0.4.1"
sedlex
>= "2.4"
sequence
>= "1.1"
sha
>= "1.15.1"
shine
>= "0.2.2"
sihl
>= "0.1.5"
smart-print
>= "0.3.0"
snappy
>= "0.1.2"
spawn
>= "v0.15.0"
speex
>= "0.4.1"
spelll
>= "0.3"
spoc
>= "20210823"
sqlgg
>= "20200521"
sqlite3
>= "5.0.3"
srt
>= "0.2.1"
stdint
>= "0.7.0"
stog
>= "0.20.0"
taglib
>= "0.3.7"
tar
>= "2.0.0"
tar-mirage
>= "2.0.0"
tar-unix
>= "2.0.0"
tezos-bls12-381-polynomial
>= "0.1.3"
tezos-plompiler
>= "0.1.3"
tezos-plonk
>= "0.1.3"
timed
>= "1.1"
timedesc
>= "0.8.0"
tip-parser
>= "0.4"
toml
>= "5.0.0"
toml_cconv
>= "7.0.0"
touist
>= "3.5.0"
traverse
>= "0.3.0"
travesty
>= "0.7.2"
tsdl-image
>= "0.3.0"
tsdl-mixer
>= "0.3.0"
tsdl-ttf
>= "0.3"
tyre
>= "0.5"
tyxml-lwd
>= "0.2"
uritemplate
>= "0.1.0"
vec
>= "0.2.0"
voqc
>= "0.2.0"
websocket
>= "2.15"
websocket-async
>= "2.15"
websocket-lwt-unix
>= "2.15"
win-eventlog
>= "0.4"
winsvc
>= "1.0.1"
xapi-stdext-pervasives
>= "4.19.0"
xapi-stdext-std
>= "4.19.0"
xapi-stdext-threads
>= "4.19.0"
xapi-stdext-unix
>= "4.19.0"
xmldiff
>= "0.7.0"
xtmpl
>= "0.19.0"
yojson
>= "2.0.0"
yuujinchou
>= "0.10.0"
zed
>= "3.2.0"
zlib
>= "0.6"
zlist
>= "0.4.0"