MkClassDiagram
Node to display the class hierarchy of a class. Supports multiple modes.¶
Example: Baseclass diagram¶
graph TD
94270157690496["mkclassdiagram.MkClassDiagram"]
94270158422448["mkdiagram.MkDiagram"]
94270156766032["mkcode.MkCode"]
94270158791264["mkcontainer.MkContainer"]
94270153212096["mknode.MkNode"]
94270159179120["node.Node"]
139968908570848["builtins.object"]
94270158422448 --> 94270157690496
94270156766032 --> 94270158422448
94270158791264 --> 94270156766032
94270153212096 --> 94270158791264
94270159179120 --> 94270153212096
139968908570848 --> 94270159179120
```` mermaid
graph TD
94270157690496["mkclassdiagram.MkClassDiagram"]
94270158422448["mkdiagram.MkDiagram"]
94270156766032["mkcode.MkCode"]
94270158791264["mkcontainer.MkContainer"]
94270153212096["mknode.MkNode"]
94270159179120["node.Node"]
139968908570848["builtins.object"]
94270158422448 --> 94270157690496
94270156766032 --> 94270158422448
94270158791264 --> 94270156766032
94270153212096 --> 94270158791264
94270159179120 --> 94270153212096
139968908570848 --> 94270159179120
````
<pre class="mermaid"><code>graph TD
94270157690496["mkclassdiagram.MkClassDiagram"]
94270158422448["mkdiagram.MkDiagram"]
94270156766032["mkcode.MkCode"]
94270158791264["mkcontainer.MkContainer"]
94270153212096["mknode.MkNode"]
94270159179120["node.Node"]
139968908570848["builtins.object"]
94270158422448 --> 94270157690496
94270156766032 --> 94270158422448
94270158791264 --> 94270156766032
94270153212096 --> 94270158791264
94270159179120 --> 94270153212096
139968908570848 --> 94270159179120</code></pre>
Example: Subclass diagram¶
graph LR
94270158791264["mkcontainer.MkContainer"]
94270158792256["mkblock.MkBlock"]
94270159197968["mkhtmlblock.MkHtmlBlock"]
94270158795024["mkdetailsblock.MkDetailsBlock"]
94270156952688["mktabs.MkTabBlock"]
94270159174432["mkadmonition.MkAdmonition"]
94270158754800["mkblockquote.MkBlockQuote"]
94270156766032["mkcode.MkCode"]
94270158422448["mkdiagram.MkDiagram"]
94270157690496["mkclassdiagram.MkClassDiagram"]
94270158822384["mkpipdeptree.MkPipDepTree"]
94270158323712["mktreeview.MkTreeView"]
94270156955776["mktemplate.MkTemplate"]
94270158497552["mkclidoc.MkCliDoc"]
94270159210112["mkmaterialbadge.MkMaterialBadge"]
94270159211104["mkimagecompare.MkImageCompare"]
94270158758144["mkimageslideshow.MkImageSlideshow"]
94270157095984["mkiframe.MkIFrame"]
94270157107584["mkcard.MkCard"]
94270157832064["mkinstallguide.MkInstallGuide"]
94270157909200["mkcodeofconduct.MkCodeOfConduct"]
94270157910976["mkcommitconventions.MkCommitConventions"]
94270157912752["mkpullrequestguidelines.MkPullRequestGuidelines"]
94270157915616["mkdevenvsetup.MkDevEnvSetup"]
94270159218416["mkdevtools.MkDevTools"]
94270157914528["mkreprrawrendered.MkReprRawRendered"]
94270156921536["mkcommandoutput.MkCommandOutput"]
94270158318144["mkcommentedcode.MkCommentedCode"]
94270156922528["mkconfigsetting.MkConfigSetting"]
94270157077184["mkpluginflow.MkPluginFlow"]
94270157023296["mklist.MkList"]
94270159149712["mkbasetable.MkBaseTable"]
94270159150704["mktable.MkTable"]
94270158428336["mkhtmltable.MkHtmlTable"]
94270157545728["mktabs.MkTab"]
94270159151696["mktabcontainer.MkTabContainer"]
94270158426624["mktabbedblocks.MkTabbedBlocks"]
94270158425008["mktabbed.MkTabbed"]
94270156877984["mkcritic.MkCritic"]
94270157865024["mkannotations.MkAnnotation"]
94270157866016["mkannotations.MkAnnotations"]
94270157867792["mkfootnotes.MkFootNote"]
94270157091888["mkfootnotes.MkFootNotes"]
94270157100704["mkdefinitionlist.MkDefinition"]
94270157102480["mkdefinitionlist.MkDefinitionList"]
94270159188288["mkpage.MkPage"]
94270157863296["mktemplatepage.MkTemplatePage"]
94270158173728["mkclasspage.MkClassPage"]
94270158174720["mkmodulepage.MkModulePage"]
94270159190848["mkshowcase.MkShowcase"]
94270159191840["mkspeechbubble.MkSpeechBubble"]
94270157549280["mktasklist.MkTask"]
94270157551056["mktasklist.MkTaskList"]
94270157552832["mktimeline.MkTimeline"]
94270159021632["mkshields.MkShields"]
94270158317152["mkmetadatabadges.MkMetadataBadges"]
94270158791264 --> 94270158792256
94270158792256 --> 94270159197968
94270158792256 --> 94270158795024
94270158792256 --> 94270156952688
94270158791264 --> 94270159174432
94270158791264 --> 94270158754800
94270158791264 --> 94270156766032
94270156766032 --> 94270158422448
94270158422448 --> 94270157690496
94270158422448 --> 94270158822384
94270156766032 --> 94270158323712
94270158791264 --> 94270156955776
94270156955776 --> 94270158497552
94270156955776 --> 94270159210112
94270156955776 --> 94270159211104
94270156955776 --> 94270158758144
94270156955776 --> 94270157095984
94270156955776 --> 94270157107584
94270156955776 --> 94270157832064
94270156955776 --> 94270157909200
94270156955776 --> 94270157910976
94270156955776 --> 94270157912752
94270156955776 --> 94270157915616
94270156955776 --> 94270159218416
94270156955776 --> 94270157914528
94270156955776 --> 94270156921536
94270156955776 --> 94270158318144
94270156955776 --> 94270156922528
94270156955776 --> 94270157077184
94270158791264 --> 94270157023296
94270158791264 --> 94270159149712
94270159149712 --> 94270159150704
94270159149712 --> 94270158428336
94270158791264 --> 94270157545728
94270158791264 --> 94270159151696
94270159151696 --> 94270158426624
94270159151696 --> 94270158425008
94270158791264 --> 94270156877984
94270158791264 --> 94270157865024
94270158791264 --> 94270157866016
94270158791264 --> 94270157867792
94270158791264 --> 94270157091888
94270158791264 --> 94270157100704
94270158791264 --> 94270157102480
94270158791264 --> 94270159188288
94270159188288 --> 94270157863296
94270157863296 --> 94270158173728
94270157863296 --> 94270158174720
94270158791264 --> 94270159190848
94270158791264 --> 94270159191840
94270158791264 --> 94270157549280
94270158791264 --> 94270157551056
94270158791264 --> 94270157552832
94270158791264 --> 94270159021632
94270158791264 --> 94270158317152
```` mermaid
graph LR
94270158791264["mkcontainer.MkContainer"]
94270158792256["mkblock.MkBlock"]
94270159197968["mkhtmlblock.MkHtmlBlock"]
94270158795024["mkdetailsblock.MkDetailsBlock"]
94270156952688["mktabs.MkTabBlock"]
94270159174432["mkadmonition.MkAdmonition"]
94270158754800["mkblockquote.MkBlockQuote"]
94270156766032["mkcode.MkCode"]
94270158422448["mkdiagram.MkDiagram"]
94270157690496["mkclassdiagram.MkClassDiagram"]
94270158822384["mkpipdeptree.MkPipDepTree"]
94270158323712["mktreeview.MkTreeView"]
94270156955776["mktemplate.MkTemplate"]
94270158497552["mkclidoc.MkCliDoc"]
94270159210112["mkmaterialbadge.MkMaterialBadge"]
94270159211104["mkimagecompare.MkImageCompare"]
94270158758144["mkimageslideshow.MkImageSlideshow"]
94270157095984["mkiframe.MkIFrame"]
94270157107584["mkcard.MkCard"]
94270157832064["mkinstallguide.MkInstallGuide"]
94270157909200["mkcodeofconduct.MkCodeOfConduct"]
94270157910976["mkcommitconventions.MkCommitConventions"]
94270157912752["mkpullrequestguidelines.MkPullRequestGuidelines"]
94270157915616["mkdevenvsetup.MkDevEnvSetup"]
94270159218416["mkdevtools.MkDevTools"]
94270157914528["mkreprrawrendered.MkReprRawRendered"]
94270156921536["mkcommandoutput.MkCommandOutput"]
94270158318144["mkcommentedcode.MkCommentedCode"]
94270156922528["mkconfigsetting.MkConfigSetting"]
94270157077184["mkpluginflow.MkPluginFlow"]
94270157023296["mklist.MkList"]
94270159149712["mkbasetable.MkBaseTable"]
94270159150704["mktable.MkTable"]
94270158428336["mkhtmltable.MkHtmlTable"]
94270157545728["mktabs.MkTab"]
94270159151696["mktabcontainer.MkTabContainer"]
94270158426624["mktabbedblocks.MkTabbedBlocks"]
94270158425008["mktabbed.MkTabbed"]
94270156877984["mkcritic.MkCritic"]
94270157865024["mkannotations.MkAnnotation"]
94270157866016["mkannotations.MkAnnotations"]
94270157867792["mkfootnotes.MkFootNote"]
94270157091888["mkfootnotes.MkFootNotes"]
94270157100704["mkdefinitionlist.MkDefinition"]
94270157102480["mkdefinitionlist.MkDefinitionList"]
94270159188288["mkpage.MkPage"]
94270157863296["mktemplatepage.MkTemplatePage"]
94270158173728["mkclasspage.MkClassPage"]
94270158174720["mkmodulepage.MkModulePage"]
94270159190848["mkshowcase.MkShowcase"]
94270159191840["mkspeechbubble.MkSpeechBubble"]
94270157549280["mktasklist.MkTask"]
94270157551056["mktasklist.MkTaskList"]
94270157552832["mktimeline.MkTimeline"]
94270159021632["mkshields.MkShields"]
94270158317152["mkmetadatabadges.MkMetadataBadges"]
94270158791264 --> 94270158792256
94270158792256 --> 94270159197968
94270158792256 --> 94270158795024
94270158792256 --> 94270156952688
94270158791264 --> 94270159174432
94270158791264 --> 94270158754800
94270158791264 --> 94270156766032
94270156766032 --> 94270158422448
94270158422448 --> 94270157690496
94270158422448 --> 94270158822384
94270156766032 --> 94270158323712
94270158791264 --> 94270156955776
94270156955776 --> 94270158497552
94270156955776 --> 94270159210112
94270156955776 --> 94270159211104
94270156955776 --> 94270158758144
94270156955776 --> 94270157095984
94270156955776 --> 94270157107584
94270156955776 --> 94270157832064
94270156955776 --> 94270157909200
94270156955776 --> 94270157910976
94270156955776 --> 94270157912752
94270156955776 --> 94270157915616
94270156955776 --> 94270159218416
94270156955776 --> 94270157914528
94270156955776 --> 94270156921536
94270156955776 --> 94270158318144
94270156955776 --> 94270156922528
94270156955776 --> 94270157077184
94270158791264 --> 94270157023296
94270158791264 --> 94270159149712
94270159149712 --> 94270159150704
94270159149712 --> 94270158428336
94270158791264 --> 94270157545728
94270158791264 --> 94270159151696
94270159151696 --> 94270158426624
94270159151696 --> 94270158425008
94270158791264 --> 94270156877984
94270158791264 --> 94270157865024
94270158791264 --> 94270157866016
94270158791264 --> 94270157867792
94270158791264 --> 94270157091888
94270158791264 --> 94270157100704
94270158791264 --> 94270157102480
94270158791264 --> 94270159188288
94270159188288 --> 94270157863296
94270157863296 --> 94270158173728
94270157863296 --> 94270158174720
94270158791264 --> 94270159190848
94270158791264 --> 94270159191840
94270158791264 --> 94270157549280
94270158791264 --> 94270157551056
94270158791264 --> 94270157552832
94270158791264 --> 94270159021632
94270158791264 --> 94270158317152
````
<pre class="mermaid"><code>graph LR
94270158791264["mkcontainer.MkContainer"]
94270158792256["mkblock.MkBlock"]
94270159197968["mkhtmlblock.MkHtmlBlock"]
94270158795024["mkdetailsblock.MkDetailsBlock"]
94270156952688["mktabs.MkTabBlock"]
94270159174432["mkadmonition.MkAdmonition"]
94270158754800["mkblockquote.MkBlockQuote"]
94270156766032["mkcode.MkCode"]
94270158422448["mkdiagram.MkDiagram"]
94270157690496["mkclassdiagram.MkClassDiagram"]
94270158822384["mkpipdeptree.MkPipDepTree"]
94270158323712["mktreeview.MkTreeView"]
94270156955776["mktemplate.MkTemplate"]
94270158497552["mkclidoc.MkCliDoc"]
94270159210112["mkmaterialbadge.MkMaterialBadge"]
94270159211104["mkimagecompare.MkImageCompare"]
94270158758144["mkimageslideshow.MkImageSlideshow"]
94270157095984["mkiframe.MkIFrame"]
94270157107584["mkcard.MkCard"]
94270157832064["mkinstallguide.MkInstallGuide"]
94270157909200["mkcodeofconduct.MkCodeOfConduct"]
94270157910976["mkcommitconventions.MkCommitConventions"]
94270157912752["mkpullrequestguidelines.MkPullRequestGuidelines"]
94270157915616["mkdevenvsetup.MkDevEnvSetup"]
94270159218416["mkdevtools.MkDevTools"]
94270157914528["mkreprrawrendered.MkReprRawRendered"]
94270156921536["mkcommandoutput.MkCommandOutput"]
94270158318144["mkcommentedcode.MkCommentedCode"]
94270156922528["mkconfigsetting.MkConfigSetting"]
94270157077184["mkpluginflow.MkPluginFlow"]
94270157023296["mklist.MkList"]
94270159149712["mkbasetable.MkBaseTable"]
94270159150704["mktable.MkTable"]
94270158428336["mkhtmltable.MkHtmlTable"]
94270157545728["mktabs.MkTab"]
94270159151696["mktabcontainer.MkTabContainer"]
94270158426624["mktabbedblocks.MkTabbedBlocks"]
94270158425008["mktabbed.MkTabbed"]
94270156877984["mkcritic.MkCritic"]
94270157865024["mkannotations.MkAnnotation"]
94270157866016["mkannotations.MkAnnotations"]
94270157867792["mkfootnotes.MkFootNote"]
94270157091888["mkfootnotes.MkFootNotes"]
94270157100704["mkdefinitionlist.MkDefinition"]
94270157102480["mkdefinitionlist.MkDefinitionList"]
94270159188288["mkpage.MkPage"]
94270157863296["mktemplatepage.MkTemplatePage"]
94270158173728["mkclasspage.MkClassPage"]
94270158174720["mkmodulepage.MkModulePage"]
94270159190848["mkshowcase.MkShowcase"]
94270159191840["mkspeechbubble.MkSpeechBubble"]
94270157549280["mktasklist.MkTask"]
94270157551056["mktasklist.MkTaskList"]
94270157552832["mktimeline.MkTimeline"]
94270159021632["mkshields.MkShields"]
94270158317152["mkmetadatabadges.MkMetadataBadges"]
94270158791264 --> 94270158792256
94270158792256 --> 94270159197968
94270158792256 --> 94270158795024
94270158792256 --> 94270156952688
94270158791264 --> 94270159174432
94270158791264 --> 94270158754800
94270158791264 --> 94270156766032
94270156766032 --> 94270158422448
94270158422448 --> 94270157690496
94270158422448 --> 94270158822384
94270156766032 --> 94270158323712
94270158791264 --> 94270156955776
94270156955776 --> 94270158497552
94270156955776 --> 94270159210112
94270156955776 --> 94270159211104
94270156955776 --> 94270158758144
94270156955776 --> 94270157095984
94270156955776 --> 94270157107584
94270156955776 --> 94270157832064
94270156955776 --> 94270157909200
94270156955776 --> 94270157910976
94270156955776 --> 94270157912752
94270156955776 --> 94270157915616
94270156955776 --> 94270159218416
94270156955776 --> 94270157914528
94270156955776 --> 94270156921536
94270156955776 --> 94270158318144
94270156955776 --> 94270156922528
94270156955776 --> 94270157077184
94270158791264 --> 94270157023296
94270158791264 --> 94270159149712
94270159149712 --> 94270159150704
94270159149712 --> 94270158428336
94270158791264 --> 94270157545728
94270158791264 --> 94270159151696
94270159151696 --> 94270158426624
94270159151696 --> 94270158425008
94270158791264 --> 94270156877984
94270158791264 --> 94270157865024
94270158791264 --> 94270157866016
94270158791264 --> 94270157867792
94270158791264 --> 94270157091888
94270158791264 --> 94270157100704
94270158791264 --> 94270157102480
94270158791264 --> 94270159188288
94270159188288 --> 94270157863296
94270157863296 --> 94270158173728
94270157863296 --> 94270158174720
94270158791264 --> 94270159190848
94270158791264 --> 94270159191840
94270158791264 --> 94270157549280
94270158791264 --> 94270157551056
94270158791264 --> 94270157552832
94270158791264 --> 94270159021632
94270158791264 --> 94270158317152</code></pre>
Example: MRO diagram¶
graph TD
94270159150704["mktable.MkTable"]
94270159149712["mkbasetable.MkBaseTable"]
94270158791264["mkcontainer.MkContainer"]
94270153212096["mknode.MkNode"]
94270159179120["node.Node"]
139968908570848["builtins.object"]
94270159150704 --> 94270159149712
94270159149712 --> 94270158791264
94270158791264 --> 94270153212096
94270153212096 --> 94270159179120
94270159179120 --> 139968908570848
```` mermaid
graph TD
94270159150704["mktable.MkTable"]
94270159149712["mkbasetable.MkBaseTable"]
94270158791264["mkcontainer.MkContainer"]
94270153212096["mknode.MkNode"]
94270159179120["node.Node"]
139968908570848["builtins.object"]
94270159150704 --> 94270159149712
94270159149712 --> 94270158791264
94270158791264 --> 94270153212096
94270153212096 --> 94270159179120
94270159179120 --> 139968908570848
````
<pre class="mermaid"><code>graph TD
94270159150704["mktable.MkTable"]
94270159149712["mkbasetable.MkBaseTable"]
94270158791264["mkcontainer.MkContainer"]
94270153212096["mknode.MkNode"]
94270159179120["node.Node"]
139968908570848["builtins.object"]
94270159150704 --> 94270159149712
94270159149712 --> 94270158791264
94270158791264 --> 94270153212096
94270153212096 --> 94270159179120
94270159179120 --> 139968908570848</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
94270157690496["mkclassdiagram.MkClassDiagram"]
94270158422448["mkdiagram.MkDiagram"]
94270156766032["mkcode.MkCode"]
94270158791264["mkcontainer.MkContainer"]
94270153212096["mknode.MkNode"]
94270159179120["node.Node"]
139968908570848["builtins.object"]
94270158422448 --> 94270157690496
94270156766032 --> 94270158422448
94270158791264 --> 94270156766032
94270153212096 --> 94270158791264
94270159179120 --> 94270153212096
139968908570848 --> 94270159179120
/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 }}
"""