Added UML generation to mkdocs generation

This commit is contained in:
Cian Hughes
2023-12-18 17:11:14 +00:00
parent fbbde8012d
commit c77c9374ec
8 changed files with 90 additions and 7 deletions

2
.gitignore vendored
View File

@@ -1,5 +1,5 @@
# Byte-compiled / optimized / DLL files # Byte-compiled / optimized / DLL files
__pycache__/ *__pycache__/
*.py[cod] *.py[cod]
*$py.class *$py.class

14
docs/assets/classes.mmd Normal file
View File

@@ -0,0 +1,14 @@
classDiagram
class Config {
apply_config(config: dict) None
finalise_config(config: dict) None
get_config(config_label: ConfigLabel) dict
update_config(config_label: ConfigLabel) None
}
class IPAddress {
obj : IPv4Address | IPv6Address
}
class Singleton {
}
class SingletonProgress {
}

49
docs/assets/packages.mmd Normal file
View File

@@ -0,0 +1,49 @@
classDiagram
class node_deployer {
}
class __main__ {
}
class autoignition {
}
class cli {
}
class config {
}
class create_disk {
}
class create_img {
}
class debug {
}
class ip_interface {
}
class node_deployer {
}
class utils {
}
__main__ --> config
__main__ --> node_deployer
autoignition --> cli
autoignition --> config
autoignition --> debug
autoignition --> utils
cli --> config
cli --> utils
create_disk --> cli
create_disk --> config
create_disk --> create_img
create_disk --> debug
create_disk --> ip_interface
create_disk --> utils
create_img --> autoignition
create_img --> cli
create_img --> config
create_img --> debug
create_img --> ip_interface
create_img --> utils
debug --> config
node_deployer --> autoignition
node_deployer --> config
node_deployer --> create_disk
node_deployer --> create_img
utils --> config

View File

@@ -27,7 +27,7 @@ This configuration keeps all computations local to the machine on which the tool
| FUELIGNITION_URL | "http://localhost:3000/fuel-ignition/edit" | str | | FUELIGNITION_URL | "http://localhost:3000/fuel-ignition/edit" | str |
## remote ## remote
<p>This configuration allows the use of hosted websites for hte fuel-ignition configurator.</p> <p>This configuration allows the use of hosted websites for the fuel-ignition configurator.</p>
<p>Currently, this configuration is broken/deprecated. It is being kept as it may be be reimplemented in the future as part of a dockerless configuration.</p> <p>Currently, this configuration is broken/deprecated. It is being kept as it may be be reimplemented in the future as part of a dockerless configuration.</p>
| Variable | Value | Type | | Variable | Value | Type |

9
docs/uml.md Normal file
View File

@@ -0,0 +1,9 @@
# Packages
```mermaid
{% include "assets/packages.mmd" %}
```
# Classes
```mermaid
{% include "assets/classes.mmd" %}
```

View File

@@ -43,6 +43,7 @@ nav:
- debug: src/debug.md - debug: src/debug.md
- ip_interface: src/ip_interface.md - ip_interface: src/ip_interface.md
- utils: src/utils.md - utils: src/utils.md
- UML: uml.md
- Reference: - Reference:
# - FAQ: faq.md # - FAQ: faq.md
# - Troubleshooting: troubleshooting.md # - Troubleshooting: troubleshooting.md
@@ -53,7 +54,12 @@ extra:
version: version:
provider: mike provider: mike
# markdown_extensions: markdown_extensions:
- pymdownx.superfences:
custom_fences:
- name: mermaid
class: mermaid
format: !!python/name:pymdownx.superfences.fence_code_format
# - mkdocs-typer # - mkdocs-typer
plugins: plugins:
@@ -64,5 +70,6 @@ plugins:
# - material/typeset # - material/typeset
- search - search
- mkdocstrings - mkdocstrings
- include-markdown
- git-revision-date-localized: - git-revision-date-localized:
enable_creation_date: true enable_creation_date: true

View File

@@ -33,7 +33,9 @@ docker-stubs = {git = "https://github.com/rdozier-work/docker-stubs"}
[tool.poetry.group.docs.dependencies] [tool.poetry.group.docs.dependencies]
mkdocs = "^1.5.3" mkdocs = "^1.5.3"
mkdocstrings = {extras = ["python"], version = "^0.23.0"} mkdocstrings = {extras = ["python"], version = "^0.23.0"}
mkdocs-include-markdown-plugin = "^6.0.4"
mkdocs-material = "^9.4.8" mkdocs-material = "^9.4.8"
pylint = "^3.0.3"
[tool.poetry.scripts] [tool.poetry.scripts]
node_deployer = "node_deployer.__main__:main" node_deployer = "node_deployer.__main__:main"

View File

@@ -1,4 +1,5 @@
import subprocess from mkdocs.__main__ import build_command as mkdocs_build
from pylint.pyreverse.main import Run as pyreverse
README_FILES = ( README_FILES = (
@@ -22,11 +23,12 @@ def update_license():
target.write(source.read()) target.write(source.read())
def create_docs(): def generate_uml():
subprocess.run("mkdocs build", shell=True, check=True) pyreverse(["-o", "mmd", "-d", "docs/assets", "node_deployer"])
def main(): def main():
create_readme() create_readme()
update_license() update_license()
create_docs() generate_uml()
mkdocs_build()