diff --git a/docs/conf.py b/docs/conf.py index 1e91fbdde..69a014df1 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -51,6 +51,7 @@ "sphinx.ext.napoleon", "sphinx.ext.viewcode", "sphinx_autodoc_typehints", # must be loaded after napoleon + "sphinx-mermaid", "sphinx-pydantic", "sphinx_design", "sphinxcontrib.details.directive", diff --git a/docs/explanation/parts.rst b/docs/explanation/parts.rst index 66f0d8f07..b44de3cfa 100644 --- a/docs/explanation/parts.rst +++ b/docs/explanation/parts.rst @@ -31,6 +31,31 @@ describe a build process typically accept specifications of parts in YAML format mostly-declarative format. Libraries that use parts may use the underlying data structures to describe them. +.. mermaid :: + + graph LR + + subgraph Part + $CRAFT_PART_SRC + $CRAFT_PART_BUILD + $CRAFT_PART_INSTALL + end + + $CRAFT_PROJECT_DIR + --->|pull| $CRAFT_PART_SRC + --->|build| $CRAFT_PART_BUILD + --->|build| $CRAFT_PART_INSTALL + --->|stage| $CRAFT_STAGE + --->|prime| $CRAFT_PRIME + + $CRAFT_PROJECT_DIR + --->|overlay| $CRAFT_OVERLAY + --->|stage| $CRAFT_STAGE + + $CRAFT_PART_INSTALL + --->|organize| $CRAFT_PART_INSTALL + + Describing a part ----------------- diff --git a/docs/requirements.txt b/docs/requirements.txt index 3a536cd7e..be5292434 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -7,6 +7,7 @@ Sphinx==5.3.0 sphinx-autobuild==2021.3.14 sphinx-autodoc-typehints==1.20.0 sphinx-jsonschema==1.19.1 +sphinx-mermaid==0.0.8 sphinx-pydantic==0.1.1 sphinxcontrib-applehelp==1.0.2 sphinx_design==0.3.0