Menu

Tree [3d641d] default tip /
 History

Read Only access


File Date Author Commit
 Changelog 2017-08-24 Max Baker Max Baker [3d641d] add local install for cpan modules
 README 2017-08-24 Max Baker Max Baker [3d641d] add local install for cpan modules
 example.yaml 2017-08-24 Max Baker Max Baker [3d641d] add local install for cpan modules
 gablock 2017-08-24 Max Baker Max Baker [3d641d] add local install for cpan modules
 makefile 2017-08-24 Max Baker Max Baker [3d641d] add local install for cpan modules

Read Me

gablock - Block Diagram Generator

This simple script takes in a YAML description of a Block Diagram,
and translates it into a directed graph in the GraphViz DOT format. 
GraphViz is then called to layout the block diagram and produce the 
final image or vector file.

INSTALL:
    make setup
    make deps
    make cpan
      install File::Which

USAGE:
    gablock example.yaml

OPTIONS:
    See gablock --help for details

SUPPORT:
    Please use the bug tracker on sourceforge for bugs or support requests
    https://sourceforge.net/p/gablock/tickets/

    Please also be aware of the GraphViz forum for formatting tweak help
    http://www.graphviz.org/Forum

YAML Syntax:
Please see http://www.yaml.org/spec/1.2/spec.html for the YAML format description

Format:
    - The input YAML file is a list of hashes (Sequence of maps in YAML terms)
    - Each entry can be one of two types : node or edge
    - Hash values can sometimes be other hashes or lists

Nodes:
    * Nodes have the key "name" in their hash. Keep the name short and easy since you will use it for links
    * Use the "label" key to give a description
    * "blocks" is a list of sub-blocks inside a node.  These are displayed under the label.  They
      cannot be targets of links.
    * "ports" is a list of subblocks or interfaces in a node. These can be targets of links.

Edges:
    * Edges have the keys "from" and "to" in their hash.  These must match a node name.
    * Use the "label" key to give a description
    * Specify connections to node ports using the format "node/port"

Attributes:
    * Nodes and Edges can specify a map of attributes using the "attrs" key
    * Attributes listed here are copied straight to DOT and must be in GraphViz Format
    * You can override default styles here supplying new ones or blanks
    * See http://www.graphviz.org/content/attrs for full details

Example:
    See example.yaml for examples of the above