add mkdocstrings requirement for building docs

mkdocstrings also needs access to the Python sources, so set
a PYTHONPATH accordingly. This makes running mkdocs directly
a bit awkward, therefore add a `make serve-doc` target.
This commit is contained in:
Sarah Hoffmann 2021-08-16 11:48:25 +02:00
parent 2e82a6ce03
commit 3656eed9ad
2 changed files with 9 additions and 5 deletions

View File

@ -26,7 +26,10 @@ ADD_CUSTOM_TARGET(doc
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/bash2md.sh ${PROJECT_SOURCE_DIR}/vagrant/Install-on-Centos-8.sh ${CMAKE_CURRENT_BINARY_DIR}/appendix/Install-on-Centos-8.md COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/bash2md.sh ${PROJECT_SOURCE_DIR}/vagrant/Install-on-Centos-8.sh ${CMAKE_CURRENT_BINARY_DIR}/appendix/Install-on-Centos-8.md
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/bash2md.sh ${PROJECT_SOURCE_DIR}/vagrant/Install-on-Ubuntu-18.sh ${CMAKE_CURRENT_BINARY_DIR}/appendix/Install-on-Ubuntu-18.md COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/bash2md.sh ${PROJECT_SOURCE_DIR}/vagrant/Install-on-Ubuntu-18.sh ${CMAKE_CURRENT_BINARY_DIR}/appendix/Install-on-Ubuntu-18.md
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/bash2md.sh ${PROJECT_SOURCE_DIR}/vagrant/Install-on-Ubuntu-20.sh ${CMAKE_CURRENT_BINARY_DIR}/appendix/Install-on-Ubuntu-20.md COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/bash2md.sh ${PROJECT_SOURCE_DIR}/vagrant/Install-on-Ubuntu-20.sh ${CMAKE_CURRENT_BINARY_DIR}/appendix/Install-on-Ubuntu-20.md
COMMAND mkdocs build -d ${CMAKE_CURRENT_BINARY_DIR}/../site-html -f ${CMAKE_CURRENT_BINARY_DIR}/../mkdocs.yml COMMAND PYTHONPATH=${PROJECT_SOURCE_DIR} mkdocs build -d ${CMAKE_CURRENT_BINARY_DIR}/../site-html -f ${CMAKE_CURRENT_BINARY_DIR}/../mkdocs.yml
) )
ADD_CUSTOM_TARGET(serve-doc
COMMAND PYTHONPATH=${PROJECT_SOURCE_DIR} mkdocs serve
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
)

View File

@ -38,6 +38,7 @@ It has the following additional requirements:
The documentation is built with mkdocs: The documentation is built with mkdocs:
* [mkdocs](https://www.mkdocs.org/) >= 1.1.2 * [mkdocs](https://www.mkdocs.org/) >= 1.1.2
* [mkdocstrings](https://mkdocstrings.github.io/)
### Installing prerequisites on Ubuntu/Debian ### Installing prerequisites on Ubuntu/Debian
@ -51,7 +52,7 @@ To install all necessary packages run:
sudo apt install php-cgi phpunit php-codesniffer \ sudo apt install php-cgi phpunit php-codesniffer \
python3-pip python3-setuptools python3-dev pylint python3-pip python3-setuptools python3-dev pylint
pip3 install --user behave mkdocs pytest pip3 install --user behave mkdocs mkdocstrings pytest
``` ```
The `mkdocs` executable will be located in `.local/bin`. You may have to add The `mkdocs` executable will be located in `.local/bin`. You may have to add
@ -113,7 +114,7 @@ symlinks (see `CMakeLists.txt` for the exact steps).
Now you can start webserver for local testing Now you can start webserver for local testing
``` ```
build> mkdocs serve build> mame serve-doc
[server:296] Serving on http://127.0.0.1:8000 [server:296] Serving on http://127.0.0.1:8000
[handlers:62] Start watching changes [handlers:62] Start watching changes
``` ```
@ -122,7 +123,7 @@ If you develop inside a Vagrant virtual machine, use a port that is forwarded
to your host: to your host:
``` ```
build> mkdocs serve --dev-addr 0.0.0.0:8088 build> PYTHONPATH=$SRCDIR mkdocs serve --dev-addr 0.0.0.0:8088
[server:296] Serving on http://0.0.0.0:8088 [server:296] Serving on http://0.0.0.0:8088
[handlers:62] Start watching changes [handlers:62] Start watching changes
``` ```