Implemented more auto docs

This commit is contained in:
2025-03-20 14:13:03 +01:00
parent d5f10276ee
commit 4c29fc9f02
14 changed files with 135 additions and 21 deletions

View File

@@ -5,10 +5,10 @@
SPHINXOPTS ?= -c .
SPHINXBUILD ?= sphinx-build
SPHINX_SOURCE_DIR ?= ../
SPHINX_BUILD_DIR ?= ./generated
SPHINX_APIDOC_BUILD_DIR = $(SPHINX_SOURCE_DIR)modules
SPHINX_BUILD_DIR ?= ./build
SPHINX_GENERATED_DIR = ./generated
.PHONY: help install copy-images apidoc remove-apidoc html Makefile
.PHONY: help install copy-images apidoc remove-generated html Makefile
# Copy images before running any Sphinx command (except for help)
copy-images:
@@ -16,23 +16,31 @@ copy-images:
cp -vr ../assets/img/* ./assets/img/
# Generate reStructuredText files from Python modules using sphinx-apidoc
apidoc:
generate-apidoc:
@echo "Running sphinx-apidoc..."
sphinx-apidoc -f -o $(SPHINX_APIDOC_BUILD_DIR) $(SPHINX_SOURCE_DIR)
sphinx-apidoc -f -o $(SPHINX_GENERATED_DIR)/modules $(SPHINX_SOURCE_DIR)
remove-apidoc:
@echo "Removing sphinx-apidoc files..."
- rm -rv $(SPHINX_APIDOC_BUILD_DIR)
remove-generated:
@echo "Removing generated files..."
- find $(SPHINX_GENERATED_DIR)/ -type f ! -name '.gitkeep' -delete
generate-yaml-index:
@echo "Generating YAML index..."
python generators/yaml_index.py --source-dir $(SPHINX_SOURCE_DIR) --output-file $(SPHINX_GENERATED_DIR)/yaml_index.rst
generate-ansible-roles:
@echo "Generating Ansible roles documentation..."
python generators/ansible_roles.py --roles-dir $(SPHINX_SOURCE_DIR)/roles --output-dir $(SPHINX_GENERATED_DIR)/roles
# "help" target does not copy images
help:
@$(SPHINXBUILD) -M help "$(SPHINX_SOURCE_DIR)" "$(SPHINX_BUILD_DIR)" $(SPHINXOPTS) $(O)
# HTML target depends on apidoc so that sphinx-apidoc runs first
html: copy-images
@$(SPHINXBUILD) -M html "$(SPHINX_SOURCE_DIR)" "$(SPHINX_BUILD_DIR)" $(SPHINXOPTS) $(O)
html: copy-images generate-apidoc generate-yaml-index generate-ansible-roles
@$(SPHINXBUILD) -M html "$(SPHINX_SOURCE_DIR)" "$(SPHINX_BUILD_DIR)" $(SPHINXOPTS)
clean: remove-apidoc
clean: remove-generated
@$(SPHINXBUILD) -M html "$(SPHINX_SOURCE_DIR)" "$(SPHINX_BUILD_DIR)" $(SPHINXOPTS) $(O)
# Catch-all target: route all unknown targets to Sphinx using the new