Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add mermaid support #414

Open
skrawcz opened this issue Nov 3, 2024 · 1 comment
Open

Add mermaid support #414

skrawcz opened this issue Nov 3, 2024 · 1 comment
Labels

Comments

@skrawcz
Copy link
Contributor

skrawcz commented Nov 3, 2024

Is your feature request related to a problem? Please describe.
Graphviz requires system dependencies. This could prevent users getting a good experience with Burr.

Describe the solution you'd like
Mermaid diagrams I believe require less to get working.

Jupyter support.

Thing to figure out:

  • you still need something to render the mermaid markdown programmatically if someone wants to create a png.
  • github can natively render the mermaid markdown -> so png might not be required (for this initial implementation).
  • I believe npm has a CLI that would be installed to work here - and would require someone to install it for things to work..

Describe alternatives you've considered
N/A

Additional context
Feedback from a user.

@zilto
Copy link
Collaborator

zilto commented Nov 6, 2024

Other notes:

  • Mermaid in a markdown block (```mermaid) will render on GitHub, but not in other markdown engine (e.g., requires a VSCode extension)
  • AFAIK, there's no way to render Mermaid from Python. You need to have access to Javascript, which seems like a more burdensome dependency (random example found on Medium)
  • While Graphviz has Python bindings, Mermaid doesn't and would require manually handling strings (see Haystack's code)
  • From my experience (with Haystack at least), rendering Mermaid is significantly slower than rendering graphviz in a notebook

(IMHO, this might not be a good first issue. It is well-scoped, but expect significant amount of work to complete the task)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants