package odoc
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=d24463f2660bc28c72cda001478360158e953721c9e23fb361ec4783113c4871
sha512=e6c83630325de422f31cda8f88c038d213969f8b98e989593c057658f3956c0855860c9bc38f61b6479929516ca95aee689ddfba3ad8c47d821c4fdf54524cf9
README.md.html
odoc
odoc is a documentation generator for OCaml. It reads doc comments , delimited with (** ... *)
, and outputs HTML. See example output.
Text inside doc comments is marked up in ocamldoc syntax:
val compare : string -> string -> int
(** [compare s1 s2] compares [s1] and [s2] in {e lexicographic} order. The
result is negative if [s1] precedes [s2], positive if [s1] follows [s2],
and zero if [s1] and [s2] are equal. *)
The syntax reference is here. There is also an explanation of how to attach comments to specific types, values, and other elements in your program.
odoc's main advantage over ocamldoc is an accurate cross-referencer, which handles the complexity of the OCaml module system. odoc also offers a good opportunity to improve HTML output compared to ocamldoc, but this is very much a work in progress :)
Using odoc
with OCaml
To install odoc with opam:
opam install odoc
If you want to use odoc on the packages you have installed in your opam switch type:
opam install ocaml-manual odig
odig doc
When you are developing the easiest way to use odoc right now is by having Dune drive it. This command should work in most Dune projects out of the box:
dune build @doc
The generated docs can then be found locally at ./_build/default/_doc/_html/index.html
.
Using odoc
with BuckleScript/Reason
You can use the bsdoc
npm package to use odoc
in your BuckleScript projects.
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 in CONTRIBUTING.md
helpful. Also see the roadmap there. If anything is missing from it, please don't hesitate to reach out.