View Source Skitter.Dot (Skitter v0.7.1)
Export skitter workflows as graphviz dot graphs.
The main function in this module is the to_dot/1
function, which accepts a skitter workflow
and returns its dot representation as a string. End users may prefer the print_dot/1
function,
which immediately prints the returned string. If dot is installed on the system, the export/3
function can be used to export the generated graph in a variety of formats.
Summary
Functions
Renders the generated dot graph, requires dot to be installed on the system.
Renders the generated dot graph and save it to path
.
Return the dot representation of a workflow as a string.
Functions
@spec render(Skitter.Workflow.t(), String.t(), dot_exe: String.t(), extra: [String.t()] ) :: {:ok, binary()} | {:error, String.t()}
Renders the generated dot graph, requires dot to be installed on the system.
This function exports a given workflow to the dot language (using to_dot/1
), after which it
calls dot
on the generated dot representation. When dot
returns successfully, {:ok, string}
is returned, where string
is the output generated by dot
.
A format
should be specified. This format is passed to dot
through the use of its -T
option. For a list of the options supported on your system, see man dot
.
An optional list of options may be passed to further configure the use of dot
. The following
options are supported:
dot_exe
: the path to the dot executable, by default, this function assumes dot is present in your$PATH
.extra
: a list of extra arguments to pass to the dot executable.
Examples
Save workflow
as a svg file:
render(workflow, "svg")
@spec render_to_file(Skitter.Workflow.t(), String.t(), String.t(), dot_exe: String.t(), extra: [String.t()] ) :: :ok | {:error, String.t()}
Renders the generated dot graph and save it to path
.
Renders the provided workflow (with render/3
) and store the output to path
. format
and
opts
are passed to render/3
.
@spec to_dot(Skitter.Workflow.t()) :: String.t()
Return the dot representation of a workflow as a string.