From a3c9daeddc347b6c3de017862af8eafb88fab79d Mon Sep 17 00:00:00 2001 From: Kristofer Date: Sat, 2 Dec 2017 13:00:11 +0100 Subject: [PATCH] Updated getting starting info --- build/README.md | 41 ++++++++++++++++++++++++++++-------- build/package.json | 2 +- imgs/node_graph_example.PNG | Bin 0 -> 15703 bytes 3 files changed, 33 insertions(+), 10 deletions(-) create mode 100644 imgs/node_graph_example.PNG diff --git a/build/README.md b/build/README.md index bd9846994..522dc3fda 100644 --- a/build/README.md +++ b/build/README.md @@ -4,20 +4,43 @@ A library in Javascript to create graphs in the browser similar to [PureData](ht It can be integrated easily in any existing web applications and graphs can be run without the need of the editor. -## Creating a Graph ## +![WebGLStudio](imgs/node_graph_example.PNG "WebGLStudio") -You can create graphs from the editor (and store them in JSON) or directly from code: +## Installation -```javascript +``` +npm install litegraph.js +``` +## First project ## + +```html + + + + + + + + + ``` ## How to code a new Node type diff --git a/build/package.json b/build/package.json index 1227cbf45..c5f00887a 100644 --- a/build/package.json +++ b/build/package.json @@ -12,7 +12,7 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/jagenjo/litegraph.js.git" + "url": "git+https://github.com/kriffe/litegraph.js.git" }, "author": "jagenjo", "license": "MIT", diff --git a/imgs/node_graph_example.PNG b/imgs/node_graph_example.PNG new file mode 100644 index 0000000000000000000000000000000000000000..37ef90b2c5e9b35500b7e029b820428adc237899 GIT binary patch literal 15703 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 bYgr~lS=V;UpO=q8kRVLXSe#}UyF~sEHsxaO literal 0 HcmV?d00001