File size: 897 Bytes
5090883
e7a385f
5090883
 
fb3ff6c
e7a385f
 
 
 
52e1974
fb3ff6c
5090883
90efa7a
 
fb3ff6c
90efa7a
 
 
 
 
 
 
 
fb3ff6c
 
5090883
90efa7a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import gradio as gr
import base64

def render_mermaid(mermaid_code):
    # Create PNG output from the Mermaid code
    graphbytes = mermaid_code.encode("utf8")
    base64_bytes = base64.urlsafe_b64encode(graphbytes)
    base64_string = base64_bytes.decode("ascii")
    png_url = "https://mermaid.ink/img/" + base64_string

    return png_url

with gr.Blocks(theme=gr.themes.Citrus()) as mrender:
    gr.Markdown("# Mermaid Diagram Renderer")
    gr.Markdown("Input your Mermaid diagram code to generate a PNG image.")
    
    with gr.Row():
        with gr.Column():
            mermaid_input = gr.Textbox(label="Mermaid Code", placeholder="Enter your Mermaid diagram code here...")
            submit_btn = gr.Button("Render")
        with gr.Column():
            image_output = gr.Image()

    submit_btn.click(fn=render_mermaid, inputs=mermaid_input, outputs=image_output)


mrender.launch()