Quick diagrams
==============


Introducción
-------------

quickdiagrams es un programa de conversión para dibujar diagramas. A
diferencia de otros sistemas no es interactivo, construye los diagramas
a partir de un archivo de texto, y se encarga por su cuenta de crear la
mejor disposición y aspecto para el diagrama.

Como el formato de los diagramas de entrada es muy simple y minimalista, tiene
la posibilidad de usar su editor de texto favorito, usar un comando
como diff para ver la evolución de un diseño o editar el modelo dentro
de un repositorio de código fuente.

Este programa utiliza internamente la herramienta Graphviz, a través
de la biblioteca `yapgvb`.


Ejemplos
--------

Imagine que quiere representar un conjunto de clases para un sistema de
contactos, tiene 2 tipos diferente de contactos que comparten atributos
como nombre, email y dirección.

Una forma de obtener el diagrama de clases de un modelo es crear
un archivo de texto con el siguiente contenido::

    Contacto:
        nombre
        dirección
        email

        Cliente:
            proyecto

        Proveedor:
            productos


Luego, puede invocar al programa desde un intérprete de órdenes indicando
el archivo que define el modelo::

    quickclassdiagram -i modelo.txt

este comando generará una imagen en formato de archivo PNG, dado
que no hemos especificado ninguna otra preferencia de configuración.


Biblioteca de ejemplos
----------------------

El directorio `examples` contiene varios casos de uso para
probar el programa.

En ese directorio también encontrará un script llamado `build_all.py`
que convierte de forma automática todos los diagramas para generar
archivos PNG.

Referencia del comando principal
--------------------------------

Si quiere conocer en detalle las preferencias que puede utilizar ejecute::

    quickclassdiagram --help

y obtendrá una referecia de los comandos que puede utilizar::

    Usage: quickclassdiagram [options]

    Options:
      -h, --help                        show this help message and exit
      -i FILE, --input=FILE             file input
      -o FILE, --output=FILE            file output
      -d DEBUG, --debug=DEBUG           sets debug mode
      -f FORMAT, --format=FORMAT        example: png, svg ...


Requerimientos
--------------

    * pygraphviz
    * graphviz


Licencia
--------

Este programa es software libre: usted puede redistribuirlo y/o
modificarlo conforme a los términos de la Licencia Pública General de GNU
publicada por la Fundación para el Software Libre, ya sea la versión 3 de
esta Licencia o (a su elección) cualquier versión posterior.

Este programa se distribuye con el deseo de que le resulte útil, pero SIN
GARANTÍAS DE NINGÚN TIPO; ni siquiera con las garantías implícitas de
COMERCIABILIDAD o APTITUD PARA UN PROPÓSITO DETERMINADO.  Para más
información, consulte la Licencia Pública General de GNU.

Junto con este programa, se debería incluir una copia de la Licencia
Pública General de GNU. De no ser así, ingrese en
<http://www.gnu.org/licenses/>.

