builder = Builder(soc)
vns = builder.build()
soc.do_exit(vns)
- generate_docs(soc, "build/documentation")
+ generate_docs(soc, "build/documentation",
+ project_name="My SoC",
+ author="LiteX User")
generate_svd(soc, "build/software")
```
Note that the default documentation format is `rst`. You can switch to markdown by passing `format="markdown"` to the constructor, however support is not very good.
+### Additional Sphinx Extensions
+
+The `generate_docs()` call produces Sphinx output. By default it only includes
+additional extensions for `sphinxcontrib.wavedrom`, which is required to display
+register listings. You can add additional modules by passing an array to
+`generate_docs()`. For example, to add `mathjax` support:
+
+```python
+ generate_docs("build/documentation", sphinx_extensions=['sphinx.ext.mathjax'])
+```
+
+By default, `socdoc` unconditionally overwrites all files in the output
+directory, including the sphinx `conf.py` file. To disable this feature
+so you can customize your own `conf.py` file, pass `from_scratch=False`:
+
+```python
+ generate_docs("build/documentation", from_scratch=False)
+```
+
+In this case, `conf.py` will only be created if it does not already exist.
+
### External Documentation
You can have external documentation by passing `file` to the constructor.