MkClassDiagram
Node to display the class hierarchy of a class. Supports multiple modes.¶
Example: Baseclass diagram¶
graph TD
94396151690688["mkclassdiagram.MkClassDiagram"]
94396149501424["mkdiagram.MkDiagram"]
94396150535680["mkcode.MkCode"]
94396150332256["mkcontainer.MkContainer"]
94396150626816["mknode.MkNode"]
94396150902384["node.Node"]
140181802719712["builtins.object"]
94396149501424 --> 94396151690688
94396150535680 --> 94396149501424
94396150332256 --> 94396150535680
94396150626816 --> 94396150332256
94396150902384 --> 94396150626816
140181802719712 --> 94396150902384
```` mermaid
graph TD
94396151690688["mkclassdiagram.MkClassDiagram"]
94396149501424["mkdiagram.MkDiagram"]
94396150535680["mkcode.MkCode"]
94396150332256["mkcontainer.MkContainer"]
94396150626816["mknode.MkNode"]
94396150902384["node.Node"]
140181802719712["builtins.object"]
94396149501424 --> 94396151690688
94396150535680 --> 94396149501424
94396150332256 --> 94396150535680
94396150626816 --> 94396150332256
94396150902384 --> 94396150626816
140181802719712 --> 94396150902384
````
<pre class="mermaid"><code>graph TD
94396151690688["mkclassdiagram.MkClassDiagram"]
94396149501424["mkdiagram.MkDiagram"]
94396150535680["mkcode.MkCode"]
94396150332256["mkcontainer.MkContainer"]
94396150626816["mknode.MkNode"]
94396150902384["node.Node"]
140181802719712["builtins.object"]
94396149501424 --> 94396151690688
94396150535680 --> 94396149501424
94396150332256 --> 94396150535680
94396150626816 --> 94396150332256
94396150902384 --> 94396150626816
140181802719712 --> 94396150902384</code></pre>
Example: Subclass diagram¶
graph LR
94396150332256["mkcontainer.MkContainer"]
94396150949728["mkblock.MkBlock"]
94396149143232["mkhtmlblock.MkHtmlBlock"]
94396150536672["mkdetailsblock.MkDetailsBlock"]
94396149505104["mktabs.MkTabBlock"]
94396149509664["mkadmonition.MkAdmonition"]
94396149702176["mkblockquote.MkBlockQuote"]
94396150535680["mkcode.MkCode"]
94396149501424["mkdiagram.MkDiagram"]
94396151690688["mkclassdiagram.MkClassDiagram"]
94396150023856["mkpipdeptree.MkPipDepTree"]
94396151516016["mktreeview.MkTreeView"]
94396150980560["mktemplate.MkTemplate"]
94396151073520["mkclidoc.MkCliDoc"]
94396149482864["mkmaterialbadge.MkMaterialBadge"]
94396150917216["mkimagecompare.MkImageCompare"]
94396150987536["mkimageslideshow.MkImageSlideshow"]
94396150579072["mkiframe.MkIFrame"]
94396149168064["mkcard.MkCard"]
94396150412016["mkinstallguide.MkInstallGuide"]
94396151742288["mkcodeofconduct.MkCodeOfConduct"]
94396151739808["mkcommitconventions.MkCommitConventions"]
94396150417776["mkpullrequestguidelines.MkPullRequestGuidelines"]
94396151351248["mkdevenvsetup.MkDevEnvSetup"]
94396150415392["mkdevtools.MkDevTools"]
94396151088480["mkreprrawrendered.MkReprRawRendered"]
94396150857968["mkcommandoutput.MkCommandOutput"]
94396150025008["mkcommentedcode.MkCommentedCode"]
94396151347232["mkconfigsetting.MkConfigSetting"]
94396151245168["mkpluginflow.MkPluginFlow"]
94396149489296["mklist.MkList"]
94396151736832["mkbasetable.MkBaseTable"]
94396150516912["mktable.MkTable"]
94396150782912["mkhtmltable.MkHtmlTable"]
94396151856384["mktabs.MkTab"]
94396149508672["mktabcontainer.MkTabContainer"]
94396150520480["mktabbedblocks.MkTabbedBlocks"]
94396150779088["mktabbed.MkTabbed"]
94396150781200["mkcritic.MkCritic"]
94396151732864["mkannotations.MkAnnotation"]
94396151730880["mkannotations.MkAnnotations"]
94396149954304["mkfootnotes.MkFootNote"]
94396150589296["mkfootnotes.MkFootNotes"]
94396150133360["mkdefinitionlist.MkDefinition"]
94396150584480["mkdefinitionlist.MkDefinitionList"]
94396150097504["mkpage.MkPage"]
94396150476144["mktemplatepage.MkTemplatePage"]
94396150178704["mkclasspage.MkClassPage"]
94396151747248["mkmodulepage.MkModulePage"]
94396150100064["mkshowcase.MkShowcase"]
94396150729232["mkspeechbubble.MkSpeechBubble"]
94396150101056["mktasklist.MkTask"]
94396149699344["mktasklist.MkTaskList"]
94396151365072["mktimeline.MkTimeline"]
94396151767584["mkshields.MkShields"]
94396150020176["mkmetadatabadges.MkMetadataBadges"]
94396150332256 --> 94396150949728
94396150949728 --> 94396149143232
94396150949728 --> 94396150536672
94396150949728 --> 94396149505104
94396150332256 --> 94396149509664
94396150332256 --> 94396149702176
94396150332256 --> 94396150535680
94396150535680 --> 94396149501424
94396149501424 --> 94396151690688
94396149501424 --> 94396150023856
94396150535680 --> 94396151516016
94396150332256 --> 94396150980560
94396150980560 --> 94396151073520
94396150980560 --> 94396149482864
94396150980560 --> 94396150917216
94396150980560 --> 94396150987536
94396150980560 --> 94396150579072
94396150980560 --> 94396149168064
94396150980560 --> 94396150412016
94396150980560 --> 94396151742288
94396150980560 --> 94396151739808
94396150980560 --> 94396150417776
94396150980560 --> 94396151351248
94396150980560 --> 94396150415392
94396150980560 --> 94396151088480
94396150980560 --> 94396150857968
94396150980560 --> 94396150025008
94396150980560 --> 94396151347232
94396150980560 --> 94396151245168
94396150332256 --> 94396149489296
94396150332256 --> 94396151736832
94396151736832 --> 94396150516912
94396151736832 --> 94396150782912
94396150332256 --> 94396151856384
94396150332256 --> 94396149508672
94396149508672 --> 94396150520480
94396149508672 --> 94396150779088
94396150332256 --> 94396150781200
94396150332256 --> 94396151732864
94396150332256 --> 94396151730880
94396150332256 --> 94396149954304
94396150332256 --> 94396150589296
94396150332256 --> 94396150133360
94396150332256 --> 94396150584480
94396150332256 --> 94396150097504
94396150097504 --> 94396150476144
94396150476144 --> 94396150178704
94396150476144 --> 94396151747248
94396150332256 --> 94396150100064
94396150332256 --> 94396150729232
94396150332256 --> 94396150101056
94396150332256 --> 94396149699344
94396150332256 --> 94396151365072
94396150332256 --> 94396151767584
94396150332256 --> 94396150020176
```` mermaid
graph LR
94396150332256["mkcontainer.MkContainer"]
94396150949728["mkblock.MkBlock"]
94396149143232["mkhtmlblock.MkHtmlBlock"]
94396150536672["mkdetailsblock.MkDetailsBlock"]
94396149505104["mktabs.MkTabBlock"]
94396149509664["mkadmonition.MkAdmonition"]
94396149702176["mkblockquote.MkBlockQuote"]
94396150535680["mkcode.MkCode"]
94396149501424["mkdiagram.MkDiagram"]
94396151690688["mkclassdiagram.MkClassDiagram"]
94396150023856["mkpipdeptree.MkPipDepTree"]
94396151516016["mktreeview.MkTreeView"]
94396150980560["mktemplate.MkTemplate"]
94396151073520["mkclidoc.MkCliDoc"]
94396149482864["mkmaterialbadge.MkMaterialBadge"]
94396150917216["mkimagecompare.MkImageCompare"]
94396150987536["mkimageslideshow.MkImageSlideshow"]
94396150579072["mkiframe.MkIFrame"]
94396149168064["mkcard.MkCard"]
94396150412016["mkinstallguide.MkInstallGuide"]
94396151742288["mkcodeofconduct.MkCodeOfConduct"]
94396151739808["mkcommitconventions.MkCommitConventions"]
94396150417776["mkpullrequestguidelines.MkPullRequestGuidelines"]
94396151351248["mkdevenvsetup.MkDevEnvSetup"]
94396150415392["mkdevtools.MkDevTools"]
94396151088480["mkreprrawrendered.MkReprRawRendered"]
94396150857968["mkcommandoutput.MkCommandOutput"]
94396150025008["mkcommentedcode.MkCommentedCode"]
94396151347232["mkconfigsetting.MkConfigSetting"]
94396151245168["mkpluginflow.MkPluginFlow"]
94396149489296["mklist.MkList"]
94396151736832["mkbasetable.MkBaseTable"]
94396150516912["mktable.MkTable"]
94396150782912["mkhtmltable.MkHtmlTable"]
94396151856384["mktabs.MkTab"]
94396149508672["mktabcontainer.MkTabContainer"]
94396150520480["mktabbedblocks.MkTabbedBlocks"]
94396150779088["mktabbed.MkTabbed"]
94396150781200["mkcritic.MkCritic"]
94396151732864["mkannotations.MkAnnotation"]
94396151730880["mkannotations.MkAnnotations"]
94396149954304["mkfootnotes.MkFootNote"]
94396150589296["mkfootnotes.MkFootNotes"]
94396150133360["mkdefinitionlist.MkDefinition"]
94396150584480["mkdefinitionlist.MkDefinitionList"]
94396150097504["mkpage.MkPage"]
94396150476144["mktemplatepage.MkTemplatePage"]
94396150178704["mkclasspage.MkClassPage"]
94396151747248["mkmodulepage.MkModulePage"]
94396150100064["mkshowcase.MkShowcase"]
94396150729232["mkspeechbubble.MkSpeechBubble"]
94396150101056["mktasklist.MkTask"]
94396149699344["mktasklist.MkTaskList"]
94396151365072["mktimeline.MkTimeline"]
94396151767584["mkshields.MkShields"]
94396150020176["mkmetadatabadges.MkMetadataBadges"]
94396150332256 --> 94396150949728
94396150949728 --> 94396149143232
94396150949728 --> 94396150536672
94396150949728 --> 94396149505104
94396150332256 --> 94396149509664
94396150332256 --> 94396149702176
94396150332256 --> 94396150535680
94396150535680 --> 94396149501424
94396149501424 --> 94396151690688
94396149501424 --> 94396150023856
94396150535680 --> 94396151516016
94396150332256 --> 94396150980560
94396150980560 --> 94396151073520
94396150980560 --> 94396149482864
94396150980560 --> 94396150917216
94396150980560 --> 94396150987536
94396150980560 --> 94396150579072
94396150980560 --> 94396149168064
94396150980560 --> 94396150412016
94396150980560 --> 94396151742288
94396150980560 --> 94396151739808
94396150980560 --> 94396150417776
94396150980560 --> 94396151351248
94396150980560 --> 94396150415392
94396150980560 --> 94396151088480
94396150980560 --> 94396150857968
94396150980560 --> 94396150025008
94396150980560 --> 94396151347232
94396150980560 --> 94396151245168
94396150332256 --> 94396149489296
94396150332256 --> 94396151736832
94396151736832 --> 94396150516912
94396151736832 --> 94396150782912
94396150332256 --> 94396151856384
94396150332256 --> 94396149508672
94396149508672 --> 94396150520480
94396149508672 --> 94396150779088
94396150332256 --> 94396150781200
94396150332256 --> 94396151732864
94396150332256 --> 94396151730880
94396150332256 --> 94396149954304
94396150332256 --> 94396150589296
94396150332256 --> 94396150133360
94396150332256 --> 94396150584480
94396150332256 --> 94396150097504
94396150097504 --> 94396150476144
94396150476144 --> 94396150178704
94396150476144 --> 94396151747248
94396150332256 --> 94396150100064
94396150332256 --> 94396150729232
94396150332256 --> 94396150101056
94396150332256 --> 94396149699344
94396150332256 --> 94396151365072
94396150332256 --> 94396151767584
94396150332256 --> 94396150020176
````
<pre class="mermaid"><code>graph LR
94396150332256["mkcontainer.MkContainer"]
94396150949728["mkblock.MkBlock"]
94396149143232["mkhtmlblock.MkHtmlBlock"]
94396150536672["mkdetailsblock.MkDetailsBlock"]
94396149505104["mktabs.MkTabBlock"]
94396149509664["mkadmonition.MkAdmonition"]
94396149702176["mkblockquote.MkBlockQuote"]
94396150535680["mkcode.MkCode"]
94396149501424["mkdiagram.MkDiagram"]
94396151690688["mkclassdiagram.MkClassDiagram"]
94396150023856["mkpipdeptree.MkPipDepTree"]
94396151516016["mktreeview.MkTreeView"]
94396150980560["mktemplate.MkTemplate"]
94396151073520["mkclidoc.MkCliDoc"]
94396149482864["mkmaterialbadge.MkMaterialBadge"]
94396150917216["mkimagecompare.MkImageCompare"]
94396150987536["mkimageslideshow.MkImageSlideshow"]
94396150579072["mkiframe.MkIFrame"]
94396149168064["mkcard.MkCard"]
94396150412016["mkinstallguide.MkInstallGuide"]
94396151742288["mkcodeofconduct.MkCodeOfConduct"]
94396151739808["mkcommitconventions.MkCommitConventions"]
94396150417776["mkpullrequestguidelines.MkPullRequestGuidelines"]
94396151351248["mkdevenvsetup.MkDevEnvSetup"]
94396150415392["mkdevtools.MkDevTools"]
94396151088480["mkreprrawrendered.MkReprRawRendered"]
94396150857968["mkcommandoutput.MkCommandOutput"]
94396150025008["mkcommentedcode.MkCommentedCode"]
94396151347232["mkconfigsetting.MkConfigSetting"]
94396151245168["mkpluginflow.MkPluginFlow"]
94396149489296["mklist.MkList"]
94396151736832["mkbasetable.MkBaseTable"]
94396150516912["mktable.MkTable"]
94396150782912["mkhtmltable.MkHtmlTable"]
94396151856384["mktabs.MkTab"]
94396149508672["mktabcontainer.MkTabContainer"]
94396150520480["mktabbedblocks.MkTabbedBlocks"]
94396150779088["mktabbed.MkTabbed"]
94396150781200["mkcritic.MkCritic"]
94396151732864["mkannotations.MkAnnotation"]
94396151730880["mkannotations.MkAnnotations"]
94396149954304["mkfootnotes.MkFootNote"]
94396150589296["mkfootnotes.MkFootNotes"]
94396150133360["mkdefinitionlist.MkDefinition"]
94396150584480["mkdefinitionlist.MkDefinitionList"]
94396150097504["mkpage.MkPage"]
94396150476144["mktemplatepage.MkTemplatePage"]
94396150178704["mkclasspage.MkClassPage"]
94396151747248["mkmodulepage.MkModulePage"]
94396150100064["mkshowcase.MkShowcase"]
94396150729232["mkspeechbubble.MkSpeechBubble"]
94396150101056["mktasklist.MkTask"]
94396149699344["mktasklist.MkTaskList"]
94396151365072["mktimeline.MkTimeline"]
94396151767584["mkshields.MkShields"]
94396150020176["mkmetadatabadges.MkMetadataBadges"]
94396150332256 --> 94396150949728
94396150949728 --> 94396149143232
94396150949728 --> 94396150536672
94396150949728 --> 94396149505104
94396150332256 --> 94396149509664
94396150332256 --> 94396149702176
94396150332256 --> 94396150535680
94396150535680 --> 94396149501424
94396149501424 --> 94396151690688
94396149501424 --> 94396150023856
94396150535680 --> 94396151516016
94396150332256 --> 94396150980560
94396150980560 --> 94396151073520
94396150980560 --> 94396149482864
94396150980560 --> 94396150917216
94396150980560 --> 94396150987536
94396150980560 --> 94396150579072
94396150980560 --> 94396149168064
94396150980560 --> 94396150412016
94396150980560 --> 94396151742288
94396150980560 --> 94396151739808
94396150980560 --> 94396150417776
94396150980560 --> 94396151351248
94396150980560 --> 94396150415392
94396150980560 --> 94396151088480
94396150980560 --> 94396150857968
94396150980560 --> 94396150025008
94396150980560 --> 94396151347232
94396150980560 --> 94396151245168
94396150332256 --> 94396149489296
94396150332256 --> 94396151736832
94396151736832 --> 94396150516912
94396151736832 --> 94396150782912
94396150332256 --> 94396151856384
94396150332256 --> 94396149508672
94396149508672 --> 94396150520480
94396149508672 --> 94396150779088
94396150332256 --> 94396150781200
94396150332256 --> 94396151732864
94396150332256 --> 94396151730880
94396150332256 --> 94396149954304
94396150332256 --> 94396150589296
94396150332256 --> 94396150133360
94396150332256 --> 94396150584480
94396150332256 --> 94396150097504
94396150097504 --> 94396150476144
94396150476144 --> 94396150178704
94396150476144 --> 94396151747248
94396150332256 --> 94396150100064
94396150332256 --> 94396150729232
94396150332256 --> 94396150101056
94396150332256 --> 94396149699344
94396150332256 --> 94396151365072
94396150332256 --> 94396151767584
94396150332256 --> 94396150020176</code></pre>
Example: MRO diagram¶
graph TD
94396150516912["mktable.MkTable"]
94396151736832["mkbasetable.MkBaseTable"]
94396150332256["mkcontainer.MkContainer"]
94396150626816["mknode.MkNode"]
94396150902384["node.Node"]
140181802719712["builtins.object"]
94396150516912 --> 94396151736832
94396151736832 --> 94396150332256
94396150332256 --> 94396150626816
94396150626816 --> 94396150902384
94396150902384 --> 140181802719712
```` mermaid
graph TD
94396150516912["mktable.MkTable"]
94396151736832["mkbasetable.MkBaseTable"]
94396150332256["mkcontainer.MkContainer"]
94396150626816["mknode.MkNode"]
94396150902384["node.Node"]
140181802719712["builtins.object"]
94396150516912 --> 94396151736832
94396151736832 --> 94396150332256
94396150332256 --> 94396150626816
94396150626816 --> 94396150902384
94396150902384 --> 140181802719712
````
<pre class="mermaid"><code>graph TD
94396150516912["mktable.MkTable"]
94396151736832["mkbasetable.MkBaseTable"]
94396150332256["mkcontainer.MkContainer"]
94396150626816["mknode.MkNode"]
94396150902384["node.Node"]
140181802719712["builtins.object"]
94396150516912 --> 94396151736832
94396151736832 --> 94396150332256
94396150332256 --> 94396150626816
94396150626816 --> 94396150902384
94396150902384 --> 140181802719712</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
94396151690688["mkclassdiagram.MkClassDiagram"]
94396149501424["mkdiagram.MkDiagram"]
94396150535680["mkcode.MkCode"]
94396150332256["mkcontainer.MkContainer"]
94396150626816["mknode.MkNode"]
94396150902384["node.Node"]
140181802719712["builtins.object"]
94396149501424 --> 94396151690688
94396150535680 --> 94396149501424
94396150332256 --> 94396150535680
94396150626816 --> 94396150332256
94396150902384 --> 94396150626816
140181802719712 --> 94396150902384
/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 }}
"""