OCaml Documentation Hub
OCaml Documentation Hub is a comprehensive documentation generated for a large set of Opam packages. It provides inter-package links in the documentation, and access to the corresponding sources.
2,156 packages | 2,706 libraries | 3,267 metas | 17,210 modules |
Entry Points
|
|
Screenshots
![]() |
![]() |
![]() |
![]() |
About Digodoc
digodoc
. digodoc
generates documentation for all the packages installed in a switch, indexed by opam packages, libraries, metas and modules. It is also able to transform package sources into HTML pages.
Roadmap
- Provide full text and types of expressions global search
- Fix documentation generation for some packages (ocamlgraph, ...)
- Add typing information in sources
- Add cross-packages links in sources
- Link documentation and sources
- Improve odoc style
- Manage multiple versions of packages
Frequently Asked Questions
1. Can I contribute to this site?
Yes, all contributions are welcome! The easiest way is to submit ideas and issues on the bug tracker of the digodoc
project on Github. You can also directly modify the tools we use to improve them: beside digodoc
, the odoc
tool is also a good candidate for such work. Finally, if you are a student, OCamlPro usually takes interns during the summer, it's a great way to have a direct impact on the website from within the team that built it!
2. Why aren't some opam
packages listed?
Currently, the documentation is generated by installing all the packages in a single opam
switch for OCaml 4.10.0 on a Linux/Debian amd64 computer. So, only co-installable packages in this system are present.
3. Why isn't the version of package X the most recent one?
There are two main reasons: first, we regenerate the documentation from time to time, we don't follow closely the state of the opam
repository; second, we try to maximize the number of packages in an opam
switch, it sometimes requires to downgrade some package versions to increase the number of packages compatible with it.
4. Why aren't the modules of some packages documented?
The most frequent reason for a missing module documentation is the lack of installation of .cmt
files. This usually happens for packages that use Makefiles
for example (ocamlgraph
). We are currently working on a way to solve this issue by patching the OCaml compiler. Note that we are interested in listing all such packages, so if you notice one, notify us!
5. Are there links between the documentation pages and the sources pages?
Not yet. However, we plan to work on adding such a feature in the next version. We will probably need to dive deeper into odoc
for that.
6. Is it possible to do a text search in the documentation?
Not yet. However, we plan to add several search features when we will move to a dynamic website. For example, we will allow users to perform type-driven queries alongside standard full-text searches.