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
__pycache__/
*__pycache__/
*.py[cod]
*$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 |
## 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>
| 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
- ip_interface: src/ip_interface.md
- utils: src/utils.md
- UML: uml.md
- Reference:
# - FAQ: faq.md
# - Troubleshooting: troubleshooting.md
@@ -53,7 +54,12 @@ extra:
version:
provider: mike
# markdown_extensions:
markdown_extensions:
- pymdownx.superfences:
custom_fences:
- name: mermaid
class: mermaid
format: !!python/name:pymdownx.superfences.fence_code_format
# - mkdocs-typer
plugins:
@@ -64,5 +70,6 @@ plugins:
# - material/typeset
- search
- mkdocstrings
- include-markdown
- git-revision-date-localized:
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]
mkdocs = "^1.5.3"
mkdocstrings = {extras = ["python"], version = "^0.23.0"}
mkdocs-include-markdown-plugin = "^6.0.4"
mkdocs-material = "^9.4.8"
pylint = "^3.0.3"
[tool.poetry.scripts]
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 = (
@@ -22,11 +23,12 @@ def update_license():
target.write(source.read())
def create_docs():
subprocess.run("mkdocs build", shell=True, check=True)
def generate_uml():
pyreverse(["-o", "mmd", "-d", "docs/assets", "node_deployer"])
def main():
create_readme()
update_license()
create_docs()
generate_uml()
mkdocs_build()