Generate Flowcharts, Network Sequence Diagrams, GraphViz Dot Diagrams, and Railroad Diagrams
Generate Flowcharts, Network Sequence Diagrams, GraphViz Dot Diagrams, and Railroad Diagrams
Command line tool for generating a suite of various types of diagrams, each based on intuitive text DSLs.
Also see Atom Diagrams Plugin that integrates this into the Atom IDE
npm install -g diagramsThe diagrams CLI provides the watch command that will automatically generate the .svg visualization of each diagram file format it supports. Run the following:
Generates all of the .svg files, then starts watching the current directory and regenerates any diagram file that changes.
diagrams watchGenerates all .svg files, but don't start watching after.
diagrams buildTo provide the target directory to watch just pass it as an argument right after the watch command.
diagrams watch somedirectory --buildDocumentation: Flowchart.js .
To generate flowcharts, run:
diagrams flowchart input.flowchart flowchart.svginput.flowchart flowchart.svg
st=>start: Start e=>end op1=>operation: My Operation sub1=>subroutine: My Subroutine cond=>condition: Yes or No?:>http://www.google.com io=>inputoutput: catch something
st->op1->cond cond(yes)->io->e cond(no)->sub1(right)->op1
Documentation: Network Sequence Diagram Syntax .
To generate Network Sequence Diagrams, run:
diagrams sequence input.sequence sequence.svginput.sequence sequence.svg
Alice->Bob: Hello Bob, how are you? Note right of Bob: Bob thinks Bob-->Alice: I am good thanks!
Documentation on the dot file format:
To generate diagrams from Graphviz's .dot file format, run:
diagrams dot input.dot dot.svginput.dot dot.svg
digraph G { main -> parse -> execute; main -> init; main -> cleanup; execute -> make_string; execute -> printf init -> make_string; main -> printf; execute -> compare; }
Documentation see railroad-diagrams's documentation':
To generate Railroad Diagrams, run:
diagrams railroad input.railroad railroad.svginput.railroad railroad.svg
Diagram( Optional('+', 'skip'), Choice(0, NonTerminal('name-start char'), NonTerminal('escape')), ZeroOrMore( Choice(0, NonTerminal('name char'), NonTerminal('escape'))))
git clone [email protected]:francoislaberge/diagrams.git
cd diagramsnpm testDo the usual npm version bump then publish.
npm version
git push; git push --tags
npm publishAll tests are run automatically on push via our travis-ci integration.
It's a work in progress. See TODO.md.
No open issues yet, or sync has not completed.