MkClassDiagram
Node to display the class hierarchy of a class. Supports multiple modes.¶
Example: Baseclass diagram¶
graph TD
94599706442032["mkclassdiagram.MkClassDiagram"]
94599705324384["mkdiagram.MkDiagram"]
94599702774160["mkcode.MkCode"]
94599705096240["mkcontainer.MkContainer"]
94599705097232["mknode.MkNode"]
94599703461184["node.Node"]
140153667328480["builtins.object"]
94599705324384 --> 94599706442032
94599702774160 --> 94599705324384
94599705096240 --> 94599702774160
94599705097232 --> 94599705096240
94599703461184 --> 94599705097232
140153667328480 --> 94599703461184
```` mermaid
graph TD
94599706442032["mkclassdiagram.MkClassDiagram"]
94599705324384["mkdiagram.MkDiagram"]
94599702774160["mkcode.MkCode"]
94599705096240["mkcontainer.MkContainer"]
94599705097232["mknode.MkNode"]
94599703461184["node.Node"]
140153667328480["builtins.object"]
94599705324384 --> 94599706442032
94599702774160 --> 94599705324384
94599705096240 --> 94599702774160
94599705097232 --> 94599705096240
94599703461184 --> 94599705097232
140153667328480 --> 94599703461184
````
<pre class="mermaid"><code>graph TD
94599706442032["mkclassdiagram.MkClassDiagram"]
94599705324384["mkdiagram.MkDiagram"]
94599702774160["mkcode.MkCode"]
94599705096240["mkcontainer.MkContainer"]
94599705097232["mknode.MkNode"]
94599703461184["node.Node"]
140153667328480["builtins.object"]
94599705324384 --> 94599706442032
94599702774160 --> 94599705324384
94599705096240 --> 94599702774160
94599705097232 --> 94599705096240
94599703461184 --> 94599705097232
140153667328480 --> 94599703461184</code></pre>
Example: Subclass diagram¶
graph LR
94599705096240["mkcontainer.MkContainer"]
94599703993040["mkblock.MkBlock"]
94599703862608["mkhtmlblock.MkHtmlBlock"]
94599692245360["mkdetailsblock.MkDetailsBlock"]
94599704810048["mktabs.MkTabBlock"]
94599705773696["mkadmonition.MkAdmonition"]
94599692251952["mkblockquote.MkBlockQuote"]
94599702774160["mkcode.MkCode"]
94599705324384["mkdiagram.MkDiagram"]
94599706442032["mkclassdiagram.MkClassDiagram"]
94599705987696["mkpipdeptree.MkPipDepTree"]
94599702786192["mktreeview.MkTreeView"]
94599704712992["mktemplate.MkTemplate"]
94599705211712["mkclidoc.MkCliDoc"]
94599702210048["mkmaterialbadge.MkMaterialBadge"]
94599703453408["mkimagecompare.MkImageCompare"]
94599703449360["mkimageslideshow.MkImageSlideshow"]
94599705146656["mkiframe.MkIFrame"]
94599705646816["mkcard.MkCard"]
94599704969584["mkinstallguide.MkInstallGuide"]
94599704803584["mkcodeofconduct.MkCodeOfConduct"]
94599704830176["mkcommitconventions.MkCommitConventions"]
94599702798624["mkpullrequestguidelines.MkPullRequestGuidelines"]
94599704801104["mkdevenvsetup.MkDevEnvSetup"]
94599705388480["mkdevtools.MkDevTools"]
94599706085488["mkreprrawrendered.MkReprRawRendered"]
94599703618784["mkcommandoutput.MkCommandOutput"]
94599706293200["mkcommentedcode.MkCommentedCode"]
94599705034096["mkconfigsetting.MkConfigSetting"]
94599706037936["mkpluginflow.MkPluginFlow"]
94599703447760["mklist.MkList"]
94599705319760["mkbasetable.MkBaseTable"]
94599705149056["mktable.MkTable"]
94599703893584["mkhtmltable.MkHtmlTable"]
94599703894576["mktabs.MkTab"]
94599705148064["mktabcontainer.MkTabContainer"]
94599705762768["mktabbedblocks.MkTabbedBlocks"]
94599703892112["mktabbed.MkTabbed"]
94599703826944["mkcritic.MkCritic"]
94599703887328["mkannotations.MkAnnotation"]
94599703823296["mkannotations.MkAnnotations"]
94599703409296["mkfootnotes.MkFootNote"]
94599705677104["mkfootnotes.MkFootNotes"]
94599705650432["mkdefinitionlist.MkDefinition"]
94599703408304["mkdefinitionlist.MkDefinitionList"]
94599705662192["mkpage.MkPage"]
94599705206144["mktemplatepage.MkTemplatePage"]
94599704973696["mkclasspage.MkClassPage"]
94599704962384["mkmodulepage.MkModulePage"]
94599705664752["mkshowcase.MkShowcase"]
94599703825904["mkspeechbubble.MkSpeechBubble"]
94599703423120["mktasklist.MkTask"]
94599704442256["mktasklist.MkTaskList"]
94599704930976["mktimeline.MkTimeline"]
94599702807968["mkshields.MkShields"]
94599706291088["mkmetadatabadges.MkMetadataBadges"]
94599705096240 --> 94599703993040
94599703993040 --> 94599703862608
94599703993040 --> 94599692245360
94599703993040 --> 94599704810048
94599705096240 --> 94599705773696
94599705096240 --> 94599692251952
94599705096240 --> 94599702774160
94599702774160 --> 94599705324384
94599705324384 --> 94599706442032
94599705324384 --> 94599705987696
94599702774160 --> 94599702786192
94599705096240 --> 94599704712992
94599704712992 --> 94599705211712
94599704712992 --> 94599702210048
94599704712992 --> 94599703453408
94599704712992 --> 94599703449360
94599704712992 --> 94599705146656
94599704712992 --> 94599705646816
94599704712992 --> 94599704969584
94599704712992 --> 94599704803584
94599704712992 --> 94599704830176
94599704712992 --> 94599702798624
94599704712992 --> 94599704801104
94599704712992 --> 94599705388480
94599704712992 --> 94599706085488
94599704712992 --> 94599703618784
94599704712992 --> 94599706293200
94599704712992 --> 94599705034096
94599704712992 --> 94599706037936
94599705096240 --> 94599703447760
94599705096240 --> 94599705319760
94599705319760 --> 94599705149056
94599705319760 --> 94599703893584
94599705096240 --> 94599703894576
94599705096240 --> 94599705148064
94599705148064 --> 94599705762768
94599705148064 --> 94599703892112
94599705096240 --> 94599703826944
94599705096240 --> 94599703887328
94599705096240 --> 94599703823296
94599705096240 --> 94599703409296
94599705096240 --> 94599705677104
94599705096240 --> 94599705650432
94599705096240 --> 94599703408304
94599705096240 --> 94599705662192
94599705662192 --> 94599705206144
94599705206144 --> 94599704973696
94599705206144 --> 94599704962384
94599705096240 --> 94599705664752
94599705096240 --> 94599703825904
94599705096240 --> 94599703423120
94599705096240 --> 94599704442256
94599705096240 --> 94599704930976
94599705096240 --> 94599702807968
94599705096240 --> 94599706291088
```` mermaid
graph LR
94599705096240["mkcontainer.MkContainer"]
94599703993040["mkblock.MkBlock"]
94599703862608["mkhtmlblock.MkHtmlBlock"]
94599692245360["mkdetailsblock.MkDetailsBlock"]
94599704810048["mktabs.MkTabBlock"]
94599705773696["mkadmonition.MkAdmonition"]
94599692251952["mkblockquote.MkBlockQuote"]
94599702774160["mkcode.MkCode"]
94599705324384["mkdiagram.MkDiagram"]
94599706442032["mkclassdiagram.MkClassDiagram"]
94599705987696["mkpipdeptree.MkPipDepTree"]
94599702786192["mktreeview.MkTreeView"]
94599704712992["mktemplate.MkTemplate"]
94599705211712["mkclidoc.MkCliDoc"]
94599702210048["mkmaterialbadge.MkMaterialBadge"]
94599703453408["mkimagecompare.MkImageCompare"]
94599703449360["mkimageslideshow.MkImageSlideshow"]
94599705146656["mkiframe.MkIFrame"]
94599705646816["mkcard.MkCard"]
94599704969584["mkinstallguide.MkInstallGuide"]
94599704803584["mkcodeofconduct.MkCodeOfConduct"]
94599704830176["mkcommitconventions.MkCommitConventions"]
94599702798624["mkpullrequestguidelines.MkPullRequestGuidelines"]
94599704801104["mkdevenvsetup.MkDevEnvSetup"]
94599705388480["mkdevtools.MkDevTools"]
94599706085488["mkreprrawrendered.MkReprRawRendered"]
94599703618784["mkcommandoutput.MkCommandOutput"]
94599706293200["mkcommentedcode.MkCommentedCode"]
94599705034096["mkconfigsetting.MkConfigSetting"]
94599706037936["mkpluginflow.MkPluginFlow"]
94599703447760["mklist.MkList"]
94599705319760["mkbasetable.MkBaseTable"]
94599705149056["mktable.MkTable"]
94599703893584["mkhtmltable.MkHtmlTable"]
94599703894576["mktabs.MkTab"]
94599705148064["mktabcontainer.MkTabContainer"]
94599705762768["mktabbedblocks.MkTabbedBlocks"]
94599703892112["mktabbed.MkTabbed"]
94599703826944["mkcritic.MkCritic"]
94599703887328["mkannotations.MkAnnotation"]
94599703823296["mkannotations.MkAnnotations"]
94599703409296["mkfootnotes.MkFootNote"]
94599705677104["mkfootnotes.MkFootNotes"]
94599705650432["mkdefinitionlist.MkDefinition"]
94599703408304["mkdefinitionlist.MkDefinitionList"]
94599705662192["mkpage.MkPage"]
94599705206144["mktemplatepage.MkTemplatePage"]
94599704973696["mkclasspage.MkClassPage"]
94599704962384["mkmodulepage.MkModulePage"]
94599705664752["mkshowcase.MkShowcase"]
94599703825904["mkspeechbubble.MkSpeechBubble"]
94599703423120["mktasklist.MkTask"]
94599704442256["mktasklist.MkTaskList"]
94599704930976["mktimeline.MkTimeline"]
94599702807968["mkshields.MkShields"]
94599706291088["mkmetadatabadges.MkMetadataBadges"]
94599705096240 --> 94599703993040
94599703993040 --> 94599703862608
94599703993040 --> 94599692245360
94599703993040 --> 94599704810048
94599705096240 --> 94599705773696
94599705096240 --> 94599692251952
94599705096240 --> 94599702774160
94599702774160 --> 94599705324384
94599705324384 --> 94599706442032
94599705324384 --> 94599705987696
94599702774160 --> 94599702786192
94599705096240 --> 94599704712992
94599704712992 --> 94599705211712
94599704712992 --> 94599702210048
94599704712992 --> 94599703453408
94599704712992 --> 94599703449360
94599704712992 --> 94599705146656
94599704712992 --> 94599705646816
94599704712992 --> 94599704969584
94599704712992 --> 94599704803584
94599704712992 --> 94599704830176
94599704712992 --> 94599702798624
94599704712992 --> 94599704801104
94599704712992 --> 94599705388480
94599704712992 --> 94599706085488
94599704712992 --> 94599703618784
94599704712992 --> 94599706293200
94599704712992 --> 94599705034096
94599704712992 --> 94599706037936
94599705096240 --> 94599703447760
94599705096240 --> 94599705319760
94599705319760 --> 94599705149056
94599705319760 --> 94599703893584
94599705096240 --> 94599703894576
94599705096240 --> 94599705148064
94599705148064 --> 94599705762768
94599705148064 --> 94599703892112
94599705096240 --> 94599703826944
94599705096240 --> 94599703887328
94599705096240 --> 94599703823296
94599705096240 --> 94599703409296
94599705096240 --> 94599705677104
94599705096240 --> 94599705650432
94599705096240 --> 94599703408304
94599705096240 --> 94599705662192
94599705662192 --> 94599705206144
94599705206144 --> 94599704973696
94599705206144 --> 94599704962384
94599705096240 --> 94599705664752
94599705096240 --> 94599703825904
94599705096240 --> 94599703423120
94599705096240 --> 94599704442256
94599705096240 --> 94599704930976
94599705096240 --> 94599702807968
94599705096240 --> 94599706291088
````
<pre class="mermaid"><code>graph LR
94599705096240["mkcontainer.MkContainer"]
94599703993040["mkblock.MkBlock"]
94599703862608["mkhtmlblock.MkHtmlBlock"]
94599692245360["mkdetailsblock.MkDetailsBlock"]
94599704810048["mktabs.MkTabBlock"]
94599705773696["mkadmonition.MkAdmonition"]
94599692251952["mkblockquote.MkBlockQuote"]
94599702774160["mkcode.MkCode"]
94599705324384["mkdiagram.MkDiagram"]
94599706442032["mkclassdiagram.MkClassDiagram"]
94599705987696["mkpipdeptree.MkPipDepTree"]
94599702786192["mktreeview.MkTreeView"]
94599704712992["mktemplate.MkTemplate"]
94599705211712["mkclidoc.MkCliDoc"]
94599702210048["mkmaterialbadge.MkMaterialBadge"]
94599703453408["mkimagecompare.MkImageCompare"]
94599703449360["mkimageslideshow.MkImageSlideshow"]
94599705146656["mkiframe.MkIFrame"]
94599705646816["mkcard.MkCard"]
94599704969584["mkinstallguide.MkInstallGuide"]
94599704803584["mkcodeofconduct.MkCodeOfConduct"]
94599704830176["mkcommitconventions.MkCommitConventions"]
94599702798624["mkpullrequestguidelines.MkPullRequestGuidelines"]
94599704801104["mkdevenvsetup.MkDevEnvSetup"]
94599705388480["mkdevtools.MkDevTools"]
94599706085488["mkreprrawrendered.MkReprRawRendered"]
94599703618784["mkcommandoutput.MkCommandOutput"]
94599706293200["mkcommentedcode.MkCommentedCode"]
94599705034096["mkconfigsetting.MkConfigSetting"]
94599706037936["mkpluginflow.MkPluginFlow"]
94599703447760["mklist.MkList"]
94599705319760["mkbasetable.MkBaseTable"]
94599705149056["mktable.MkTable"]
94599703893584["mkhtmltable.MkHtmlTable"]
94599703894576["mktabs.MkTab"]
94599705148064["mktabcontainer.MkTabContainer"]
94599705762768["mktabbedblocks.MkTabbedBlocks"]
94599703892112["mktabbed.MkTabbed"]
94599703826944["mkcritic.MkCritic"]
94599703887328["mkannotations.MkAnnotation"]
94599703823296["mkannotations.MkAnnotations"]
94599703409296["mkfootnotes.MkFootNote"]
94599705677104["mkfootnotes.MkFootNotes"]
94599705650432["mkdefinitionlist.MkDefinition"]
94599703408304["mkdefinitionlist.MkDefinitionList"]
94599705662192["mkpage.MkPage"]
94599705206144["mktemplatepage.MkTemplatePage"]
94599704973696["mkclasspage.MkClassPage"]
94599704962384["mkmodulepage.MkModulePage"]
94599705664752["mkshowcase.MkShowcase"]
94599703825904["mkspeechbubble.MkSpeechBubble"]
94599703423120["mktasklist.MkTask"]
94599704442256["mktasklist.MkTaskList"]
94599704930976["mktimeline.MkTimeline"]
94599702807968["mkshields.MkShields"]
94599706291088["mkmetadatabadges.MkMetadataBadges"]
94599705096240 --> 94599703993040
94599703993040 --> 94599703862608
94599703993040 --> 94599692245360
94599703993040 --> 94599704810048
94599705096240 --> 94599705773696
94599705096240 --> 94599692251952
94599705096240 --> 94599702774160
94599702774160 --> 94599705324384
94599705324384 --> 94599706442032
94599705324384 --> 94599705987696
94599702774160 --> 94599702786192
94599705096240 --> 94599704712992
94599704712992 --> 94599705211712
94599704712992 --> 94599702210048
94599704712992 --> 94599703453408
94599704712992 --> 94599703449360
94599704712992 --> 94599705146656
94599704712992 --> 94599705646816
94599704712992 --> 94599704969584
94599704712992 --> 94599704803584
94599704712992 --> 94599704830176
94599704712992 --> 94599702798624
94599704712992 --> 94599704801104
94599704712992 --> 94599705388480
94599704712992 --> 94599706085488
94599704712992 --> 94599703618784
94599704712992 --> 94599706293200
94599704712992 --> 94599705034096
94599704712992 --> 94599706037936
94599705096240 --> 94599703447760
94599705096240 --> 94599705319760
94599705319760 --> 94599705149056
94599705319760 --> 94599703893584
94599705096240 --> 94599703894576
94599705096240 --> 94599705148064
94599705148064 --> 94599705762768
94599705148064 --> 94599703892112
94599705096240 --> 94599703826944
94599705096240 --> 94599703887328
94599705096240 --> 94599703823296
94599705096240 --> 94599703409296
94599705096240 --> 94599705677104
94599705096240 --> 94599705650432
94599705096240 --> 94599703408304
94599705096240 --> 94599705662192
94599705662192 --> 94599705206144
94599705206144 --> 94599704973696
94599705206144 --> 94599704962384
94599705096240 --> 94599705664752
94599705096240 --> 94599703825904
94599705096240 --> 94599703423120
94599705096240 --> 94599704442256
94599705096240 --> 94599704930976
94599705096240 --> 94599702807968
94599705096240 --> 94599706291088</code></pre>
Example: MRO diagram¶
graph TD
94599705149056["mktable.MkTable"]
94599705319760["mkbasetable.MkBaseTable"]
94599705096240["mkcontainer.MkContainer"]
94599705097232["mknode.MkNode"]
94599703461184["node.Node"]
140153667328480["builtins.object"]
94599705149056 --> 94599705319760
94599705319760 --> 94599705096240
94599705096240 --> 94599705097232
94599705097232 --> 94599703461184
94599703461184 --> 140153667328480
```` mermaid
graph TD
94599705149056["mktable.MkTable"]
94599705319760["mkbasetable.MkBaseTable"]
94599705096240["mkcontainer.MkContainer"]
94599705097232["mknode.MkNode"]
94599703461184["node.Node"]
140153667328480["builtins.object"]
94599705149056 --> 94599705319760
94599705319760 --> 94599705096240
94599705096240 --> 94599705097232
94599705097232 --> 94599703461184
94599703461184 --> 140153667328480
````
<pre class="mermaid"><code>graph TD
94599705149056["mktable.MkTable"]
94599705319760["mkbasetable.MkBaseTable"]
94599705096240["mkcontainer.MkContainer"]
94599705097232["mknode.MkNode"]
94599703461184["node.Node"]
140153667328480["builtins.object"]
94599705149056 --> 94599705319760
94599705319760 --> 94599705096240
94599705096240 --> 94599705097232
94599705097232 --> 94599703461184
94599703461184 --> 140153667328480</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
94599706442032["mkclassdiagram.MkClassDiagram"]
94599705324384["mkdiagram.MkDiagram"]
94599702774160["mkcode.MkCode"]
94599705096240["mkcontainer.MkContainer"]
94599705097232["mknode.MkNode"]
94599703461184["node.Node"]
140153667328480["builtins.object"]
94599705324384 --> 94599706442032
94599702774160 --> 94599705324384
94599705096240 --> 94599702774160
94599705097232 --> 94599705096240
94599703461184 --> 94599705097232
140153667328480 --> 94599703461184
/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 }}
"""