Skip to content

ocaml/odoc

Repository files navigation

OCaml Documentation Generator.

OCaml-CI Build Status Coverage Status

odoc is a powerful and flexible documentation generator for OCaml. It reads doc comments, demarcated by (** ... *), and transforms them into a variety of output formats, including HTML, LaTeX, and man pages.

  • Output Formats: Odoc generates HTML for web browsing, LaTeX for PDF generation, and man pages for use on Unix-like systems.
  • Cross-References: odoc uses the ocamldoc markup, which allows to create links for functions, types, modules, and documentation pages.
  • Link to Source Code: Documentation generated includes links to the source code of functions, providing an easy way to navigate from the docs to the actual implementation.
  • Code Highlighting: odoc automatically highlights syntax in code snippets for different languages.

odoc is part of the OCaml Platform, the recommended set of tools for OCaml.

Getting Started

To begin using odoc, first install it using opam with the following command:

$ opam install odoc

Once installed, you can generate your project documentation with Dune:

$ dune build @doc

Upon completion, you'll find your freshly minted docs in _build/default/_doc/_html/index.html:

$ open _build/default/_doc/_html/index.html

For more in-depth information and usage instructions, see the odoc website.

Documentation

The full documentation for odoc, including comprehensive user and API guides, can be found on our website.

Contributing

We wholeheartedly welcome contributors! To start, please read our Contributing Guide to familiarize yourself with our development process, including how to propose and how to start hacking on odoc.

In order to foster a welcoming and respectful community, odoc has adopted the OCaml Code of Conduct.

Interested in the future of odoc? Take a look at our Roadmap to understand our vision and planned advancements for odoc.

For conversations on ongoing development, be sure to visit the odoc section of the OCaml Discuss forum.

License

odoc is distributed under the terms of the ISC License. See the LICENSE file for complete details.

Acknowledgments

odoc owes its existence to the efforts of Thomas Refis, Leo White, and David Sheets. The project was initiated in 2014 and 2015.

We'd also like to extend our appreciation to Anton Bachin and Daniel Bünzli and Jon Ludlam for their pivotal contributions to odoc.

Furthermore, we express our gratitude to Jane Street and Tarides, whose funding has been critical to support the ongoing development of odoc.