[doc] Add build_docs documentation

Basic description for Hugo based documentation flow.

Closes lowrisc/opentitan#990

Signed-off-by: Tobias Wölfel <tobias.woelfel@mailbox.org>
diff --git a/doc/ug/_index.md b/doc/ug/_index.md
index 4160268..229d06d 100644
--- a/doc/ug/_index.md
+++ b/doc/ug/_index.md
@@ -15,6 +15,7 @@
     * [Installing Xilinx Vivado]({{< relref "install_instructions#xilinx-vivado" >}})
   * [Getting started with a design]({{< relref "getting_started_design.md" >}})
   * [Getting started with verification]({{< relref "getting_started_dv.md" >}})
+* [Building documentation]({{< relref "documentation.md" >}})
 * [Work with hardware code in external repositories]({{< relref "vendor_hw.md" >}})
 * [Design Methodology]({{< relref "design.md" >}})
   * Language and Tool Selection
diff --git a/doc/ug/documentation.md b/doc/ug/documentation.md
new file mode 100644
index 0000000..27d1f53
--- /dev/null
+++ b/doc/ug/documentation.md
@@ -0,0 +1,34 @@
+---
+title: "Building documentation"
+---
+
+The documentation for OpenTitan is available [online](https://docs.opentitan.org).
+The creation of documentation is mainly based around the conversion from Markdown to HTML files with [Hugo](https://gohugo.io/).
+Rules for how to write correct Markdown files can be found in the [reference manual]({{< relref "doc/rm/markdown_usage_style.md" >}}).
+
+## Building locally
+
+Before Hugo is executed a few project specific processing steps are necessary.
+These steps require the installation of the dependencies outlined in the following section.
+All processing steps as well as the invocation to Hugo are combined in the script `util/build_docs.py`.
+
+### Prerequisites
+
+Install the required tools by running the following command from the repository root.
+
+```console
+$ sudo apt install curl python3 python3-pip
+$ pip3 install --user -r python-requirements.txt
+```
+
+### 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.
+
+```console
+$ ./util/build_docs.py --preview
+```
+
+This will execute the preprocessing, fetch the correct Hugo version, 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://127.0.0.1:1313](http://127.0.0.1:1313).
diff --git a/util/_index.md b/util/_index.md
index 51dc61f..6a8793b 100644
--- a/util/_index.md
+++ b/util/_index.md
@@ -10,6 +10,7 @@
 
 * Docker Container [README]({{< relref "util/container/README.md" >}})
 * FPGA splice utility [README]({{< relref "util/fpga/README.md" >}})
+* `build_docs.py` documentation build tool [user guide]({{< relref "doc/ug/documentation.md" >}})
 * `reggen.py` register generator tool [README]({{< relref "util/reggen/README.md" >}})
 * `spitest.py` script for interacting with SPI device code [README]({{< relref "util/simplespi/README.md" >}})
 * `testplanner.py` utility for generating verification testplans from Hjson descriptors [README]({{< relref "util/dvsim/testplanner/README.md" >}})