<commit_before>Usage
=====

*TODO*

* src is the string representation of the graph written in Dot language.
* format is the graph output format in terms of dot -T. Since the result of the
function is returned as a string, the only sane formats are "dot" and "svg".
Typically, one would use "svg" to display the rendered result.
* engine is the Graphviz layout engine to use. Can be any from "dot", "neato",
"circo", "twopi" or others. Usually, one is satisfied with "dot" or "neato".
* options are the array of extra command line arguments which are virtually added
to the corresponding engine invocation (thanks to GVC API's gvParseArgs()). To
get an idea what such options can be, execute "dot --help" in your system's
terminal. As an example, options=["-n"] makes neato enter "no layout" mode to
render graphs already converted to "dot" output format as-is.



Changes
=======

- Removed the submodule for [emscripten]. It is a tool which we want to install, and keep current ourselves.
  The "checkout" as a submodule does not work as it is in [viz.js] for me, on Mac OS X, in any case.
- [zlib] is kept as a submodule.




Developing and Building [graphviz-emscriptened]
===============================================

*TODO*





How to work with git on a project that is a copy of an existing project
=======================================================================

A reasonable way to do this is described at
[StackOverflow](http://stackoverflow.com/questions/5661405/best-workflow-when-forking-and-renaming-a-github-project).

In our local repositories, we work with 3 remotes:
- `origin` refers to [https://github.com/Toryt/graphviz-emscriptened.git]. Our local repository's `master` branch tracks
  `origin/master`.
- `upstream` refers to the original [viz.js] project. Our local repository's `upstream-master` branch tracks
  `upstream/master`. This allows us to pull in possible changes to [viz.js] later.
- `backport` refers to [https://github.com/Toryt/viz.js.git], which is our fork of [viz.js]. Our local repository's
  `backport` branch refers to the remote `backport\backport` branch. This is where we might originate pull requests to
  [viz.js] from.

[graphviz-emscriptened] welcomes pull requests on its `master` branch.





Origin, and why the fork / copy / new project
=============================================

Origin
------

This project is based on [viz.js] by [<NAME>](https://github.com/mdaines).

While looking for a JavaScript solution to render graphs defined in the DOT language, I found several suggestions
(notably at [StackOverflow](http://stackoverflow.com/questions/6344318/pure-javascript-graphviz-equivalent)).
After some inspection and trials, [viz.js] was the first I got working. It still seems the best attempt I found until
now (if I found something better, I wouldn't have created [graphviz-emscriptened]).

Still, [viz.js] has some major issues for our use.



Why the fork
------------

First of all, it is aimed at usage in the browser, while my first goal is usage in [node.js] or [io.js]. I found out
that [emscripten] has direct and good support for this by default. Better, the result [emscripten] offers is compatible
with a lot of use cases. What [viz.js] does in the `pre.js` and `post.js` files, is, as far as I can see, superfluous<commit_msg>Correcting backport branch setup description.<commit_after>Usage
=====

*TODO*

* src is the string representation of the graph written in Dot language.
* format is the graph output format in terms of dot -T. Since the result of the
function is returned as a string, the only sane formats are "dot" and "svg".
Typically, one would use "svg" to display the rendered result.
* engine is the Graphviz layout engine to use. Can be any from "dot", "neato",
"circo", "twopi" or others. Usually, one is satisfied with "dot" or "neato".
* options are the array of extra command line arguments which are virtually added
to the corresponding engine invocation (thanks to GVC API's gvParseArgs()). To
get an idea what such options can be, execute "dot --help" in your system's
terminal. As an example, options=["-n"] makes neato enter "no layout" mode to
render graphs already converted to "dot" output format as-is.



Changes
=======

- Removed the submodule for [emscripten]. It is a tool which we want to install, and keep current ourselves.
  The "checkout" as a submodule does not work as it is in [viz.js] for me, on Mac OS X, in any case.
- [zlib] is kept as a submodule.




Developing and Building [graphviz-emscriptened]
===============================================

*TODO*





How to work with git on a project that is a copy of an existing project
=======================================================================

A reasonable way to do this is described at
[StackOverflow](http://stackoverflow.com/questions/5661405/best-workflow-when-forking-and-renaming-a-github-project).

In our local repositories, we work with 3 remotes:
- `origin` refers to [https://github.com/Toryt/graphviz-emscriptened.git]. Our local repository's `master` branch tracks
  `origin/master`.
- `upstream` refers to the original [viz.js] project. Our local repository's `upstream-master` branch tracks
  `upstream/master`. This allows us to pull in possible changes to [viz.js] later.
- `backport` refers to [https://github.com/Toryt/viz.js.git], which is our fork of [viz.js]. Our local repository's
  `backport-master` branch refers to the remote `backport\master` branch, and `backport-[FEATURE]` to the remote
  `backport/[FEATURE]` branches. These are where we might originate pull requests to [viz.js] from.

[graphviz-emscriptened] welcomes pull requests on its `master` branch.





Origin, and why the fork / copy / new project
=============================================

Origin
------

This project is based on [viz.js] by [<NAME>](https://github.com/mdaines).

While looking for a JavaScript solution to render graphs defined in the DOT language, I found several suggestions
(notably at [StackOverflow](http://stackoverflow.com/questions/6344318/pure-javascript-graphviz-equivalent)).
After some inspection and trials, [viz.js] was the first I got working. It still seems the best attempt I found until
now (if I found something better, I wouldn't have created [graphviz-emscriptened]).

Still, [viz.js] has some major issues for our use.



Why the fork
------------

First of all, it is aimed at usage in the browser, while my first goal is usage in [node.js] or [io.js]. I found out
that [emscripten] has direct and good support for this by default. Better, the result [emscripten] offers is compatible
with a lot of use cases. What [viz.js] does in the `pre.js` and `post.js` files, is, as far as I can see, superfluous
{'fraction_non_alphanumeric': 0.13900014834594274, 'fraction_numerical': 0.004450378282153983, 'mean_word_length': 4.275430359937403, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 6, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5334335', 'n_tokens_mistral': 1967, 'n_tokens_neox': 1853, 'n_words': 908}