Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sielay/doc2dot
Generates dot (graphviz) document from code documentation comments like JSDoc, JavaDoc, PHPDoc
https://github.com/sielay/doc2dot
cli graphviz graphviz-dot javadoc jsdoc nodejs phpdoc typedoc
Last synced: about 2 months ago
JSON representation
Generates dot (graphviz) document from code documentation comments like JSDoc, JavaDoc, PHPDoc
- Host: GitHub
- URL: https://github.com/sielay/doc2dot
- Owner: sielay
- License: mit
- Created: 2017-12-01T17:12:01.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2017-12-03T23:01:44.000Z (about 7 years ago)
- Last Synced: 2024-10-16T02:32:56.326Z (2 months ago)
- Topics: cli, graphviz, graphviz-dot, javadoc, jsdoc, nodejs, phpdoc, typedoc
- Language: JavaScript
- Size: 28.3 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# doc2dot
Generates dot (graphviz) document from code documentation comments like JSDoc, JavaDoc, PHPDoc```bash
yarn global add dot2doc
# or
npm -g i dot2doc
``````bash
dot2doc './test/**/*.js'
dot2doc './test/**/*.js' > file.dot
```## Usage
### Raw DOT entry
```
@dot nodeA -> nodeB
```### DOT node type
```
@dot-type MyNode [color=red]
@dot {MyNode} nodeA
```will result with
```
nodeA [color=red]
```### All of type rule
```
@dot-type MyNode [color=red]
@dot {MyNode} nodeA
@dot-rule MyNode -> foo
```will result with
```
nodeA [color=red]
nodeA -> foo
```## Define cluster
```
@dot-subgraph Name style=whatever;color=other
@dot-rule foo in A
@dot-rule {Any} in A
@dot {Any} B
```will result in
```
subgraph clusterName { style=whatever;color=other A B }
```## Example
```javascript
/**
* @name abc
* @param a
* @param b
* @dot tester -> noop
* @dot {ClassA} tester
* @dot-type ClassA [color=blue]
*/
function tester(a, b) {}
/**
* @dot {RelationB} noop -> tester
* @dot-type RelationB [shape=arrow]
*/// @dot noop -> boop
/**
* @dot-rule ClassA <- foop
* @dot-rule ClassA -> boop
* @dot-rule ClassA eachIn A
* @dot-rule foop in A
* @dot-subgraph A style=filled;color=gray;
*/```
```dot
digraph G {
graph [rankdir=LR, fontsize=10, margin=0.001];
subgraph clusterA { style=filled;color=gray; foop tester }
tester -> noop
tester [color=blue]
tester -> boop
foop -> tester
noop -> tester [shape=arrow]
noop -> boop
{ rank="max"; e; }
}```
## Licence
MIT