craftdot
v0.4.6
Published
craftdot is a wapper of graphviz to get pretty diagram for your architecture/services diagrams.
Readme
Craftdot
Get pretty diagram for your architecture/services with an easy way.
Features
- nest group
- custom attributes with list or key/vaule
- include from file
- custom style
- support wildcards *
Install
$ npm install craftdotUsage
Render crafdot file and open it on browser by default.
$ craftdot example/example.craftdot
rebuilding...
server listening on http://127.0.0.1:3200Example
Comment
// this is a commentNode
single node
node1node with attributes
the attributes is compatible with Graphviz, so you can use any attribute exist in Graphviz.
node1[fillcolor: skyblue, style:filled]node with details
list {
hosts:
- 172.16.1.4
- 172.16.1.5
}
key-vaule {
domain: "https://service.localdomain"
}
both {
hosts:
- 172.16.1.10
- 172.16.1.11
domain: "https://service.localdomain"
}
with-attributes [fillcolor: skyblue, style:filled]{
domain: "https://service.localdomain"
}
apply attributes to mutiple nodes with wildcrads *
node1
node2
other
node*[fillcolor: skyblue, style:filled]group
one group must contain at least one node or one group.
group cluster1 {
node1
node2
}nest groups
group cluster1 {
node1
node2
group sub-cluster1 {
node1
node2
}
}
edge
node1
node2
node1 -> node2mutiple edge in one line
node1
node2
node3
node1 -> node2,node3edge with attributes
same as node, the attributes is compatible with Graphviz, so you can use any attribute exist in Graphviz.
node1
node2
node1 -> node2 [label: "hi", color: "red"]apply attributes to mutiple edges with wildcrads *
node1
node2
node3
db
node1,node2,node3 -> db
* -> db [color: red]include
// node.craftdot
node1
node2// edge.craftdot
node1 -> node2// include.craftdot
include {"node.craftdot"}
include {"edge.craftdot"}