MkClassDiagram
Node to display the class hierarchy of a class. Supports multiple modes.¶
Example: Baseclass diagram¶
graph TD
94272695684016["mkclassdiagram.MkClassDiagram"]
94272694448704["mkdiagram.MkDiagram"]
94272696640432["mkcode.MkCode"]
94272697822880["mkcontainer.MkContainer"]
94272697820320["mknode.MkNode"]
94272697777776["node.Node"]
139836355973312["builtins.object"]
94272694448704 --> 94272695684016
94272696640432 --> 94272694448704
94272697822880 --> 94272696640432
94272697820320 --> 94272697822880
94272697777776 --> 94272697820320
139836355973312 --> 94272697777776
```` mermaid
graph TD
94272695684016["mkclassdiagram.MkClassDiagram"]
94272694448704["mkdiagram.MkDiagram"]
94272696640432["mkcode.MkCode"]
94272697822880["mkcontainer.MkContainer"]
94272697820320["mknode.MkNode"]
94272697777776["node.Node"]
139836355973312["builtins.object"]
94272694448704 --> 94272695684016
94272696640432 --> 94272694448704
94272697822880 --> 94272696640432
94272697820320 --> 94272697822880
94272697777776 --> 94272697820320
139836355973312 --> 94272697777776
````
<pre class="mermaid"><code>graph TD
94272695684016["mkclassdiagram.MkClassDiagram"]
94272694448704["mkdiagram.MkDiagram"]
94272696640432["mkcode.MkCode"]
94272697822880["mkcontainer.MkContainer"]
94272697820320["mknode.MkNode"]
94272697777776["node.Node"]
139836355973312["builtins.object"]
94272694448704 --> 94272695684016
94272696640432 --> 94272694448704
94272697822880 --> 94272696640432
94272697820320 --> 94272697822880
94272697777776 --> 94272697820320
139836355973312 --> 94272697777776</code></pre>
Example: Subclass diagram¶
graph LR
94272697822880["mkcontainer.MkContainer"]
94272697823872["mkblock.MkBlock"]
94272697825648["mkhtmlblock.MkHtmlBlock"]
94272696472784["mkdetailsblock.MkDetailsBlock"]
94272696053856["mktabs.MkTabBlock"]
94272694335584["mkadmonition.MkAdmonition"]
94272696473776["mkblockquote.MkBlockQuote"]
94272696640432["mkcode.MkCode"]
94272694448704["mkdiagram.MkDiagram"]
94272695684016["mkclassdiagram.MkClassDiagram"]
94272697404688["mkpipdeptree.MkPipDepTree"]
94272695336816["mktreeview.MkTreeView"]
94272697537520["mktemplate.MkTemplate"]
94272697538512["mkclidoc.MkCliDoc"]
94272697539504["mkmaterialbadge.MkMaterialBadge"]
94272697541280["mkimagecompare.MkImageCompare"]
94272694075328["mkimageslideshow.MkImageSlideshow"]
94272695184960["mkiframe.MkIFrame"]
94272696989952["mkcard.MkCard"]
94272695651600["mkinstallguide.MkInstallGuide"]
94272685594160["mkcodeofconduct.MkCodeOfConduct"]
94272697567008["mkcommitconventions.MkCommitConventions"]
94272697571120["mkpullrequestguidelines.MkPullRequestGuidelines"]
94272697568000["mkdevenvsetup.MkDevEnvSetup"]
94272685600272["mkdevtools.MkDevTools"]
94272695688352["mkreprrawrendered.MkReprRawRendered"]
94272696841920["mkcommandoutput.MkCommandOutput"]
94272695799728["mkcommentedcode.MkCommentedCode"]
94272696839472["mkconfigsetting.MkConfigSetting"]
94272696226496["mkpluginflow.MkPluginFlow"]
94272685831168["mklist.MkList"]
94272694451264["mkbasetable.MkBaseTable"]
94272685834176["mktable.MkTable"]
94272696057664["mkhtmltable.MkHtmlTable"]
94272696444656["mktabs.MkTab"]
94272696055568["mktabcontainer.MkTabContainer"]
94272696448176["mktabbedblocks.MkTabbedBlocks"]
94272696052240["mktabbed.MkTabbed"]
94272696037584["mkcritic.MkCritic"]
94272696449952["mkannotations.MkAnnotation"]
94272696450944["mkannotations.MkAnnotations"]
94272696041696["mkfootnotes.MkFootNote"]
94272696042688["mkfootnotes.MkFootNotes"]
94272695186736["mkdefinitionlist.MkDefinition"]
94272695187728["mkdefinitionlist.MkDefinitionList"]
94272697760960["mkpage.MkPage"]
94272696620096["mktemplatepage.MkTemplatePage"]
94272695697136["mkclasspage.MkClassPage"]
94272685612224["mkmodulepage.MkModulePage"]
94272695540368["mkshowcase.MkShowcase"]
94272695541360["mkspeechbubble.MkSpeechBubble"]
94272695546016["mktasklist.MkTask"]
94272695543920["mktasklist.MkTaskList"]
94272697767520["mktimeline.MkTimeline"]
94272696585680["mkshields.MkShields"]
94272697676976["mkmetadatabadges.MkMetadataBadges"]
94272697822880 --> 94272697823872
94272697823872 --> 94272697825648
94272697823872 --> 94272696472784
94272697823872 --> 94272696053856
94272697822880 --> 94272694335584
94272697822880 --> 94272696473776
94272697822880 --> 94272696640432
94272696640432 --> 94272694448704
94272694448704 --> 94272695684016
94272694448704 --> 94272697404688
94272696640432 --> 94272695336816
94272697822880 --> 94272697537520
94272697537520 --> 94272697538512
94272697537520 --> 94272697539504
94272697537520 --> 94272697541280
94272697537520 --> 94272694075328
94272697537520 --> 94272695184960
94272697537520 --> 94272696989952
94272697537520 --> 94272695651600
94272697537520 --> 94272685594160
94272697537520 --> 94272697567008
94272697537520 --> 94272697571120
94272697537520 --> 94272697568000
94272697537520 --> 94272685600272
94272697537520 --> 94272695688352
94272697537520 --> 94272696841920
94272697537520 --> 94272695799728
94272697537520 --> 94272696839472
94272697537520 --> 94272696226496
94272697822880 --> 94272685831168
94272697822880 --> 94272694451264
94272694451264 --> 94272685834176
94272694451264 --> 94272696057664
94272697822880 --> 94272696444656
94272697822880 --> 94272696055568
94272696055568 --> 94272696448176
94272696055568 --> 94272696052240
94272697822880 --> 94272696037584
94272697822880 --> 94272696449952
94272697822880 --> 94272696450944
94272697822880 --> 94272696041696
94272697822880 --> 94272696042688
94272697822880 --> 94272695186736
94272697822880 --> 94272695187728
94272697822880 --> 94272697760960
94272697760960 --> 94272696620096
94272696620096 --> 94272695697136
94272696620096 --> 94272685612224
94272697822880 --> 94272695540368
94272697822880 --> 94272695541360
94272697822880 --> 94272695546016
94272697822880 --> 94272695543920
94272697822880 --> 94272697767520
94272697822880 --> 94272696585680
94272697822880 --> 94272697676976
```` mermaid
graph LR
94272697822880["mkcontainer.MkContainer"]
94272697823872["mkblock.MkBlock"]
94272697825648["mkhtmlblock.MkHtmlBlock"]
94272696472784["mkdetailsblock.MkDetailsBlock"]
94272696053856["mktabs.MkTabBlock"]
94272694335584["mkadmonition.MkAdmonition"]
94272696473776["mkblockquote.MkBlockQuote"]
94272696640432["mkcode.MkCode"]
94272694448704["mkdiagram.MkDiagram"]
94272695684016["mkclassdiagram.MkClassDiagram"]
94272697404688["mkpipdeptree.MkPipDepTree"]
94272695336816["mktreeview.MkTreeView"]
94272697537520["mktemplate.MkTemplate"]
94272697538512["mkclidoc.MkCliDoc"]
94272697539504["mkmaterialbadge.MkMaterialBadge"]
94272697541280["mkimagecompare.MkImageCompare"]
94272694075328["mkimageslideshow.MkImageSlideshow"]
94272695184960["mkiframe.MkIFrame"]
94272696989952["mkcard.MkCard"]
94272695651600["mkinstallguide.MkInstallGuide"]
94272685594160["mkcodeofconduct.MkCodeOfConduct"]
94272697567008["mkcommitconventions.MkCommitConventions"]
94272697571120["mkpullrequestguidelines.MkPullRequestGuidelines"]
94272697568000["mkdevenvsetup.MkDevEnvSetup"]
94272685600272["mkdevtools.MkDevTools"]
94272695688352["mkreprrawrendered.MkReprRawRendered"]
94272696841920["mkcommandoutput.MkCommandOutput"]
94272695799728["mkcommentedcode.MkCommentedCode"]
94272696839472["mkconfigsetting.MkConfigSetting"]
94272696226496["mkpluginflow.MkPluginFlow"]
94272685831168["mklist.MkList"]
94272694451264["mkbasetable.MkBaseTable"]
94272685834176["mktable.MkTable"]
94272696057664["mkhtmltable.MkHtmlTable"]
94272696444656["mktabs.MkTab"]
94272696055568["mktabcontainer.MkTabContainer"]
94272696448176["mktabbedblocks.MkTabbedBlocks"]
94272696052240["mktabbed.MkTabbed"]
94272696037584["mkcritic.MkCritic"]
94272696449952["mkannotations.MkAnnotation"]
94272696450944["mkannotations.MkAnnotations"]
94272696041696["mkfootnotes.MkFootNote"]
94272696042688["mkfootnotes.MkFootNotes"]
94272695186736["mkdefinitionlist.MkDefinition"]
94272695187728["mkdefinitionlist.MkDefinitionList"]
94272697760960["mkpage.MkPage"]
94272696620096["mktemplatepage.MkTemplatePage"]
94272695697136["mkclasspage.MkClassPage"]
94272685612224["mkmodulepage.MkModulePage"]
94272695540368["mkshowcase.MkShowcase"]
94272695541360["mkspeechbubble.MkSpeechBubble"]
94272695546016["mktasklist.MkTask"]
94272695543920["mktasklist.MkTaskList"]
94272697767520["mktimeline.MkTimeline"]
94272696585680["mkshields.MkShields"]
94272697676976["mkmetadatabadges.MkMetadataBadges"]
94272697822880 --> 94272697823872
94272697823872 --> 94272697825648
94272697823872 --> 94272696472784
94272697823872 --> 94272696053856
94272697822880 --> 94272694335584
94272697822880 --> 94272696473776
94272697822880 --> 94272696640432
94272696640432 --> 94272694448704
94272694448704 --> 94272695684016
94272694448704 --> 94272697404688
94272696640432 --> 94272695336816
94272697822880 --> 94272697537520
94272697537520 --> 94272697538512
94272697537520 --> 94272697539504
94272697537520 --> 94272697541280
94272697537520 --> 94272694075328
94272697537520 --> 94272695184960
94272697537520 --> 94272696989952
94272697537520 --> 94272695651600
94272697537520 --> 94272685594160
94272697537520 --> 94272697567008
94272697537520 --> 94272697571120
94272697537520 --> 94272697568000
94272697537520 --> 94272685600272
94272697537520 --> 94272695688352
94272697537520 --> 94272696841920
94272697537520 --> 94272695799728
94272697537520 --> 94272696839472
94272697537520 --> 94272696226496
94272697822880 --> 94272685831168
94272697822880 --> 94272694451264
94272694451264 --> 94272685834176
94272694451264 --> 94272696057664
94272697822880 --> 94272696444656
94272697822880 --> 94272696055568
94272696055568 --> 94272696448176
94272696055568 --> 94272696052240
94272697822880 --> 94272696037584
94272697822880 --> 94272696449952
94272697822880 --> 94272696450944
94272697822880 --> 94272696041696
94272697822880 --> 94272696042688
94272697822880 --> 94272695186736
94272697822880 --> 94272695187728
94272697822880 --> 94272697760960
94272697760960 --> 94272696620096
94272696620096 --> 94272695697136
94272696620096 --> 94272685612224
94272697822880 --> 94272695540368
94272697822880 --> 94272695541360
94272697822880 --> 94272695546016
94272697822880 --> 94272695543920
94272697822880 --> 94272697767520
94272697822880 --> 94272696585680
94272697822880 --> 94272697676976
````
<pre class="mermaid"><code>graph LR
94272697822880["mkcontainer.MkContainer"]
94272697823872["mkblock.MkBlock"]
94272697825648["mkhtmlblock.MkHtmlBlock"]
94272696472784["mkdetailsblock.MkDetailsBlock"]
94272696053856["mktabs.MkTabBlock"]
94272694335584["mkadmonition.MkAdmonition"]
94272696473776["mkblockquote.MkBlockQuote"]
94272696640432["mkcode.MkCode"]
94272694448704["mkdiagram.MkDiagram"]
94272695684016["mkclassdiagram.MkClassDiagram"]
94272697404688["mkpipdeptree.MkPipDepTree"]
94272695336816["mktreeview.MkTreeView"]
94272697537520["mktemplate.MkTemplate"]
94272697538512["mkclidoc.MkCliDoc"]
94272697539504["mkmaterialbadge.MkMaterialBadge"]
94272697541280["mkimagecompare.MkImageCompare"]
94272694075328["mkimageslideshow.MkImageSlideshow"]
94272695184960["mkiframe.MkIFrame"]
94272696989952["mkcard.MkCard"]
94272695651600["mkinstallguide.MkInstallGuide"]
94272685594160["mkcodeofconduct.MkCodeOfConduct"]
94272697567008["mkcommitconventions.MkCommitConventions"]
94272697571120["mkpullrequestguidelines.MkPullRequestGuidelines"]
94272697568000["mkdevenvsetup.MkDevEnvSetup"]
94272685600272["mkdevtools.MkDevTools"]
94272695688352["mkreprrawrendered.MkReprRawRendered"]
94272696841920["mkcommandoutput.MkCommandOutput"]
94272695799728["mkcommentedcode.MkCommentedCode"]
94272696839472["mkconfigsetting.MkConfigSetting"]
94272696226496["mkpluginflow.MkPluginFlow"]
94272685831168["mklist.MkList"]
94272694451264["mkbasetable.MkBaseTable"]
94272685834176["mktable.MkTable"]
94272696057664["mkhtmltable.MkHtmlTable"]
94272696444656["mktabs.MkTab"]
94272696055568["mktabcontainer.MkTabContainer"]
94272696448176["mktabbedblocks.MkTabbedBlocks"]
94272696052240["mktabbed.MkTabbed"]
94272696037584["mkcritic.MkCritic"]
94272696449952["mkannotations.MkAnnotation"]
94272696450944["mkannotations.MkAnnotations"]
94272696041696["mkfootnotes.MkFootNote"]
94272696042688["mkfootnotes.MkFootNotes"]
94272695186736["mkdefinitionlist.MkDefinition"]
94272695187728["mkdefinitionlist.MkDefinitionList"]
94272697760960["mkpage.MkPage"]
94272696620096["mktemplatepage.MkTemplatePage"]
94272695697136["mkclasspage.MkClassPage"]
94272685612224["mkmodulepage.MkModulePage"]
94272695540368["mkshowcase.MkShowcase"]
94272695541360["mkspeechbubble.MkSpeechBubble"]
94272695546016["mktasklist.MkTask"]
94272695543920["mktasklist.MkTaskList"]
94272697767520["mktimeline.MkTimeline"]
94272696585680["mkshields.MkShields"]
94272697676976["mkmetadatabadges.MkMetadataBadges"]
94272697822880 --> 94272697823872
94272697823872 --> 94272697825648
94272697823872 --> 94272696472784
94272697823872 --> 94272696053856
94272697822880 --> 94272694335584
94272697822880 --> 94272696473776
94272697822880 --> 94272696640432
94272696640432 --> 94272694448704
94272694448704 --> 94272695684016
94272694448704 --> 94272697404688
94272696640432 --> 94272695336816
94272697822880 --> 94272697537520
94272697537520 --> 94272697538512
94272697537520 --> 94272697539504
94272697537520 --> 94272697541280
94272697537520 --> 94272694075328
94272697537520 --> 94272695184960
94272697537520 --> 94272696989952
94272697537520 --> 94272695651600
94272697537520 --> 94272685594160
94272697537520 --> 94272697567008
94272697537520 --> 94272697571120
94272697537520 --> 94272697568000
94272697537520 --> 94272685600272
94272697537520 --> 94272695688352
94272697537520 --> 94272696841920
94272697537520 --> 94272695799728
94272697537520 --> 94272696839472
94272697537520 --> 94272696226496
94272697822880 --> 94272685831168
94272697822880 --> 94272694451264
94272694451264 --> 94272685834176
94272694451264 --> 94272696057664
94272697822880 --> 94272696444656
94272697822880 --> 94272696055568
94272696055568 --> 94272696448176
94272696055568 --> 94272696052240
94272697822880 --> 94272696037584
94272697822880 --> 94272696449952
94272697822880 --> 94272696450944
94272697822880 --> 94272696041696
94272697822880 --> 94272696042688
94272697822880 --> 94272695186736
94272697822880 --> 94272695187728
94272697822880 --> 94272697760960
94272697760960 --> 94272696620096
94272696620096 --> 94272695697136
94272696620096 --> 94272685612224
94272697822880 --> 94272695540368
94272697822880 --> 94272695541360
94272697822880 --> 94272695546016
94272697822880 --> 94272695543920
94272697822880 --> 94272697767520
94272697822880 --> 94272696585680
94272697822880 --> 94272697676976</code></pre>
Example: MRO diagram¶
graph TD
94272685834176["mktable.MkTable"]
94272694451264["mkbasetable.MkBaseTable"]
94272697822880["mkcontainer.MkContainer"]
94272697820320["mknode.MkNode"]
94272697777776["node.Node"]
139836355973312["builtins.object"]
94272685834176 --> 94272694451264
94272694451264 --> 94272697822880
94272697822880 --> 94272697820320
94272697820320 --> 94272697777776
94272697777776 --> 139836355973312
```` mermaid
graph TD
94272685834176["mktable.MkTable"]
94272694451264["mkbasetable.MkBaseTable"]
94272697822880["mkcontainer.MkContainer"]
94272697820320["mknode.MkNode"]
94272697777776["node.Node"]
139836355973312["builtins.object"]
94272685834176 --> 94272694451264
94272694451264 --> 94272697822880
94272697822880 --> 94272697820320
94272697820320 --> 94272697777776
94272697777776 --> 139836355973312
````
<pre class="mermaid"><code>graph TD
94272685834176["mktable.MkTable"]
94272694451264["mkbasetable.MkBaseTable"]
94272697822880["mkcontainer.MkContainer"]
94272697820320["mknode.MkNode"]
94272697777776["node.Node"]
139836355973312["builtins.object"]
94272685834176 --> 94272694451264
94272694451264 --> 94272697822880
94272697822880 --> 94272697820320
94272697820320 --> 94272697777776
94272697777776 --> 139836355973312</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
94272695684016["mkclassdiagram.MkClassDiagram"]
94272694448704["mkdiagram.MkDiagram"]
94272696640432["mkcode.MkCode"]
94272697822880["mkcontainer.MkContainer"]
94272697820320["mknode.MkNode"]
94272697777776["node.Node"]
139836355973312["builtins.object"]
94272694448704 --> 94272695684016
94272696640432 --> 94272694448704
94272697822880 --> 94272696640432
94272697820320 --> 94272697822880
94272697777776 --> 94272697820320
139836355973312 --> 94272697777776
/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 }}
"""