MkClassDiagram
Node to display the class hierarchy of a class. Supports multiple modes.¶
Example: Baseclass diagram¶
graph TD
94420313288240["mkclassdiagram.MkClassDiagram"]
94420312270208["mkdiagram.MkDiagram"]
94420313872240["mkcode.MkCode"]
94420312299136["mkcontainer.MkContainer"]
94420313076768["mknode.MkNode"]
94420313236736["node.Node"]
140608527347936["builtins.object"]
94420312270208 --> 94420313288240
94420313872240 --> 94420312270208
94420312299136 --> 94420313872240
94420313076768 --> 94420312299136
94420313236736 --> 94420313076768
140608527347936 --> 94420313236736
```` mermaid
graph TD
94420313288240["mkclassdiagram.MkClassDiagram"]
94420312270208["mkdiagram.MkDiagram"]
94420313872240["mkcode.MkCode"]
94420312299136["mkcontainer.MkContainer"]
94420313076768["mknode.MkNode"]
94420313236736["node.Node"]
140608527347936["builtins.object"]
94420312270208 --> 94420313288240
94420313872240 --> 94420312270208
94420312299136 --> 94420313872240
94420313076768 --> 94420312299136
94420313236736 --> 94420313076768
140608527347936 --> 94420313236736
````
<pre class="mermaid"><code>graph TD
94420313288240["mkclassdiagram.MkClassDiagram"]
94420312270208["mkdiagram.MkDiagram"]
94420313872240["mkcode.MkCode"]
94420312299136["mkcontainer.MkContainer"]
94420313076768["mknode.MkNode"]
94420313236736["node.Node"]
140608527347936["builtins.object"]
94420312270208 --> 94420313288240
94420313872240 --> 94420312270208
94420312299136 --> 94420313872240
94420313076768 --> 94420312299136
94420313236736 --> 94420313076768
140608527347936 --> 94420313236736</code></pre>
Example: Subclass diagram¶
graph LR
94420312299136["mkcontainer.MkContainer"]
94420312300128["mkblock.MkBlock"]
94420312301904["mkhtmlblock.MkHtmlBlock"]
94420313959104["mkdetailsblock.MkDetailsBlock"]
94420314287280["mktabs.MkTabBlock"]
94420313960096["mkadmonition.MkAdmonition"]
94420313240704["mkblockquote.MkBlockQuote"]
94420313872240["mkcode.MkCode"]
94420312270208["mkdiagram.MkDiagram"]
94420313288240["mkclassdiagram.MkClassDiagram"]
94420313596336["mkpipdeptree.MkPipDepTree"]
94420312376592["mktreeview.MkTreeView"]
94420311501888["mktemplate.MkTemplate"]
94420313873232["mkclidoc.MkCliDoc"]
94420313018592["mkmaterialbadge.MkMaterialBadge"]
94420312357744["mkimagecompare.MkImageCompare"]
94420312353632["mkimageslideshow.MkImageSlideshow"]
94420312790112["mkiframe.MkIFrame"]
94420313754832["mkcard.MkCard"]
94420314275840["mkinstallguide.MkInstallGuide"]
94420313619872["mkcodeofconduct.MkCodeOfConduct"]
94420313616544["mkcommitconventions.MkCommitConventions"]
94420313618320["mkpullrequestguidelines.MkPullRequestGuidelines"]
94420313464336["mkdevenvsetup.MkDevEnvSetup"]
94420313468448["mkdevtools.MkDevTools"]
94420313291584["mkreprrawrendered.MkReprRawRendered"]
94420313034752["mkcommandoutput.MkCommandOutput"]
94420313535424["mkcommentedcode.MkCommentedCode"]
94420314262928["mkconfigsetting.MkConfigSetting"]
94420313593568["mkpluginflow.MkPluginFlow"]
94420313036288["mklist.MkList"]
94420314009072["mkbasetable.MkBaseTable"]
94420314289568["mktable.MkTable"]
94420314290560["mkhtmltable.MkHtmlTable"]
94420314215600["mktabs.MkTab"]
94420313355728["mktabcontainer.MkTabContainer"]
94420313357504["mktabbedblocks.MkTabbedBlocks"]
94420313359280["mktabbed.MkTabbed"]
94420314224208["mkcritic.MkCritic"]
94420313760528["mkannotations.MkAnnotation"]
94420313761520["mkannotations.MkAnnotations"]
94420314521456["mkfootnotes.MkFootNote"]
94420312786016["mkfootnotes.MkFootNotes"]
94420313758752["mkdefinitionlist.MkDefinition"]
94420313585168["mkdefinitionlist.MkDefinitionList"]
94420313844080["mkpage.MkPage"]
94420312745440["mktemplatepage.MkTemplatePage"]
94420312391328["mkclasspage.MkClassPage"]
94420314221616["mkmodulepage.MkModulePage"]
94420313846640["mkshowcase.MkShowcase"]
94420304102560["mkspeechbubble.MkSpeechBubble"]
94420304104336["mktasklist.MkTask"]
94420304106112["mktasklist.MkTaskList"]
94420304107888["mktimeline.MkTimeline"]
94420312740384["mkshields.MkShields"]
94420314261936["mkmetadatabadges.MkMetadataBadges"]
94420312299136 --> 94420312300128
94420312300128 --> 94420312301904
94420312300128 --> 94420313959104
94420312300128 --> 94420314287280
94420312299136 --> 94420313960096
94420312299136 --> 94420313240704
94420312299136 --> 94420313872240
94420313872240 --> 94420312270208
94420312270208 --> 94420313288240
94420312270208 --> 94420313596336
94420313872240 --> 94420312376592
94420312299136 --> 94420311501888
94420311501888 --> 94420313873232
94420311501888 --> 94420313018592
94420311501888 --> 94420312357744
94420311501888 --> 94420312353632
94420311501888 --> 94420312790112
94420311501888 --> 94420313754832
94420311501888 --> 94420314275840
94420311501888 --> 94420313619872
94420311501888 --> 94420313616544
94420311501888 --> 94420313618320
94420311501888 --> 94420313464336
94420311501888 --> 94420313468448
94420311501888 --> 94420313291584
94420311501888 --> 94420313034752
94420311501888 --> 94420313535424
94420311501888 --> 94420314262928
94420311501888 --> 94420313593568
94420312299136 --> 94420313036288
94420312299136 --> 94420314009072
94420314009072 --> 94420314289568
94420314009072 --> 94420314290560
94420312299136 --> 94420314215600
94420312299136 --> 94420313355728
94420313355728 --> 94420313357504
94420313355728 --> 94420313359280
94420312299136 --> 94420314224208
94420312299136 --> 94420313760528
94420312299136 --> 94420313761520
94420312299136 --> 94420314521456
94420312299136 --> 94420312786016
94420312299136 --> 94420313758752
94420312299136 --> 94420313585168
94420312299136 --> 94420313844080
94420313844080 --> 94420312745440
94420312745440 --> 94420312391328
94420312745440 --> 94420314221616
94420312299136 --> 94420313846640
94420312299136 --> 94420304102560
94420312299136 --> 94420304104336
94420312299136 --> 94420304106112
94420312299136 --> 94420304107888
94420312299136 --> 94420312740384
94420312299136 --> 94420314261936
```` mermaid
graph LR
94420312299136["mkcontainer.MkContainer"]
94420312300128["mkblock.MkBlock"]
94420312301904["mkhtmlblock.MkHtmlBlock"]
94420313959104["mkdetailsblock.MkDetailsBlock"]
94420314287280["mktabs.MkTabBlock"]
94420313960096["mkadmonition.MkAdmonition"]
94420313240704["mkblockquote.MkBlockQuote"]
94420313872240["mkcode.MkCode"]
94420312270208["mkdiagram.MkDiagram"]
94420313288240["mkclassdiagram.MkClassDiagram"]
94420313596336["mkpipdeptree.MkPipDepTree"]
94420312376592["mktreeview.MkTreeView"]
94420311501888["mktemplate.MkTemplate"]
94420313873232["mkclidoc.MkCliDoc"]
94420313018592["mkmaterialbadge.MkMaterialBadge"]
94420312357744["mkimagecompare.MkImageCompare"]
94420312353632["mkimageslideshow.MkImageSlideshow"]
94420312790112["mkiframe.MkIFrame"]
94420313754832["mkcard.MkCard"]
94420314275840["mkinstallguide.MkInstallGuide"]
94420313619872["mkcodeofconduct.MkCodeOfConduct"]
94420313616544["mkcommitconventions.MkCommitConventions"]
94420313618320["mkpullrequestguidelines.MkPullRequestGuidelines"]
94420313464336["mkdevenvsetup.MkDevEnvSetup"]
94420313468448["mkdevtools.MkDevTools"]
94420313291584["mkreprrawrendered.MkReprRawRendered"]
94420313034752["mkcommandoutput.MkCommandOutput"]
94420313535424["mkcommentedcode.MkCommentedCode"]
94420314262928["mkconfigsetting.MkConfigSetting"]
94420313593568["mkpluginflow.MkPluginFlow"]
94420313036288["mklist.MkList"]
94420314009072["mkbasetable.MkBaseTable"]
94420314289568["mktable.MkTable"]
94420314290560["mkhtmltable.MkHtmlTable"]
94420314215600["mktabs.MkTab"]
94420313355728["mktabcontainer.MkTabContainer"]
94420313357504["mktabbedblocks.MkTabbedBlocks"]
94420313359280["mktabbed.MkTabbed"]
94420314224208["mkcritic.MkCritic"]
94420313760528["mkannotations.MkAnnotation"]
94420313761520["mkannotations.MkAnnotations"]
94420314521456["mkfootnotes.MkFootNote"]
94420312786016["mkfootnotes.MkFootNotes"]
94420313758752["mkdefinitionlist.MkDefinition"]
94420313585168["mkdefinitionlist.MkDefinitionList"]
94420313844080["mkpage.MkPage"]
94420312745440["mktemplatepage.MkTemplatePage"]
94420312391328["mkclasspage.MkClassPage"]
94420314221616["mkmodulepage.MkModulePage"]
94420313846640["mkshowcase.MkShowcase"]
94420304102560["mkspeechbubble.MkSpeechBubble"]
94420304104336["mktasklist.MkTask"]
94420304106112["mktasklist.MkTaskList"]
94420304107888["mktimeline.MkTimeline"]
94420312740384["mkshields.MkShields"]
94420314261936["mkmetadatabadges.MkMetadataBadges"]
94420312299136 --> 94420312300128
94420312300128 --> 94420312301904
94420312300128 --> 94420313959104
94420312300128 --> 94420314287280
94420312299136 --> 94420313960096
94420312299136 --> 94420313240704
94420312299136 --> 94420313872240
94420313872240 --> 94420312270208
94420312270208 --> 94420313288240
94420312270208 --> 94420313596336
94420313872240 --> 94420312376592
94420312299136 --> 94420311501888
94420311501888 --> 94420313873232
94420311501888 --> 94420313018592
94420311501888 --> 94420312357744
94420311501888 --> 94420312353632
94420311501888 --> 94420312790112
94420311501888 --> 94420313754832
94420311501888 --> 94420314275840
94420311501888 --> 94420313619872
94420311501888 --> 94420313616544
94420311501888 --> 94420313618320
94420311501888 --> 94420313464336
94420311501888 --> 94420313468448
94420311501888 --> 94420313291584
94420311501888 --> 94420313034752
94420311501888 --> 94420313535424
94420311501888 --> 94420314262928
94420311501888 --> 94420313593568
94420312299136 --> 94420313036288
94420312299136 --> 94420314009072
94420314009072 --> 94420314289568
94420314009072 --> 94420314290560
94420312299136 --> 94420314215600
94420312299136 --> 94420313355728
94420313355728 --> 94420313357504
94420313355728 --> 94420313359280
94420312299136 --> 94420314224208
94420312299136 --> 94420313760528
94420312299136 --> 94420313761520
94420312299136 --> 94420314521456
94420312299136 --> 94420312786016
94420312299136 --> 94420313758752
94420312299136 --> 94420313585168
94420312299136 --> 94420313844080
94420313844080 --> 94420312745440
94420312745440 --> 94420312391328
94420312745440 --> 94420314221616
94420312299136 --> 94420313846640
94420312299136 --> 94420304102560
94420312299136 --> 94420304104336
94420312299136 --> 94420304106112
94420312299136 --> 94420304107888
94420312299136 --> 94420312740384
94420312299136 --> 94420314261936
````
<pre class="mermaid"><code>graph LR
94420312299136["mkcontainer.MkContainer"]
94420312300128["mkblock.MkBlock"]
94420312301904["mkhtmlblock.MkHtmlBlock"]
94420313959104["mkdetailsblock.MkDetailsBlock"]
94420314287280["mktabs.MkTabBlock"]
94420313960096["mkadmonition.MkAdmonition"]
94420313240704["mkblockquote.MkBlockQuote"]
94420313872240["mkcode.MkCode"]
94420312270208["mkdiagram.MkDiagram"]
94420313288240["mkclassdiagram.MkClassDiagram"]
94420313596336["mkpipdeptree.MkPipDepTree"]
94420312376592["mktreeview.MkTreeView"]
94420311501888["mktemplate.MkTemplate"]
94420313873232["mkclidoc.MkCliDoc"]
94420313018592["mkmaterialbadge.MkMaterialBadge"]
94420312357744["mkimagecompare.MkImageCompare"]
94420312353632["mkimageslideshow.MkImageSlideshow"]
94420312790112["mkiframe.MkIFrame"]
94420313754832["mkcard.MkCard"]
94420314275840["mkinstallguide.MkInstallGuide"]
94420313619872["mkcodeofconduct.MkCodeOfConduct"]
94420313616544["mkcommitconventions.MkCommitConventions"]
94420313618320["mkpullrequestguidelines.MkPullRequestGuidelines"]
94420313464336["mkdevenvsetup.MkDevEnvSetup"]
94420313468448["mkdevtools.MkDevTools"]
94420313291584["mkreprrawrendered.MkReprRawRendered"]
94420313034752["mkcommandoutput.MkCommandOutput"]
94420313535424["mkcommentedcode.MkCommentedCode"]
94420314262928["mkconfigsetting.MkConfigSetting"]
94420313593568["mkpluginflow.MkPluginFlow"]
94420313036288["mklist.MkList"]
94420314009072["mkbasetable.MkBaseTable"]
94420314289568["mktable.MkTable"]
94420314290560["mkhtmltable.MkHtmlTable"]
94420314215600["mktabs.MkTab"]
94420313355728["mktabcontainer.MkTabContainer"]
94420313357504["mktabbedblocks.MkTabbedBlocks"]
94420313359280["mktabbed.MkTabbed"]
94420314224208["mkcritic.MkCritic"]
94420313760528["mkannotations.MkAnnotation"]
94420313761520["mkannotations.MkAnnotations"]
94420314521456["mkfootnotes.MkFootNote"]
94420312786016["mkfootnotes.MkFootNotes"]
94420313758752["mkdefinitionlist.MkDefinition"]
94420313585168["mkdefinitionlist.MkDefinitionList"]
94420313844080["mkpage.MkPage"]
94420312745440["mktemplatepage.MkTemplatePage"]
94420312391328["mkclasspage.MkClassPage"]
94420314221616["mkmodulepage.MkModulePage"]
94420313846640["mkshowcase.MkShowcase"]
94420304102560["mkspeechbubble.MkSpeechBubble"]
94420304104336["mktasklist.MkTask"]
94420304106112["mktasklist.MkTaskList"]
94420304107888["mktimeline.MkTimeline"]
94420312740384["mkshields.MkShields"]
94420314261936["mkmetadatabadges.MkMetadataBadges"]
94420312299136 --> 94420312300128
94420312300128 --> 94420312301904
94420312300128 --> 94420313959104
94420312300128 --> 94420314287280
94420312299136 --> 94420313960096
94420312299136 --> 94420313240704
94420312299136 --> 94420313872240
94420313872240 --> 94420312270208
94420312270208 --> 94420313288240
94420312270208 --> 94420313596336
94420313872240 --> 94420312376592
94420312299136 --> 94420311501888
94420311501888 --> 94420313873232
94420311501888 --> 94420313018592
94420311501888 --> 94420312357744
94420311501888 --> 94420312353632
94420311501888 --> 94420312790112
94420311501888 --> 94420313754832
94420311501888 --> 94420314275840
94420311501888 --> 94420313619872
94420311501888 --> 94420313616544
94420311501888 --> 94420313618320
94420311501888 --> 94420313464336
94420311501888 --> 94420313468448
94420311501888 --> 94420313291584
94420311501888 --> 94420313034752
94420311501888 --> 94420313535424
94420311501888 --> 94420314262928
94420311501888 --> 94420313593568
94420312299136 --> 94420313036288
94420312299136 --> 94420314009072
94420314009072 --> 94420314289568
94420314009072 --> 94420314290560
94420312299136 --> 94420314215600
94420312299136 --> 94420313355728
94420313355728 --> 94420313357504
94420313355728 --> 94420313359280
94420312299136 --> 94420314224208
94420312299136 --> 94420313760528
94420312299136 --> 94420313761520
94420312299136 --> 94420314521456
94420312299136 --> 94420312786016
94420312299136 --> 94420313758752
94420312299136 --> 94420313585168
94420312299136 --> 94420313844080
94420313844080 --> 94420312745440
94420312745440 --> 94420312391328
94420312745440 --> 94420314221616
94420312299136 --> 94420313846640
94420312299136 --> 94420304102560
94420312299136 --> 94420304104336
94420312299136 --> 94420304106112
94420312299136 --> 94420304107888
94420312299136 --> 94420312740384
94420312299136 --> 94420314261936</code></pre>
Example: MRO diagram¶
graph TD
94420314289568["mktable.MkTable"]
94420314009072["mkbasetable.MkBaseTable"]
94420312299136["mkcontainer.MkContainer"]
94420313076768["mknode.MkNode"]
94420313236736["node.Node"]
140608527347936["builtins.object"]
94420314289568 --> 94420314009072
94420314009072 --> 94420312299136
94420312299136 --> 94420313076768
94420313076768 --> 94420313236736
94420313236736 --> 140608527347936
```` mermaid
graph TD
94420314289568["mktable.MkTable"]
94420314009072["mkbasetable.MkBaseTable"]
94420312299136["mkcontainer.MkContainer"]
94420313076768["mknode.MkNode"]
94420313236736["node.Node"]
140608527347936["builtins.object"]
94420314289568 --> 94420314009072
94420314009072 --> 94420312299136
94420312299136 --> 94420313076768
94420313076768 --> 94420313236736
94420313236736 --> 140608527347936
````
<pre class="mermaid"><code>graph TD
94420314289568["mktable.MkTable"]
94420314009072["mkbasetable.MkBaseTable"]
94420312299136["mkcontainer.MkContainer"]
94420313076768["mknode.MkNode"]
94420313236736["node.Node"]
140608527347936["builtins.object"]
94420314289568 --> 94420314009072
94420314009072 --> 94420312299136
94420312299136 --> 94420313076768
94420313076768 --> 94420313236736
94420313236736 --> 140608527347936</code></pre>
Bases: MkDiagram
__init__
¶
__init__(
klass: type | str | Class,
mode: DiagramModeStr = "baseclasses",
direction: Literal["TD", "DT", "LR", "RL"] = "TD",
max_depth: int | None = None,
**kwargs: Any
)
Parameters:
Name | Type | Description | Default |
---|---|---|---|
klass
|
type | str | Class
|
Klass to show a diagram for |
required |
mode
|
DiagramModeStr
|
What kind of diagram to display |
'baseclasses'
|
direction
|
Literal['TD', 'DT', 'LR', 'RL']
|
diagram direction |
'TD'
|
max_depth
|
int | None
|
Maxium depth to display |
None
|
kwargs
|
Any
|
Keyword arguments passed to parent |
{}
|
Name | Children | Inherits |
---|---|---|
MkDiagram mknodes.basenodes.mkdiagram Class representing a mermaid diagram. |
graph TD
94420313288240["mkclassdiagram.MkClassDiagram"]
94420312270208["mkdiagram.MkDiagram"]
94420313872240["mkcode.MkCode"]
94420312299136["mkcontainer.MkContainer"]
94420313076768["mknode.MkNode"]
94420313236736["node.Node"]
140608527347936["builtins.object"]
94420312270208 --> 94420313288240
94420313872240 --> 94420312270208
94420312299136 --> 94420313872240
94420313076768 --> 94420312299136
94420313236736 --> 94420313076768
140608527347936 --> 94420313236736
/home/runner/work/mknodes/mknodes/mknodes/templatenodes/mkclassdiagram/metadata.toml
[metadata]
icon = "mdi:graph-outline"
name = "MkClassDiagram"
group = "diagram"
[[requirements.extension."pymdownx.superfences".custom_fences]]
name = "mermaid"
class = "mermaid"
format = "pymdownx.superfences.fence_code_format"
[examples.baseclass_diagram]
title = "Baseclass diagram"
jinja = """
{{ _mk.MkClassDiagram | MkClassDiagram(mode="baseclasses") }}
"""
[examples.subclass_diagram]
title = "Subclass diagram"
jinja = """
{{ _mk.MkContainer | MkClassDiagram(mode="subclasses", direction="LR") }}
"""
[examples.mro_diagram]
title = "MRO diagram"
jinja = """
{{ _mk.MkTable | MkClassDiagram(mode="mro") }}
"""
[output.markdown]
template = """
{{ node.fence_boundary }} mermaid
graph {{ node.direction }}
{% for identifier, title in node.builder.items | zip(node.builder.titles) %}
{{ identifier }}["{{ title }}"]
{% endfor %}
{% for a, b in node.builder.connections %}
{{ a }} --> {{ b }}
{% endfor %}
{{ node.fence_boundary }}
"""