Skip to content

Mermaid

Source code for examples/markdown/mermaid.py

Tip: paste this code into an empty cell, and the marimo editor will create cells for you

# /// script
# requires-python = ">=3.11"
# dependencies = [
#     "marimo",
# ]
# ///

import marimo

__generated_with = "0.8.19"
app = marimo.App()


@app.cell
def __():
    import marimo as mo
    return (mo,)


@app.cell
def __(mo):
    mo.mermaid(
        """
    graph TD
        A[Enter Chart Definition] --> B(Preview)
        B --> C{decide}
        C --> D[Keep]
        C --> E[Edit Definition]
        E --> B
        D --> F[Save Image and Code]
        F --> B
    """
    ).center()
    return


@app.cell
def __(mo):
    graph = mo.ui.code_editor(
        value="""sequenceDiagram
        Alice->>John: Hello John, how are you?
        John-->>Alice: Great!
        Alice-)John: See you later!""",
        language="mermaid",
        label="Mermaid editor",
    )
    graph
    return (graph,)


@app.cell
def __(graph, mo):
    mo.md(
        f"""
        You can render mermaid directly inside `mo.md`. Using

        `mo.mermaid()`

        {mo.mermaid(graph.value)}
        """
    )
    return


if __name__ == "__main__":
    app.run()