Base nodes

Node Docstrings Markdown extensions
MkNode Base class for everything which can be expressed as Markup.

The class inherits from Node. The idea is that starting from the
root nav (aka Docs) down to nested Markup blocks, the whole project can be represented
by one tree.

MkNode is the base class for all nodes. We dont instanciate it directly.
All subclasses carry an MkAnnotations node (except the MkAnnotations node itself)
They can also pass an indent as well as a shift_header_levels keyword argument
in order to modify the resulting markdown.
MkText Class for any Markup text.

All classes inheriting from MkNode can get converted to this Type.
MkHeader Super simple header node.
MkCompactAdmonition Compact admonition info box.
MkCritic MkCritic block. pymdownx.critic
MkLink A simple Link (with optional icon and option to show up as a button).

If no title is given, the URL is used as a title.
MkKeys Node to display Keyboard keys.

Mostly used to explain shortcuts / commands for the keyboard.
pymdownx.keys
MkProgressBar Node to display a CSS-based progress bar. pymdownx.progressbar
MkSpeechBubble Node for showing a css-based speech bubble.
MkTemplate Node representing a jinja template.

Renders templates with the context-aware MkNodes jinja environment.
Rendered nodes become virtual children of this node.
Additional variables can be passed to the render process.
MkLlm Node for LLM-based text generation.
Page info
Code for this section
mknodes.manual.nodes_section._
@nav.route.nav("Base nodes")
def _(nav: mk.MkNav):
    page = nav.add_page(is_index=True, hide="toc")
    page += create_section_for_nodes(nav, BASE_NODES)
    page.created_by = create_section_for_nodes
Resources
Resources(css=[],
          markdown_extensions={'attr_list': {},
                               'md_in_html': {},
                               'pymdownx.emoji': {'emoji_generator': <function to_svg at 0x7fd7a6931800>,
                                                  'emoji_index': <function twemoji at 0x7fd7a69316c0>},
                               'pymdownx.magiclink': {'repo': 'mknodes',
                                                      'repo_url_shorthand': True,
                                                      'user': 'phil65'},
                               'tables': {}},
          plugins=[],
          js=[],
          assets=[],
          packages=[])
Metadata
created:
  source_filename: /home/runner/work/mknodes/mknodes/mknodes/manual/nodes_section.py
  source_function: _
  source_line_no: 124
hide:
- toc
template: SUMMARY.html
title: Base nodes