@manekinekko/viz.js

1.3.1 • Public • Published

Viz.js

This project is a Makefile for building Graphviz with Emscripten and a simple wrapper for using it in the browser.

NOTE

I am not the author of this project. The original author has deprecated this tool and asked to fork it. See original project here: https://github.com/mdaines/viz.js.

Getting Viz.js

Or with npm:

npm install @manekinekko/viz.js

API

The main function, Viz, returns output as a string.

Viz(src, options={ format="svg", engine="dot" })

Some examples:

result = Viz("digraph g { a -> b; }");
result = Viz("graph G { n0 -- n1 -- n2 -- n3 -- n0; }", { engine: "neato" });
result = Viz("digraph g { x -> y -> z; }", { format: "plain" });

If Graphviz encounters an error, the error message will be thrown as an exception.

PNG output

Viz.js provides the "png-image-element" format in addition to the regular Graphviz formats. This returns an HTMLImageElement which can be inserted into the document.

image = Viz("digraph g { a -> b; }", { format: "png-image-element" });
document.body.appendChild(image);

However, this won't work in a Web Worker context. In that case, ask for the "svg" format in the worker and convert using the accessory function Viz.svgXmlToPngImageElement in the window context. See tests/png.js for an example.

Supported Graphviz features

These engines are supported:

  • circo
  • dot
  • fdp
  • neato
  • osage
  • twopi

These formats are supported:

  • svg
  • xdot
  • plain
  • ps

Build

To build from source, you will need to install the Emscripten SDK: http://kripken.github.io/emscripten-site/docs/getting_started/index.html

To download the sources and build everything:

make

License

Viz.js itself (the wrapper and Makefile, not the compiled versions of Graphviz, Expat, zlib, etc.) is released into the public domain.

Readme

Keywords

Package Sidebar

Install

npm i @manekinekko/viz.js

Weekly Downloads

1

Version

1.3.1

License

MIT

Last publish

Collaborators

  • manekinekko
  • wassimchegham