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()