all2md.renderers
AST renderers for converting documents to various output formats.
This package provides renderers for converting the unified AST representation to different output formats. Renderers are registered dynamically via the converter registry system, enabling lazy loading and proper dependency handling.
Available renderers include: - MarkdownRenderer: Render to Markdown text (always available) - MediaWikiRenderer: Render to MediaWiki markup (always available) - PlainTextRenderer: Render to plain text (always available) - HtmlRenderer: Render to HTML - DocxRenderer: Render to Microsoft Word .docx (requires python-docx) - PdfRenderer: Render to PDF (requires reportlab) - EpubRenderer: Render to EPUB ebook format (requires ebooklib) - PptxRenderer: Render to PowerPoint .pptx (requires python-pptx) - AsciiDocRenderer: Render to AsciiDoc (always available) - LatexRenderer: Render to LaTeX (always available) - RestructuredTextRenderer: Render to reStructuredText (always available) - JinjaRenderer: Render using custom Jinja2 templates (requires jinja2)
Renderers with optional dependencies are loaded on-demand via the registry. Use all2md.converter_registry.registry.get_renderer(format_name) to dynamically load a renderer class with automatic dependency checking.
Examples
Convert AST to Markdown:
>>> from all2md.ast import Document, Heading, Text
>>> from all2md.renderers import MarkdownRenderer
>>> from all2md.options import MarkdownRendererOptions
>>> doc = Document(children=[
... Heading(level=1, content=[Text(content="Title")])
... ])
>>> renderer = MarkdownRenderer(MarkdownRendererOptions())
>>> markdown = renderer.render_to_string(doc)
Convert AST to HTML (with dynamic loading):
>>> from all2md.options.html import HtmlRendererOptions >>> from all2md.converter_registry import registry
>>> HtmlRenderer = registry.get_renderer("html")
>>> renderer = HtmlRenderer(HtmlRendererOptions(standalone=True))
>>> html = renderer.render_to_string(doc)
Convert AST to DOCX (with dynamic loading):
>>> from all2md.options.docx import DocxRendererOptions >>> from all2md.converter_registry import registry
>>> DocxRenderer = registry.get_renderer("docx")
>>> renderer = DocxRenderer(DocxRendererOptions())
>>> renderer.render(doc, "output.docx")
- class all2md.renderers.BaseRenderer
Bases:
ABCAbstract base class for all AST renderers.
All renderers in the all2md library must inherit from this class and implement the render() method. This ensures a consistent interface for converting the unified AST representation into various output formats.
- Parameters:
options (BaseRendererOptions or None, default = None) – Format-specific rendering options
Examples
Creating a custom renderer:
>>> from all2md.options.base import BaseRendererOptions >>> from all2md.renderers.base import BaseRenderer >>> from all2md.ast import Document >>> >>> class MyCustomRenderer(BaseRenderer): ... def render(self, doc, output): ... # Custom rendering logic here ... pass ... ... def render_to_string(self, doc): ... # Return string representation ... return "rendered output"
Initialize the renderer with optional configuration.
- Parameters:
options (BaseRendererOptions or None, default = None) – Format-specific rendering options. If None, default options will be used.
- __init__(options: BaseRendererOptions | None = None)
Initialize the renderer with optional configuration.
- Parameters:
options (BaseRendererOptions or None, default = None) – Format-specific rendering options. If None, default options will be used.
- abstractmethod render(doc: Document, output: str | Path | IO[bytes]) None
Render the AST to the specified output format.
This method must be implemented by all renderer subclasses. It should write the rendered output to a file or file-like object.
- Parameters:
doc (Document) – AST Document node to render
output (str, Path, or IO[bytes]) – Output destination. Can be: - File path (str or Path) - File-like object in binary mode
- Raises:
RenderingError – If rendering fails
IOError – If output cannot be written
- render_to_string(doc: Document) str
Render the AST to a string (if applicable).
This method is optional and should be implemented by renderers that produce text-based output formats.
- Parameters:
doc (Document) – AST Document node to render
- Returns:
Rendered document as a string
- Return type:
str
- Raises:
NotImplementedError – If the renderer does not support string output
- render_to_bytes(doc: Document) bytes
Render the AST to bytes (if applicable).
This method is provided as a default implementation for binary renderers. It creates a BytesIO buffer, calls render() with it, and returns the bytes.
Binary renderers can use this default implementation if their render() method properly supports IO[bytes] output. Alternatively, they can override this method for custom behavior.
- Parameters:
doc (Document) – AST Document node to render
- Returns:
Rendered document as bytes
- Return type:
bytes
- Raises:
NotImplementedError – If the renderer does not support binary output
Notes
The returned bytes can be used in various ways: - Write to file: Path(“out.ext”).write_bytes(result) - Pass to IO functions: BytesIO(result) - Send over network or process further
Examples
- Default usage (if render() supports IO[bytes]):
>>> from all2md.renderers.docx import DocxRenderer >>> from all2md.ast import Document, Paragraph, Text >>> doc = Document(children=[Paragraph(content=[Text(content="test")])]) >>> renderer = DocxRenderer() >>> content = renderer.render_to_bytes(doc) >>> assert content.startswith(b'PK') # DOCX is a ZIP file
- static write_text_output(text: str, output: str | Path | IO[bytes] | IO[str]) None
Write text output to file or IO stream.
Helper method to handle text output writing for text-based renderers. Centralizes the logic for writing to different output destinations, automatically handling both text and binary streams.
- Parameters:
text (str) – Rendered text to write
output (str, Path, IO[bytes], or IO[str]) – Output destination. Can be: - File path (str or Path) - File-like object in binary mode (IO[bytes]) - File-like object in text mode (IO[str])
- Raises:
IOError – If output cannot be written
TypeError – If output type is not supported
Examples
- Write to file:
>>> from all2md.renderers.base import BaseRenderer >>> BaseRenderer.write_text_output("# Hello", "output.md")
- Write to BytesIO:
>>> from io import BytesIO >>> buffer = BytesIO() >>> BaseRenderer.write_text_output("# Hello", buffer) >>> print(buffer.getvalue()) b'# Hello'
- Write to StringIO:
>>> from io import StringIO >>> buffer = StringIO() >>> BaseRenderer.write_text_output("# Hello", buffer) >>> print(buffer.getvalue()) # Hello
- class all2md.renderers.InlineContentMixin
Bases:
objectMixin providing inline content rendering pattern for text-based renderers.
This mixin provides the _render_inline_content() method, which is a common pattern used by text-based renderers to render inline nodes (like emphasis, strong, links) to a string by temporarily capturing their output.
The implementing class must have: - A _output attribute (list[str]) for accumulating output - Visitor methods that append to _output
Examples
Using the mixin in a renderer:
>>> from all2md.renderers.base import BaseRenderer, InlineContentMixin >>> from all2md.ast.visitors import NodeVisitor >>> from all2md.options.base import BaseRendererOptions >>> >>> class MyRenderer(NodeVisitor, InlineContentMixin, BaseRenderer): ... def __init__(self, options=None): ... BaseRenderer.__init__(self, options or BaseRendererOptions()) ... self._output = [] ... ... def visit_emphasis(self, node): ... content = self._render_inline_content(node.content) ... self._output.append(f"*{content}*")
- class all2md.renderers.IpynbRenderer
Bases:
BaseRendererRender an all2md AST document into a Jupyter notebook (ipynb).
Initialize the Jupyter notebook renderer.
- Parameters:
options (IpynbRendererOptions or None, optional) – Renderer options for Jupyter notebooks
- __init__(options: IpynbRendererOptions | None = None)
Initialize the Jupyter notebook renderer.
- Parameters:
options (IpynbRendererOptions or None, optional) – Renderer options for Jupyter notebooks
- render(doc: Document, output: str | Path | IO[bytes] | IO[str]) None
Render the AST document to a file path or binary stream.
- render_to_string(doc: Document) str
Render the AST document to an in-memory JSON string.
- visit_comment(node: Comment) None
Render a Comment node (no-op, handled by markdown renderer).
- Parameters:
node (Comment) – Comment to render
Notes
Comments are handled by the MarkdownRenderer which is used to render markdown cell content. This method exists only to satisfy the visitor pattern but is never called during normal rendering flow.
- visit_comment_inline(node: CommentInline) None
Render a CommentInline node (no-op, handled by markdown renderer).
- Parameters:
node (CommentInline) – Inline comment to render
Notes
Inline comments are handled by the MarkdownRenderer which is used to render markdown cell content. This method exists only to satisfy the visitor pattern but is never called during normal rendering flow.
- class all2md.renderers.JinjaRenderer
Bases:
BaseRendererRender AST using Jinja2 templates.
This renderer provides maximum flexibility by allowing users to define custom output formats using Jinja2 templates. Templates have full access to the document AST and can use helper filters and functions for common operations.
- Parameters:
options (JinjaRendererOptions or None, default = None) – Jinja2 rendering options including template path and configuration
Examples
- Render using a template file:
>>> from all2md.renderers.jinja import JinjaRenderer >>> from all2md.options import JinjaRendererOptions >>> options = JinjaRendererOptions( ... template_file="templates/docbook.xml.jinja2", ... escape_strategy="xml" ... ) >>> renderer = JinjaRenderer(options) >>> output = renderer.render_to_string(document)
- Render using an inline template:
>>> template = "Title: {{ metadata.title }}" >>> options = JinjaRendererOptions(template_string=template) >>> renderer = JinjaRenderer(options) >>> output = renderer.render_to_string(document)
Initialize the Jinja2 renderer with options.
- __init__(options: JinjaRendererOptions | None = None)
Initialize the Jinja2 renderer with options.
- class all2md.renderers.MarkdownRenderer
Bases:
NodeVisitor,InlineContentMixin,BaseRendererRender AST nodes to markdown text.
This class implements the visitor pattern to traverse an AST and generate markdown output. It supports multiple markdown flavors and configurable rendering options.
- Parameters:
options (MarkdownOptions or None, default = None) – Markdown formatting options (shared with parsers)
Examples
Basic usage:
>>> from all2md.ast import Document, Heading, Text >>> from all2md.options import MarkdownRendererOptions >>> from all2md.renderers.markdown import MarkdownRenderer >>> doc = Document(children=[ ... Heading(level=1, content=[Text(content="Title")]) ... ]) >>> options = MarkdownRendererOptions(flavor="gfm") >>> renderer = MarkdownRenderer(options) >>> markdown = renderer.render_to_string(doc) >>> print(markdown) # Title
Initialize the Markdown renderer with options.
- __init__(options: MarkdownRendererOptions | None = None)
Initialize the Markdown renderer with options.
- render_to_string(document: Document) str
Render a document AST to markdown string.
- Parameters:
document (Document) – The document node to render
- Returns:
Markdown text
- Return type:
str
- visit_document(node: Document) None
Render a Document node.
- Parameters:
node (Document) – Document to render
- visit_heading(node: Heading) None
Render a Heading node.
- Parameters:
node (Heading) – Heading to render
- visit_paragraph(node: Paragraph) None
Render a Paragraph node.
- Parameters:
node (Paragraph) – Paragraph to render
- visit_code_block(node: CodeBlock) None
Render a CodeBlock node.
- Parameters:
node (CodeBlock) – Code block to render
- visit_block_quote(node: BlockQuote) None
Render a BlockQuote node.
Handles three cases:
A Material for MkDocs admonition (
source_format == "mkdocs") rendered to a flavor that supports admonitions becomes a native!!!/???block.Any other admonition (RST, or mkdocs on a non-supporting flavor) degrades to a quote with a bold label (e.g.
> **Note:** ...).A plain block quote is quoted as usual.
- Parameters:
node (BlockQuote) – Block quote to render
- visit_list_item(node: ListItem) None
Render a ListItem node.
- Parameters:
node (ListItem) – List item to render
- visit_table_row(node: TableRow) None
Render a TableRow node.
- Parameters:
node (TableRow) – Table row to render
- visit_table_cell(node: TableCell) None
Render a TableCell node.
- Parameters:
node (TableCell) – Table cell to render
- visit_thematic_break(node: ThematicBreak) None
Render a ThematicBreak node.
- Parameters:
node (ThematicBreak) – Thematic break to render
- visit_html_block(node: HTMLBlock) None
Render an HTMLBlock node.
- Parameters:
node (HTMLBlock) – HTML block to render
- visit_comment(node: Comment) None
Render a Comment node (block-level).
- Parameters:
node (Comment) – Comment block to render
- visit_emphasis(node: Emphasis) None
Render an Emphasis node.
- Parameters:
node (Emphasis) – Emphasis to render
- visit_line_break(node: LineBreak) None
Render a LineBreak node.
- Parameters:
node (LineBreak) – Line break to render
- visit_strikethrough(node: Strikethrough) None
Render a Strikethrough node.
- Parameters:
node (Strikethrough) – Strikethrough to render
- visit_mark(node: Mark) None
Render a Mark (highlight) node.
Emits
==text==on flavors that support highlighting; otherwise falls back according tounsupported_inline_mode(plain text, forced==syntax, or an HTML<mark>tag).- Parameters:
node (Mark) – Mark to render
- visit_underline(node: Underline) None
Render an Underline node.
- Parameters:
node (Underline) – Underline to render
- visit_superscript(node: Superscript) None
Render a Superscript node.
- Parameters:
node (Superscript) – Superscript to render
- visit_subscript(node: Subscript) None
Render a Subscript node.
- Parameters:
node (Subscript) – Subscript to render
- visit_html_inline(node: HTMLInline) None
Render an HTMLInline node.
- Parameters:
node (HTMLInline) – Inline HTML to render
- visit_comment_inline(node: CommentInline) None
Render a CommentInline node (inline).
- Parameters:
node (CommentInline) – Inline comment to render
- visit_footnote_reference(node: FootnoteReference) None
Render a FootnoteReference node.
- Parameters:
node (FootnoteReference) – Footnote reference to render
- visit_math_inline(node: MathInline) None
Render a MathInline node.
- Parameters:
node (MathInline) – Inline math to render
- visit_footnote_definition(node: FootnoteDefinition) None
Render a FootnoteDefinition node.
- Parameters:
node (FootnoteDefinition) – Footnote definition to render
- visit_definition_list(node: DefinitionList) None
Render a DefinitionList node.
- Parameters:
node (DefinitionList) – Definition list to render
- visit_definition_term(node: DefinitionTerm) None
Render a DefinitionTerm node.
- Parameters:
node (DefinitionTerm) – Definition term to render
- visit_definition_description(node: DefinitionDescription) None
Render a DefinitionDescription node.
- Parameters:
node (DefinitionDescription) – Definition description to render
- class all2md.renderers.MediaWikiRenderer
Bases:
NodeVisitor,InlineContentMixin,BaseRendererRender AST nodes to MediaWiki markup text.
This class implements the visitor pattern to traverse an AST and generate MediaWiki output suitable for Wikipedia and other MediaWiki-based wikis.
- Parameters:
options (MediaWikiOptions or None, default = None) – MediaWiki rendering options
Examples
Basic usage:
>>> from all2md.ast import Document, Heading, Text >>> from all2md.renderers.mediawiki import MediaWikiRenderer >>> doc = Document(children=[ ... Heading(level=1, content=[Text(content="Title")]) ... ]) >>> renderer = MediaWikiRenderer() >>> wiki_text = renderer.render_to_string(doc) >>> print(wiki_text) = Title =
Initialize the MediaWiki renderer with options.
- __init__(options: MediaWikiOptions | None = None)
Initialize the MediaWiki renderer with options.
- render_to_string(document: Document) str
Render a document AST to MediaWiki markup string.
- Parameters:
document (Document) – The document node to render
- Returns:
MediaWiki markup text
- Return type:
str
- visit_document(node: Document) None
Render a Document node.
- Parameters:
node (Document) – Document to render
- visit_heading(node: Heading) None
Render a Heading node.
- Parameters:
node (Heading) – Heading to render
- visit_paragraph(node: Paragraph) None
Render a Paragraph node.
- Parameters:
node (Paragraph) – Paragraph to render
- visit_code_block(node: CodeBlock) None
Render a CodeBlock node.
- Parameters:
node (CodeBlock) – Code block to render
- visit_block_quote(node: BlockQuote) None
Render a BlockQuote node.
- Parameters:
node (BlockQuote) – Block quote to render
- visit_list_item(node: ListItem) None
Render a ListItem node.
- Parameters:
node (ListItem) – List item to render
- visit_table_row(node: TableRow) None
Render a TableRow node (handled by visit_table).
- Parameters:
node (TableRow) – Table row to render
- visit_table_cell(node: TableCell) None
Render a TableCell node (handled by visit_table).
- Parameters:
node (TableCell) – Table cell to render
- visit_thematic_break(node: ThematicBreak) None
Render a ThematicBreak node.
- Parameters:
node (ThematicBreak) – Thematic break to render
- visit_html_block(node: HTMLBlock) None
Render an HTMLBlock node.
- Parameters:
node (HTMLBlock) – HTML block to render
- visit_comment(node: Comment) None
Render a Comment node according to comment_mode option.
- Parameters:
node (Comment) – Comment block to render
Notes
Supports multiple rendering modes via comment_mode option: - “html”: Use HTML comment syntax <!– –> (default) - “visible”: Render as visible text - “ignore”: Skip comment entirely
- visit_emphasis(node: Emphasis) None
Render an Emphasis node.
- Parameters:
node (Emphasis) – Emphasis to render
- visit_code(node: Code) None
Render a Code node.
- Parameters:
node (Code) – Code to render
Notes
Code content is HTML-escaped to prevent markup injection and ensure special characters like <, >, and & display correctly.
- visit_image(node: Image) None
Render an Image node.
- Parameters:
node (Image) – Image to render
Notes
MediaWiki image syntax: [[File:filename|options|caption]] - When image_thumb=True and caption_mode is configured, renders with caption - Caption can be derived from alt_text or title metadata - alt= attribute and caption text can be controlled separately via image_caption_mode
- visit_line_break(node: LineBreak) None
Render a LineBreak node.
- Parameters:
node (LineBreak) – Line break to render
- visit_strikethrough(node: Strikethrough) None
Render a Strikethrough node.
- Parameters:
node (Strikethrough) – Strikethrough to render
- visit_underline(node: Underline) None
Render an Underline node.
- Parameters:
node (Underline) – Underline to render
- visit_superscript(node: Superscript) None
Render a Superscript node.
- Parameters:
node (Superscript) – Superscript to render
- visit_subscript(node: Subscript) None
Render a Subscript node.
- Parameters:
node (Subscript) – Subscript to render
- visit_html_inline(node: HTMLInline) None
Render an HTMLInline node.
- Parameters:
node (HTMLInline) – Inline HTML to render
- visit_comment_inline(node: CommentInline) None
Render a CommentInline node according to comment_mode option.
- Parameters:
node (CommentInline) – Inline comment to render
Notes
Supports multiple rendering modes via comment_mode option: - “html”: Use HTML comment syntax <!– –> (default) - “visible”: Render as visible text - “ignore”: Skip comment entirely
- visit_footnote_reference(node: FootnoteReference) None
Render a FootnoteReference node.
- Parameters:
node (FootnoteReference) – Footnote reference to render
- visit_footnote_definition(node: FootnoteDefinition) None
Render a FootnoteDefinition node.
- Parameters:
node (FootnoteDefinition) – Footnote definition to render
- visit_definition_list(node: DefinitionList) None
Render a DefinitionList node.
- Parameters:
node (DefinitionList) – Definition list to render
- visit_definition_term(node: DefinitionTerm) None
Render a DefinitionTerm node (handled by visit_definition_list).
- Parameters:
node (DefinitionTerm) – Definition term to render
- visit_definition_description(node: DefinitionDescription) None
Render a DefinitionDescription node (handled by visit_definition_list).
- Parameters:
node (DefinitionDescription) – Definition description to render
- visit_math_inline(node: MathInline) None
Render a MathInline node.
- Parameters:
node (MathInline) – Inline math to render
- class all2md.renderers.PlainTextRenderer
Bases:
NodeVisitor,InlineContentMixin,BaseRendererRender AST nodes to plain, unformatted text.
This class implements the visitor pattern to traverse an AST and generate plain text output. All formatting is stripped, leaving only the text content. Structural elements like tables and lists are rendered as plain text with simple separators.
- Parameters:
options (PlainTextOptions or None, default = None) – Plain text rendering options
Examples
Basic usage:
>>> from all2md.ast import Document, Heading, Text, Strong >>> from all2md.renderers.plaintext import PlainTextRenderer >>> from all2md.options import PlainTextOptions >>> doc = Document(children=[ ... Heading(level=1, content=[ ... Text(content="Title with "), ... Strong(content=[Text(content="bold")]) ... ]) ... ]) >>> renderer = PlainTextRenderer() >>> text = renderer.render_to_string(doc) >>> print(text) Title with bold
Initialize the plain text renderer with options.
- __init__(options: PlainTextOptions | None = None)
Initialize the plain text renderer with options.
- render_to_string(document: Document) str
Render a document AST to plain text string.
- Parameters:
document (Document) – The document node to render
- Returns:
Plain text output
- Return type:
str
- visit_document(node: Document) None
Render a Document node.
- Parameters:
node (Document) – Document to render
- visit_heading(node: Heading) None
Render a Heading node (extract text only).
- Parameters:
node (Heading) – Heading to render
- visit_paragraph(node: Paragraph) None
Render a Paragraph node.
- Parameters:
node (Paragraph) – Paragraph to render
- visit_code_block(node: CodeBlock) None
Render a CodeBlock node.
- Parameters:
node (CodeBlock) – Code block to render
- visit_block_quote(node: BlockQuote) None
Render a BlockQuote node (extract text only).
- Parameters:
node (BlockQuote) – Block quote to render
- visit_list_item(node: ListItem) None
Render a ListItem node.
- Parameters:
node (ListItem) – List item to render
- visit_table(node: Table) None
Render a Table node as plain text.
- Parameters:
node (Table) – Table to render
- visit_table_row(node: TableRow) None
Render a TableRow node (handled by visit_table).
- Parameters:
node (TableRow) – Table row to render
- visit_table_cell(node: TableCell) None
Render a TableCell node (handled by visit_table).
- Parameters:
node (TableCell) – Table cell to render
- visit_thematic_break(node: ThematicBreak) None
Render a ThematicBreak node (skip in plain text).
- Parameters:
node (ThematicBreak) – Thematic break to render
- visit_html_block(node: HTMLBlock) None
Render an HTMLBlock node (skip HTML in plain text).
- Parameters:
node (HTMLBlock) – HTML block to render
- visit_emphasis(node: Emphasis) None
Render an Emphasis node (extract text only, ignore formatting).
- Parameters:
node (Emphasis) – Emphasis to render
- visit_strong(node: Strong) None
Render a Strong node (extract text only, ignore formatting).
- Parameters:
node (Strong) – Strong to render
- visit_code(node: Code) None
Render a Code node (extract text only).
- Parameters:
node (Code) – Code to render
- visit_link(node: Link) None
Render a Link node (extract text only, ignore URL).
- Parameters:
node (Link) – Link to render
- visit_image(node: Image) None
Render an Image node (use alt text only).
- Parameters:
node (Image) – Image to render
- visit_line_break(node: LineBreak) None
Render a LineBreak node.
- Parameters:
node (LineBreak) – Line break to render
- visit_strikethrough(node: Strikethrough) None
Render a Strikethrough node (extract text only, ignore formatting).
- Parameters:
node (Strikethrough) – Strikethrough to render
- visit_underline(node: Underline) None
Render an Underline node (extract text only, ignore formatting).
- Parameters:
node (Underline) – Underline to render
- visit_superscript(node: Superscript) None
Render a Superscript node (extract text only, ignore formatting).
- Parameters:
node (Superscript) – Superscript to render
- visit_subscript(node: Subscript) None
Render a Subscript node (extract text only, ignore formatting).
- Parameters:
node (Subscript) – Subscript to render
- visit_html_inline(node: HTMLInline) None
Render an HTMLInline node (skip HTML in plain text).
- Parameters:
node (HTMLInline) – Inline HTML to render
- visit_footnote_reference(node: FootnoteReference) None
Render a FootnoteReference node (skip in plain text).
- Parameters:
node (FootnoteReference) – Footnote reference to render
- visit_math_inline(node: MathInline) None
Render a MathInline node (extract text representation).
- Parameters:
node (MathInline) – Inline math to render
- visit_footnote_definition(node: FootnoteDefinition) None
Render a FootnoteDefinition node (skip in plain text).
- Parameters:
node (FootnoteDefinition) – Footnote definition to render
- visit_definition_list(node: DefinitionList) None
Render a DefinitionList node.
- Parameters:
node (DefinitionList) – Definition list to render
- visit_definition_term(node: DefinitionTerm) None
Render a DefinitionTerm node (handled by visit_definition_list).
- Parameters:
node (DefinitionTerm) – Definition term to render
- visit_definition_description(node: DefinitionDescription) None
Render a DefinitionDescription node (handled by visit_definition_list).
- Parameters:
node (DefinitionDescription) – Definition description to render
- visit_math_block(node: MathBlock) None
Render a MathBlock node (extract text representation).
- Parameters:
node (MathBlock) – Math block to render
- visit_comment(node: Comment) None
Render a Comment node according to comment_mode option.
- Parameters:
node (Comment) – Comment to render
Notes
Supports multiple rendering modes via comment_mode option: - “visible”: Render as bracketed text - “ignore”: Skip comment entirely (default)
- visit_comment_inline(node: CommentInline) None
Render a CommentInline node according to comment_mode option.
- Parameters:
node (CommentInline) – Inline comment to render
Notes
Supports multiple rendering modes via comment_mode option: - “visible”: Render as bracketed text - “ignore”: Skip comment entirely (default)
For renderer documentation organized by format category, see Renderers.