Skip to content

bobbypriam/odoc

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

odoc

odoc is a documentation generator for OCaml. It reads doc comments, delimited with (** ... *), and outputs HTML. See example output at docs.mirage.io.

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 :)


Installing and usage

opam install odoc

The easiest way to use odoc right now is by having Dune (Jbuilder) drive it. This command should work in most Jbuilder projects out of the box:

jbuilder build @doc

The generated docs can then be found locally at ./_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 in CONTRIBUTING.md helpful. If anything is missing from it, please don't hesitate to reach out for help.

About

OCaml documentation generator

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • OCaml 93.8%
  • HTML 4.8%
  • CSS 1.2%
  • Other 0.2%