Building documentation

The documentation for OpenTitan is available online. The creation of documentation is mainly based around the conversion from Markdown to HTML files with mdbook. Rules for how to write correct Markdown files can be found in the reference manual.

Building locally

The documentation is written to use some project specific preprocessors.

In order to run them, you’ll need some dependencies. Most are mentioned in two steps of the Getting Started guide:

There are also a couple of documentation-specific dependencies that you’ll need. Specifically, you need

  • Cargo, the Rust package manager
  • mdbook, which can be installed using Cargo
  • hugo

Once the dependencies have been installed, the documentation can be built with util/site/build-docs.sh. This also handles auto-genenerated content, such as the API documentation, which is generated by Doxygen.

Running the server

In order to run a local instance of the documentation server run the following command from the root of the project repository.

./util/site/build-docs.sh serve

This will execute the preprocessing, build the documentation and finally start a local server. The output will indicate at which address the local instance can be accessed. The default is http://0.0.0.0:9000.