Started noodling with visJS: it's fun and can parse DOT graph description language of graphviz fame :-) Here's an example using an embedded REPLit:
Try changing the graphviz code in the text area and see what happens.
Used this nice stack overflow post to put a PNG generated by visJS on the page. :-)
I'm saving the code from the repl.it to https://github.com/payne/vis3_graphviz_dot_from_textarea.
Using github pages, there's a live version of the repl here: https://payne.github.io/vis3_graphviz_dot_from_textarea/