MkClassDiagram
Node to display the class hierarchy of a class. Supports multiple modes.¶
Example: Baseclass diagram¶
graph TD
94854583320992["mkclassdiagram.MkClassDiagram"]
94854574620240["mkdiagram.MkDiagram"]
94854582908560["mkcode.MkCode"]
94854582919984["mkcontainer.MkContainer"]
94854582916880["mknode.MkNode"]
94854582838576["node.Node"]
140544995341632["builtins.object"]
94854574620240 --> 94854583320992
94854582908560 --> 94854574620240
94854582919984 --> 94854582908560
94854582916880 --> 94854582919984
94854582838576 --> 94854582916880
140544995341632 --> 94854582838576
```` mermaid
graph TD
94854583320992["mkclassdiagram.MkClassDiagram"]
94854574620240["mkdiagram.MkDiagram"]
94854582908560["mkcode.MkCode"]
94854582919984["mkcontainer.MkContainer"]
94854582916880["mknode.MkNode"]
94854582838576["node.Node"]
140544995341632["builtins.object"]
94854574620240 --> 94854583320992
94854582908560 --> 94854574620240
94854582919984 --> 94854582908560
94854582916880 --> 94854582919984
94854582838576 --> 94854582916880
140544995341632 --> 94854582838576
````
<pre class="mermaid"><code>graph TD
94854583320992["mkclassdiagram.MkClassDiagram"]
94854574620240["mkdiagram.MkDiagram"]
94854582908560["mkcode.MkCode"]
94854582919984["mkcontainer.MkContainer"]
94854582916880["mknode.MkNode"]
94854582838576["node.Node"]
140544995341632["builtins.object"]
94854574620240 --> 94854583320992
94854582908560 --> 94854574620240
94854582919984 --> 94854582908560
94854582916880 --> 94854582919984
94854582838576 --> 94854582916880
140544995341632 --> 94854582838576</code></pre>
Example: Subclass diagram¶
graph LR
94854582919984["mkcontainer.MkContainer"]
94854582920960["mkblock.MkBlock"]
94854582922720["mkhtmlblock.MkHtmlBlock"]
94854582997696["mkdetailsblock.MkDetailsBlock"]
94854583008800["mktabs.MkTabBlock"]
94854582722240["mkadmonition.MkAdmonition"]
94854582723216["mkblockquote.MkBlockQuote"]
94854582908560["mkcode.MkCode"]
94854574620240["mkdiagram.MkDiagram"]
94854583320992["mkclassdiagram.MkClassDiagram"]
94854583661264["mkpipdeptree.MkPipDepTree"]
94854583229712["mktreeview.MkTreeView"]
94854582782240["mktemplate.MkTemplate"]
94854582994144["mkclidoc.MkCliDoc"]
94854583051152["mkmaterialbadge.MkMaterialBadge"]
94854582949968["mkimagecompare.MkImageCompare"]
94854582959280["mkimageslideshow.MkImageSlideshow"]
94854583028160["mkiframe.MkIFrame"]
94854583134784["mkcard.MkCard"]
94854583277136["mkinstallguide.MkInstallGuide"]
94854582890320["mkcodeofconduct.MkCodeOfConduct"]
94854583571872["mkcommitconventions.MkCommitConventions"]
94854583588448["mkpullrequestguidelines.MkPullRequestGuidelines"]
94854583585120["mkdevenvsetup.MkDevEnvSetup"]
94854583312576["mkdevtools.MkDevTools"]
94854583324832["mkreprrawrendered.MkReprRawRendered"]
94854583242048["mkcommandoutput.MkCommandOutput"]
94854582944528["mkcommentedcode.MkCommentedCode"]
94854583234560["mkconfigsetting.MkConfigSetting"]
94854583071760["mkpluginflow.MkPluginFlow"]
94854582943200["mklist.MkList"]
94854583040896["mkbasetable.MkBaseTable"]
94854583014896["mktable.MkTable"]
94854583012912["mkhtmltable.MkHtmlTable"]
94854583004688["mktabs.MkTab"]
94854583210752["mktabcontainer.MkTabContainer"]
94854583032400["mktabbedblocks.MkTabbedBlocks"]
94854574622784["mktabbed.MkTabbed"]
94854583031360["mkcritic.MkCritic"]
94854583023072["mkannotations.MkAnnotation"]
94854583133024["mkannotations.MkAnnotations"]
94854583254768["mkfootnotes.MkFootNote"]
94854583025616["mkfootnotes.MkFootNotes"]
94854583304304["mkdefinitionlist.MkDefinition"]
94854583305280["mkdefinitionlist.MkDefinitionList"]
94854583193984["mkpage.MkPage"]
94854583213472["mktemplatepage.MkTemplatePage"]
94854583214448["mkclasspage.MkClassPage"]
94854583352048["mkmodulepage.MkModulePage"]
94854582839552["mkshowcase.MkShowcase"]
94854583196528["mkspeechbubble.MkSpeechBubble"]
94854583199856["mktasklist.MkTask"]
94854583201616["mktasklist.MkTaskList"]
94854583400480["mktimeline.MkTimeline"]
94854583219600["mkshields.MkShields"]
94854583574032["mkmetadatabadges.MkMetadataBadges"]
94854582919984 --> 94854582920960
94854582920960 --> 94854582922720
94854582920960 --> 94854582997696
94854582920960 --> 94854583008800
94854582919984 --> 94854582722240
94854582919984 --> 94854582723216
94854582919984 --> 94854582908560
94854582908560 --> 94854574620240
94854574620240 --> 94854583320992
94854574620240 --> 94854583661264
94854582908560 --> 94854583229712
94854582919984 --> 94854582782240
94854582782240 --> 94854582994144
94854582782240 --> 94854583051152
94854582782240 --> 94854582949968
94854582782240 --> 94854582959280
94854582782240 --> 94854583028160
94854582782240 --> 94854583134784
94854582782240 --> 94854583277136
94854582782240 --> 94854582890320
94854582782240 --> 94854583571872
94854582782240 --> 94854583588448
94854582782240 --> 94854583585120
94854582782240 --> 94854583312576
94854582782240 --> 94854583324832
94854582782240 --> 94854583242048
94854582782240 --> 94854582944528
94854582782240 --> 94854583234560
94854582782240 --> 94854583071760
94854582919984 --> 94854582943200
94854582919984 --> 94854583040896
94854583040896 --> 94854583014896
94854583040896 --> 94854583012912
94854582919984 --> 94854583004688
94854582919984 --> 94854583210752
94854583210752 --> 94854583032400
94854583210752 --> 94854574622784
94854582919984 --> 94854583031360
94854582919984 --> 94854583023072
94854582919984 --> 94854583133024
94854582919984 --> 94854583254768
94854582919984 --> 94854583025616
94854582919984 --> 94854583304304
94854582919984 --> 94854583305280
94854582919984 --> 94854583193984
94854583193984 --> 94854583213472
94854583213472 --> 94854583214448
94854583213472 --> 94854583352048
94854582919984 --> 94854582839552
94854582919984 --> 94854583196528
94854582919984 --> 94854583199856
94854582919984 --> 94854583201616
94854582919984 --> 94854583400480
94854582919984 --> 94854583219600
94854582919984 --> 94854583574032
```` mermaid
graph LR
94854582919984["mkcontainer.MkContainer"]
94854582920960["mkblock.MkBlock"]
94854582922720["mkhtmlblock.MkHtmlBlock"]
94854582997696["mkdetailsblock.MkDetailsBlock"]
94854583008800["mktabs.MkTabBlock"]
94854582722240["mkadmonition.MkAdmonition"]
94854582723216["mkblockquote.MkBlockQuote"]
94854582908560["mkcode.MkCode"]
94854574620240["mkdiagram.MkDiagram"]
94854583320992["mkclassdiagram.MkClassDiagram"]
94854583661264["mkpipdeptree.MkPipDepTree"]
94854583229712["mktreeview.MkTreeView"]
94854582782240["mktemplate.MkTemplate"]
94854582994144["mkclidoc.MkCliDoc"]
94854583051152["mkmaterialbadge.MkMaterialBadge"]
94854582949968["mkimagecompare.MkImageCompare"]
94854582959280["mkimageslideshow.MkImageSlideshow"]
94854583028160["mkiframe.MkIFrame"]
94854583134784["mkcard.MkCard"]
94854583277136["mkinstallguide.MkInstallGuide"]
94854582890320["mkcodeofconduct.MkCodeOfConduct"]
94854583571872["mkcommitconventions.MkCommitConventions"]
94854583588448["mkpullrequestguidelines.MkPullRequestGuidelines"]
94854583585120["mkdevenvsetup.MkDevEnvSetup"]
94854583312576["mkdevtools.MkDevTools"]
94854583324832["mkreprrawrendered.MkReprRawRendered"]
94854583242048["mkcommandoutput.MkCommandOutput"]
94854582944528["mkcommentedcode.MkCommentedCode"]
94854583234560["mkconfigsetting.MkConfigSetting"]
94854583071760["mkpluginflow.MkPluginFlow"]
94854582943200["mklist.MkList"]
94854583040896["mkbasetable.MkBaseTable"]
94854583014896["mktable.MkTable"]
94854583012912["mkhtmltable.MkHtmlTable"]
94854583004688["mktabs.MkTab"]
94854583210752["mktabcontainer.MkTabContainer"]
94854583032400["mktabbedblocks.MkTabbedBlocks"]
94854574622784["mktabbed.MkTabbed"]
94854583031360["mkcritic.MkCritic"]
94854583023072["mkannotations.MkAnnotation"]
94854583133024["mkannotations.MkAnnotations"]
94854583254768["mkfootnotes.MkFootNote"]
94854583025616["mkfootnotes.MkFootNotes"]
94854583304304["mkdefinitionlist.MkDefinition"]
94854583305280["mkdefinitionlist.MkDefinitionList"]
94854583193984["mkpage.MkPage"]
94854583213472["mktemplatepage.MkTemplatePage"]
94854583214448["mkclasspage.MkClassPage"]
94854583352048["mkmodulepage.MkModulePage"]
94854582839552["mkshowcase.MkShowcase"]
94854583196528["mkspeechbubble.MkSpeechBubble"]
94854583199856["mktasklist.MkTask"]
94854583201616["mktasklist.MkTaskList"]
94854583400480["mktimeline.MkTimeline"]
94854583219600["mkshields.MkShields"]
94854583574032["mkmetadatabadges.MkMetadataBadges"]
94854582919984 --> 94854582920960
94854582920960 --> 94854582922720
94854582920960 --> 94854582997696
94854582920960 --> 94854583008800
94854582919984 --> 94854582722240
94854582919984 --> 94854582723216
94854582919984 --> 94854582908560
94854582908560 --> 94854574620240
94854574620240 --> 94854583320992
94854574620240 --> 94854583661264
94854582908560 --> 94854583229712
94854582919984 --> 94854582782240
94854582782240 --> 94854582994144
94854582782240 --> 94854583051152
94854582782240 --> 94854582949968
94854582782240 --> 94854582959280
94854582782240 --> 94854583028160
94854582782240 --> 94854583134784
94854582782240 --> 94854583277136
94854582782240 --> 94854582890320
94854582782240 --> 94854583571872
94854582782240 --> 94854583588448
94854582782240 --> 94854583585120
94854582782240 --> 94854583312576
94854582782240 --> 94854583324832
94854582782240 --> 94854583242048
94854582782240 --> 94854582944528
94854582782240 --> 94854583234560
94854582782240 --> 94854583071760
94854582919984 --> 94854582943200
94854582919984 --> 94854583040896
94854583040896 --> 94854583014896
94854583040896 --> 94854583012912
94854582919984 --> 94854583004688
94854582919984 --> 94854583210752
94854583210752 --> 94854583032400
94854583210752 --> 94854574622784
94854582919984 --> 94854583031360
94854582919984 --> 94854583023072
94854582919984 --> 94854583133024
94854582919984 --> 94854583254768
94854582919984 --> 94854583025616
94854582919984 --> 94854583304304
94854582919984 --> 94854583305280
94854582919984 --> 94854583193984
94854583193984 --> 94854583213472
94854583213472 --> 94854583214448
94854583213472 --> 94854583352048
94854582919984 --> 94854582839552
94854582919984 --> 94854583196528
94854582919984 --> 94854583199856
94854582919984 --> 94854583201616
94854582919984 --> 94854583400480
94854582919984 --> 94854583219600
94854582919984 --> 94854583574032
````
<pre class="mermaid"><code>graph LR
94854582919984["mkcontainer.MkContainer"]
94854582920960["mkblock.MkBlock"]
94854582922720["mkhtmlblock.MkHtmlBlock"]
94854582997696["mkdetailsblock.MkDetailsBlock"]
94854583008800["mktabs.MkTabBlock"]
94854582722240["mkadmonition.MkAdmonition"]
94854582723216["mkblockquote.MkBlockQuote"]
94854582908560["mkcode.MkCode"]
94854574620240["mkdiagram.MkDiagram"]
94854583320992["mkclassdiagram.MkClassDiagram"]
94854583661264["mkpipdeptree.MkPipDepTree"]
94854583229712["mktreeview.MkTreeView"]
94854582782240["mktemplate.MkTemplate"]
94854582994144["mkclidoc.MkCliDoc"]
94854583051152["mkmaterialbadge.MkMaterialBadge"]
94854582949968["mkimagecompare.MkImageCompare"]
94854582959280["mkimageslideshow.MkImageSlideshow"]
94854583028160["mkiframe.MkIFrame"]
94854583134784["mkcard.MkCard"]
94854583277136["mkinstallguide.MkInstallGuide"]
94854582890320["mkcodeofconduct.MkCodeOfConduct"]
94854583571872["mkcommitconventions.MkCommitConventions"]
94854583588448["mkpullrequestguidelines.MkPullRequestGuidelines"]
94854583585120["mkdevenvsetup.MkDevEnvSetup"]
94854583312576["mkdevtools.MkDevTools"]
94854583324832["mkreprrawrendered.MkReprRawRendered"]
94854583242048["mkcommandoutput.MkCommandOutput"]
94854582944528["mkcommentedcode.MkCommentedCode"]
94854583234560["mkconfigsetting.MkConfigSetting"]
94854583071760["mkpluginflow.MkPluginFlow"]
94854582943200["mklist.MkList"]
94854583040896["mkbasetable.MkBaseTable"]
94854583014896["mktable.MkTable"]
94854583012912["mkhtmltable.MkHtmlTable"]
94854583004688["mktabs.MkTab"]
94854583210752["mktabcontainer.MkTabContainer"]
94854583032400["mktabbedblocks.MkTabbedBlocks"]
94854574622784["mktabbed.MkTabbed"]
94854583031360["mkcritic.MkCritic"]
94854583023072["mkannotations.MkAnnotation"]
94854583133024["mkannotations.MkAnnotations"]
94854583254768["mkfootnotes.MkFootNote"]
94854583025616["mkfootnotes.MkFootNotes"]
94854583304304["mkdefinitionlist.MkDefinition"]
94854583305280["mkdefinitionlist.MkDefinitionList"]
94854583193984["mkpage.MkPage"]
94854583213472["mktemplatepage.MkTemplatePage"]
94854583214448["mkclasspage.MkClassPage"]
94854583352048["mkmodulepage.MkModulePage"]
94854582839552["mkshowcase.MkShowcase"]
94854583196528["mkspeechbubble.MkSpeechBubble"]
94854583199856["mktasklist.MkTask"]
94854583201616["mktasklist.MkTaskList"]
94854583400480["mktimeline.MkTimeline"]
94854583219600["mkshields.MkShields"]
94854583574032["mkmetadatabadges.MkMetadataBadges"]
94854582919984 --> 94854582920960
94854582920960 --> 94854582922720
94854582920960 --> 94854582997696
94854582920960 --> 94854583008800
94854582919984 --> 94854582722240
94854582919984 --> 94854582723216
94854582919984 --> 94854582908560
94854582908560 --> 94854574620240
94854574620240 --> 94854583320992
94854574620240 --> 94854583661264
94854582908560 --> 94854583229712
94854582919984 --> 94854582782240
94854582782240 --> 94854582994144
94854582782240 --> 94854583051152
94854582782240 --> 94854582949968
94854582782240 --> 94854582959280
94854582782240 --> 94854583028160
94854582782240 --> 94854583134784
94854582782240 --> 94854583277136
94854582782240 --> 94854582890320
94854582782240 --> 94854583571872
94854582782240 --> 94854583588448
94854582782240 --> 94854583585120
94854582782240 --> 94854583312576
94854582782240 --> 94854583324832
94854582782240 --> 94854583242048
94854582782240 --> 94854582944528
94854582782240 --> 94854583234560
94854582782240 --> 94854583071760
94854582919984 --> 94854582943200
94854582919984 --> 94854583040896
94854583040896 --> 94854583014896
94854583040896 --> 94854583012912
94854582919984 --> 94854583004688
94854582919984 --> 94854583210752
94854583210752 --> 94854583032400
94854583210752 --> 94854574622784
94854582919984 --> 94854583031360
94854582919984 --> 94854583023072
94854582919984 --> 94854583133024
94854582919984 --> 94854583254768
94854582919984 --> 94854583025616
94854582919984 --> 94854583304304
94854582919984 --> 94854583305280
94854582919984 --> 94854583193984
94854583193984 --> 94854583213472
94854583213472 --> 94854583214448
94854583213472 --> 94854583352048
94854582919984 --> 94854582839552
94854582919984 --> 94854583196528
94854582919984 --> 94854583199856
94854582919984 --> 94854583201616
94854582919984 --> 94854583400480
94854582919984 --> 94854583219600
94854582919984 --> 94854583574032</code></pre>
Example: MRO diagram¶
graph TD
94854583014896["mktable.MkTable"]
94854583040896["mkbasetable.MkBaseTable"]
94854582919984["mkcontainer.MkContainer"]
94854582916880["mknode.MkNode"]
94854582838576["node.Node"]
140544995341632["builtins.object"]
94854583014896 --> 94854583040896
94854583040896 --> 94854582919984
94854582919984 --> 94854582916880
94854582916880 --> 94854582838576
94854582838576 --> 140544995341632
```` mermaid
graph TD
94854583014896["mktable.MkTable"]
94854583040896["mkbasetable.MkBaseTable"]
94854582919984["mkcontainer.MkContainer"]
94854582916880["mknode.MkNode"]
94854582838576["node.Node"]
140544995341632["builtins.object"]
94854583014896 --> 94854583040896
94854583040896 --> 94854582919984
94854582919984 --> 94854582916880
94854582916880 --> 94854582838576
94854582838576 --> 140544995341632
````
<pre class="mermaid"><code>graph TD
94854583014896["mktable.MkTable"]
94854583040896["mkbasetable.MkBaseTable"]
94854582919984["mkcontainer.MkContainer"]
94854582916880["mknode.MkNode"]
94854582838576["node.Node"]
140544995341632["builtins.object"]
94854583014896 --> 94854583040896
94854583040896 --> 94854582919984
94854582919984 --> 94854582916880
94854582916880 --> 94854582838576
94854582838576 --> 140544995341632</code></pre>
Bases: MkDiagram
__init__ ¶
__init__(
klass: type | str | griffe.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
94854583320992["mkclassdiagram.MkClassDiagram"]
94854574620240["mkdiagram.MkDiagram"]
94854582908560["mkcode.MkCode"]
94854582919984["mkcontainer.MkContainer"]
94854582916880["mknode.MkNode"]
94854582838576["node.Node"]
140544995341632["builtins.object"]
94854574620240 --> 94854583320992
94854582908560 --> 94854574620240
94854582919984 --> 94854582908560
94854582916880 --> 94854582919984
94854582838576 --> 94854582916880
140544995341632 --> 94854582838576
/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 }}
"""