MkClassDiagram
Node to display the class hierarchy of a class. Supports multiple modes.¶
Example: Baseclass diagram¶
graph TD
94721311815216["mkclassdiagram.MkClassDiagram"]
94721311944192["mkdiagram.MkDiagram"]
94721306031680["mkcode.MkCode"]
94721311697232["mkcontainer.MkContainer"]
94721308848336["mknode.MkNode"]
94721311766592["node.Node"]
140564252373184["builtins.object"]
94721311944192 --> 94721311815216
94721306031680 --> 94721311944192
94721311697232 --> 94721306031680
94721308848336 --> 94721311697232
94721311766592 --> 94721308848336
140564252373184 --> 94721311766592
```` mermaid
graph TD
94721311815216["mkclassdiagram.MkClassDiagram"]
94721311944192["mkdiagram.MkDiagram"]
94721306031680["mkcode.MkCode"]
94721311697232["mkcontainer.MkContainer"]
94721308848336["mknode.MkNode"]
94721311766592["node.Node"]
140564252373184["builtins.object"]
94721311944192 --> 94721311815216
94721306031680 --> 94721311944192
94721311697232 --> 94721306031680
94721308848336 --> 94721311697232
94721311766592 --> 94721308848336
140564252373184 --> 94721311766592
````
<pre class="mermaid"><code>graph TD
94721311815216["mkclassdiagram.MkClassDiagram"]
94721311944192["mkdiagram.MkDiagram"]
94721306031680["mkcode.MkCode"]
94721311697232["mkcontainer.MkContainer"]
94721308848336["mknode.MkNode"]
94721311766592["node.Node"]
140564252373184["builtins.object"]
94721311944192 --> 94721311815216
94721306031680 --> 94721311944192
94721311697232 --> 94721306031680
94721308848336 --> 94721311697232
94721311766592 --> 94721308848336
140564252373184 --> 94721311766592</code></pre>
Example: Subclass diagram¶
graph LR
94721311697232["mkcontainer.MkContainer"]
94721311698224["mkblock.MkBlock"]
94721311700000["mkhtmlblock.MkHtmlBlock"]
94721308064640["mkdetailsblock.MkDetailsBlock"]
94721312435600["mktabs.MkTabBlock"]
94721311723232["mkadmonition.MkAdmonition"]
94721311724224["mkblockquote.MkBlockQuote"]
94721306031680["mkcode.MkCode"]
94721311944192["mkdiagram.MkDiagram"]
94721311815216["mkclassdiagram.MkClassDiagram"]
94721312098816["mkpipdeptree.MkPipDepTree"]
94721312024000["mktreeview.MkTreeView"]
94721308869584["mktemplate.MkTemplate"]
94721308870576["mkclidoc.MkCliDoc"]
94721307731600["mkmaterialbadge.MkMaterialBadge"]
94721311906912["mkimagecompare.MkImageCompare"]
94721311908688["mkimageslideshow.MkImageSlideshow"]
94721311915904["mkiframe.MkIFrame"]
94721312420752["mkcard.MkCard"]
94721312453024["mkinstallguide.MkInstallGuide"]
94721312273232["mkcodeofconduct.MkCodeOfConduct"]
94721312042880["mkcommitconventions.MkCommitConventions"]
94721312199616["mkpullrequestguidelines.MkPullRequestGuidelines"]
94721312203728["mkdevenvsetup.MkDevEnvSetup"]
94721312205504["mkdevtools.MkDevTools"]
94721311818560["mkreprrawrendered.MkReprRawRendered"]
94721312194336["mkcommandoutput.MkCommandOutput"]
94721312016336["mkcommentedcode.MkCommentedCode"]
94721312017328["mkconfigsetting.MkConfigSetting"]
94721311800096["mkpluginflow.MkPluginFlow"]
94721311728912["mklist.MkList"]
94721311951440["mkbasetable.MkBaseTable"]
94721306028880["mktable.MkTable"]
94721312779728["mkhtmltable.MkHtmlTable"]
94721308862688["mktabs.MkTab"]
94721311947536["mktabcontainer.MkTabContainer"]
94721311949312["mktabbedblocks.MkTabbedBlocks"]
94721311933888["mktabbed.MkTabbed"]
94721311938992["mkcritic.MkCritic"]
94721312426576["mkannotations.MkAnnotation"]
94721312427568["mkannotations.MkAnnotations"]
94721312429344["mkfootnotes.MkFootNote"]
94721312430336["mkfootnotes.MkFootNotes"]
94721311916896["mkdefinitionlist.MkDefinition"]
94721311917888["mkdefinitionlist.MkDefinitionList"]
94721305999824["mkpage.MkPage"]
94721306013584["mktemplatepage.MkTemplatePage"]
94721306014576["mkclasspage.MkClassPage"]
94721306017696["mkmodulepage.MkModulePage"]
94721306002384["mkshowcase.MkShowcase"]
94721306003376["mkspeechbubble.MkSpeechBubble"]
94721311962000["mktasklist.MkTask"]
94721311963776["mktasklist.MkTaskList"]
94721311965552["mktimeline.MkTimeline"]
94721312307504["mkshields.MkShields"]
94721312353952["mkmetadatabadges.MkMetadataBadges"]
94721311697232 --> 94721311698224
94721311698224 --> 94721311700000
94721311698224 --> 94721308064640
94721311698224 --> 94721312435600
94721311697232 --> 94721311723232
94721311697232 --> 94721311724224
94721311697232 --> 94721306031680
94721306031680 --> 94721311944192
94721311944192 --> 94721311815216
94721311944192 --> 94721312098816
94721306031680 --> 94721312024000
94721311697232 --> 94721308869584
94721308869584 --> 94721308870576
94721308869584 --> 94721307731600
94721308869584 --> 94721311906912
94721308869584 --> 94721311908688
94721308869584 --> 94721311915904
94721308869584 --> 94721312420752
94721308869584 --> 94721312453024
94721308869584 --> 94721312273232
94721308869584 --> 94721312042880
94721308869584 --> 94721312199616
94721308869584 --> 94721312203728
94721308869584 --> 94721312205504
94721308869584 --> 94721311818560
94721308869584 --> 94721312194336
94721308869584 --> 94721312016336
94721308869584 --> 94721312017328
94721308869584 --> 94721311800096
94721311697232 --> 94721311728912
94721311697232 --> 94721311951440
94721311951440 --> 94721306028880
94721311951440 --> 94721312779728
94721311697232 --> 94721308862688
94721311697232 --> 94721311947536
94721311947536 --> 94721311949312
94721311947536 --> 94721311933888
94721311697232 --> 94721311938992
94721311697232 --> 94721312426576
94721311697232 --> 94721312427568
94721311697232 --> 94721312429344
94721311697232 --> 94721312430336
94721311697232 --> 94721311916896
94721311697232 --> 94721311917888
94721311697232 --> 94721305999824
94721305999824 --> 94721306013584
94721306013584 --> 94721306014576
94721306013584 --> 94721306017696
94721311697232 --> 94721306002384
94721311697232 --> 94721306003376
94721311697232 --> 94721311962000
94721311697232 --> 94721311963776
94721311697232 --> 94721311965552
94721311697232 --> 94721312307504
94721311697232 --> 94721312353952
```` mermaid
graph LR
94721311697232["mkcontainer.MkContainer"]
94721311698224["mkblock.MkBlock"]
94721311700000["mkhtmlblock.MkHtmlBlock"]
94721308064640["mkdetailsblock.MkDetailsBlock"]
94721312435600["mktabs.MkTabBlock"]
94721311723232["mkadmonition.MkAdmonition"]
94721311724224["mkblockquote.MkBlockQuote"]
94721306031680["mkcode.MkCode"]
94721311944192["mkdiagram.MkDiagram"]
94721311815216["mkclassdiagram.MkClassDiagram"]
94721312098816["mkpipdeptree.MkPipDepTree"]
94721312024000["mktreeview.MkTreeView"]
94721308869584["mktemplate.MkTemplate"]
94721308870576["mkclidoc.MkCliDoc"]
94721307731600["mkmaterialbadge.MkMaterialBadge"]
94721311906912["mkimagecompare.MkImageCompare"]
94721311908688["mkimageslideshow.MkImageSlideshow"]
94721311915904["mkiframe.MkIFrame"]
94721312420752["mkcard.MkCard"]
94721312453024["mkinstallguide.MkInstallGuide"]
94721312273232["mkcodeofconduct.MkCodeOfConduct"]
94721312042880["mkcommitconventions.MkCommitConventions"]
94721312199616["mkpullrequestguidelines.MkPullRequestGuidelines"]
94721312203728["mkdevenvsetup.MkDevEnvSetup"]
94721312205504["mkdevtools.MkDevTools"]
94721311818560["mkreprrawrendered.MkReprRawRendered"]
94721312194336["mkcommandoutput.MkCommandOutput"]
94721312016336["mkcommentedcode.MkCommentedCode"]
94721312017328["mkconfigsetting.MkConfigSetting"]
94721311800096["mkpluginflow.MkPluginFlow"]
94721311728912["mklist.MkList"]
94721311951440["mkbasetable.MkBaseTable"]
94721306028880["mktable.MkTable"]
94721312779728["mkhtmltable.MkHtmlTable"]
94721308862688["mktabs.MkTab"]
94721311947536["mktabcontainer.MkTabContainer"]
94721311949312["mktabbedblocks.MkTabbedBlocks"]
94721311933888["mktabbed.MkTabbed"]
94721311938992["mkcritic.MkCritic"]
94721312426576["mkannotations.MkAnnotation"]
94721312427568["mkannotations.MkAnnotations"]
94721312429344["mkfootnotes.MkFootNote"]
94721312430336["mkfootnotes.MkFootNotes"]
94721311916896["mkdefinitionlist.MkDefinition"]
94721311917888["mkdefinitionlist.MkDefinitionList"]
94721305999824["mkpage.MkPage"]
94721306013584["mktemplatepage.MkTemplatePage"]
94721306014576["mkclasspage.MkClassPage"]
94721306017696["mkmodulepage.MkModulePage"]
94721306002384["mkshowcase.MkShowcase"]
94721306003376["mkspeechbubble.MkSpeechBubble"]
94721311962000["mktasklist.MkTask"]
94721311963776["mktasklist.MkTaskList"]
94721311965552["mktimeline.MkTimeline"]
94721312307504["mkshields.MkShields"]
94721312353952["mkmetadatabadges.MkMetadataBadges"]
94721311697232 --> 94721311698224
94721311698224 --> 94721311700000
94721311698224 --> 94721308064640
94721311698224 --> 94721312435600
94721311697232 --> 94721311723232
94721311697232 --> 94721311724224
94721311697232 --> 94721306031680
94721306031680 --> 94721311944192
94721311944192 --> 94721311815216
94721311944192 --> 94721312098816
94721306031680 --> 94721312024000
94721311697232 --> 94721308869584
94721308869584 --> 94721308870576
94721308869584 --> 94721307731600
94721308869584 --> 94721311906912
94721308869584 --> 94721311908688
94721308869584 --> 94721311915904
94721308869584 --> 94721312420752
94721308869584 --> 94721312453024
94721308869584 --> 94721312273232
94721308869584 --> 94721312042880
94721308869584 --> 94721312199616
94721308869584 --> 94721312203728
94721308869584 --> 94721312205504
94721308869584 --> 94721311818560
94721308869584 --> 94721312194336
94721308869584 --> 94721312016336
94721308869584 --> 94721312017328
94721308869584 --> 94721311800096
94721311697232 --> 94721311728912
94721311697232 --> 94721311951440
94721311951440 --> 94721306028880
94721311951440 --> 94721312779728
94721311697232 --> 94721308862688
94721311697232 --> 94721311947536
94721311947536 --> 94721311949312
94721311947536 --> 94721311933888
94721311697232 --> 94721311938992
94721311697232 --> 94721312426576
94721311697232 --> 94721312427568
94721311697232 --> 94721312429344
94721311697232 --> 94721312430336
94721311697232 --> 94721311916896
94721311697232 --> 94721311917888
94721311697232 --> 94721305999824
94721305999824 --> 94721306013584
94721306013584 --> 94721306014576
94721306013584 --> 94721306017696
94721311697232 --> 94721306002384
94721311697232 --> 94721306003376
94721311697232 --> 94721311962000
94721311697232 --> 94721311963776
94721311697232 --> 94721311965552
94721311697232 --> 94721312307504
94721311697232 --> 94721312353952
````
<pre class="mermaid"><code>graph LR
94721311697232["mkcontainer.MkContainer"]
94721311698224["mkblock.MkBlock"]
94721311700000["mkhtmlblock.MkHtmlBlock"]
94721308064640["mkdetailsblock.MkDetailsBlock"]
94721312435600["mktabs.MkTabBlock"]
94721311723232["mkadmonition.MkAdmonition"]
94721311724224["mkblockquote.MkBlockQuote"]
94721306031680["mkcode.MkCode"]
94721311944192["mkdiagram.MkDiagram"]
94721311815216["mkclassdiagram.MkClassDiagram"]
94721312098816["mkpipdeptree.MkPipDepTree"]
94721312024000["mktreeview.MkTreeView"]
94721308869584["mktemplate.MkTemplate"]
94721308870576["mkclidoc.MkCliDoc"]
94721307731600["mkmaterialbadge.MkMaterialBadge"]
94721311906912["mkimagecompare.MkImageCompare"]
94721311908688["mkimageslideshow.MkImageSlideshow"]
94721311915904["mkiframe.MkIFrame"]
94721312420752["mkcard.MkCard"]
94721312453024["mkinstallguide.MkInstallGuide"]
94721312273232["mkcodeofconduct.MkCodeOfConduct"]
94721312042880["mkcommitconventions.MkCommitConventions"]
94721312199616["mkpullrequestguidelines.MkPullRequestGuidelines"]
94721312203728["mkdevenvsetup.MkDevEnvSetup"]
94721312205504["mkdevtools.MkDevTools"]
94721311818560["mkreprrawrendered.MkReprRawRendered"]
94721312194336["mkcommandoutput.MkCommandOutput"]
94721312016336["mkcommentedcode.MkCommentedCode"]
94721312017328["mkconfigsetting.MkConfigSetting"]
94721311800096["mkpluginflow.MkPluginFlow"]
94721311728912["mklist.MkList"]
94721311951440["mkbasetable.MkBaseTable"]
94721306028880["mktable.MkTable"]
94721312779728["mkhtmltable.MkHtmlTable"]
94721308862688["mktabs.MkTab"]
94721311947536["mktabcontainer.MkTabContainer"]
94721311949312["mktabbedblocks.MkTabbedBlocks"]
94721311933888["mktabbed.MkTabbed"]
94721311938992["mkcritic.MkCritic"]
94721312426576["mkannotations.MkAnnotation"]
94721312427568["mkannotations.MkAnnotations"]
94721312429344["mkfootnotes.MkFootNote"]
94721312430336["mkfootnotes.MkFootNotes"]
94721311916896["mkdefinitionlist.MkDefinition"]
94721311917888["mkdefinitionlist.MkDefinitionList"]
94721305999824["mkpage.MkPage"]
94721306013584["mktemplatepage.MkTemplatePage"]
94721306014576["mkclasspage.MkClassPage"]
94721306017696["mkmodulepage.MkModulePage"]
94721306002384["mkshowcase.MkShowcase"]
94721306003376["mkspeechbubble.MkSpeechBubble"]
94721311962000["mktasklist.MkTask"]
94721311963776["mktasklist.MkTaskList"]
94721311965552["mktimeline.MkTimeline"]
94721312307504["mkshields.MkShields"]
94721312353952["mkmetadatabadges.MkMetadataBadges"]
94721311697232 --> 94721311698224
94721311698224 --> 94721311700000
94721311698224 --> 94721308064640
94721311698224 --> 94721312435600
94721311697232 --> 94721311723232
94721311697232 --> 94721311724224
94721311697232 --> 94721306031680
94721306031680 --> 94721311944192
94721311944192 --> 94721311815216
94721311944192 --> 94721312098816
94721306031680 --> 94721312024000
94721311697232 --> 94721308869584
94721308869584 --> 94721308870576
94721308869584 --> 94721307731600
94721308869584 --> 94721311906912
94721308869584 --> 94721311908688
94721308869584 --> 94721311915904
94721308869584 --> 94721312420752
94721308869584 --> 94721312453024
94721308869584 --> 94721312273232
94721308869584 --> 94721312042880
94721308869584 --> 94721312199616
94721308869584 --> 94721312203728
94721308869584 --> 94721312205504
94721308869584 --> 94721311818560
94721308869584 --> 94721312194336
94721308869584 --> 94721312016336
94721308869584 --> 94721312017328
94721308869584 --> 94721311800096
94721311697232 --> 94721311728912
94721311697232 --> 94721311951440
94721311951440 --> 94721306028880
94721311951440 --> 94721312779728
94721311697232 --> 94721308862688
94721311697232 --> 94721311947536
94721311947536 --> 94721311949312
94721311947536 --> 94721311933888
94721311697232 --> 94721311938992
94721311697232 --> 94721312426576
94721311697232 --> 94721312427568
94721311697232 --> 94721312429344
94721311697232 --> 94721312430336
94721311697232 --> 94721311916896
94721311697232 --> 94721311917888
94721311697232 --> 94721305999824
94721305999824 --> 94721306013584
94721306013584 --> 94721306014576
94721306013584 --> 94721306017696
94721311697232 --> 94721306002384
94721311697232 --> 94721306003376
94721311697232 --> 94721311962000
94721311697232 --> 94721311963776
94721311697232 --> 94721311965552
94721311697232 --> 94721312307504
94721311697232 --> 94721312353952</code></pre>
Example: MRO diagram¶
graph TD
94721306028880["mktable.MkTable"]
94721311951440["mkbasetable.MkBaseTable"]
94721311697232["mkcontainer.MkContainer"]
94721308848336["mknode.MkNode"]
94721311766592["node.Node"]
140564252373184["builtins.object"]
94721306028880 --> 94721311951440
94721311951440 --> 94721311697232
94721311697232 --> 94721308848336
94721308848336 --> 94721311766592
94721311766592 --> 140564252373184
```` mermaid
graph TD
94721306028880["mktable.MkTable"]
94721311951440["mkbasetable.MkBaseTable"]
94721311697232["mkcontainer.MkContainer"]
94721308848336["mknode.MkNode"]
94721311766592["node.Node"]
140564252373184["builtins.object"]
94721306028880 --> 94721311951440
94721311951440 --> 94721311697232
94721311697232 --> 94721308848336
94721308848336 --> 94721311766592
94721311766592 --> 140564252373184
````
<pre class="mermaid"><code>graph TD
94721306028880["mktable.MkTable"]
94721311951440["mkbasetable.MkBaseTable"]
94721311697232["mkcontainer.MkContainer"]
94721308848336["mknode.MkNode"]
94721311766592["node.Node"]
140564252373184["builtins.object"]
94721306028880 --> 94721311951440
94721311951440 --> 94721311697232
94721311697232 --> 94721308848336
94721308848336 --> 94721311766592
94721311766592 --> 140564252373184</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
94721311815216["mkclassdiagram.MkClassDiagram"]
94721311944192["mkdiagram.MkDiagram"]
94721306031680["mkcode.MkCode"]
94721311697232["mkcontainer.MkContainer"]
94721308848336["mknode.MkNode"]
94721311766592["node.Node"]
140564252373184["builtins.object"]
94721311944192 --> 94721311815216
94721306031680 --> 94721311944192
94721311697232 --> 94721306031680
94721308848336 --> 94721311697232
94721311766592 --> 94721308848336
140564252373184 --> 94721311766592
/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 }}
"""