Simple Block Diagram Generator
"diagram": {
"lines": [
"| A | ---> | D | <-------> | F |",
"| | <------------------> | | <----- | I |",
"| | ---> | E | <-------> | |",
" | | <-------- | G |",
"| B | <--> | | <-------> | H | <----> | J |",
"| | -------------------> | |",
"| C | -------------------> | | -----> | K |"
]
}
- Overview
- Key Benefits
- Key Features
- `Known Limitations`_
- Installation
- Usage
- Documentation
- Contributing
Creating block diagrams using a drawing tool such as Microsoft Visio can result in complicated diagrams.
- Only have enough information
- Make it simple to create
- Consistent block diagrams
- Use text as the source
Block Diagrammer trades the flexibility of drawing tools with a set of simple rules. These rules provide a framework to generate diagrams.
- Use a grid based system to describe block diagram
- Nodes are in even columns
- Arrows are in odd columns
- Nodes can stack
- Arrows are only horizontal
- Simplifies block diagram creation
- Text based input can be source controlled
- Rendered output can be used in documentation
- Command line tool
- JSON for input
You can get the latest released version of Block Diagrammer via pip.
pip install block-diagrammer
The latest development version can be cloned...
git clone https://github.com/jeremiah-c-leary/block_diagrammer.git
...and then installed locally...
python setup.py install
Block Diagrammer can be invoked with:
$ bd render svg <config_file>
Here is an example output running against a test file:
All documentation for Block Diagrammer is hosted at read-the-docs.
I welcome any contributions to this project. No matter how small or large.
There are several ways to contribute:
- Bug reports
- Code base improvements
- Feature requests
- Pull requests