Criando diagramas em ASCII

137

Estou procurando um programa que eu possa usar para criar diagramas ASCII como estes:

    +---------+
    |         |                        +--------------+
    |   NFS   |--+                     |              |
    |         |  |                 +-->|   CacheFS    |
    +---------+  |   +----------+  |   |  /dev/hda5   |
                 |   |          |  |   +--------------+
    +---------+  +-->|          |  |
    |         |      |          |--+
    |   AFS   |----->| FS-Cache |
    |         |      |          |--+
    +---------+  +-->|          |  |
                 |   |          |  |   +--------------+
    +---------+  |   +----------+  |   |              |
    |         |  |                 +-->|  CacheFiles  |
    |  ISOFS  |--+                     |  /var/cache  |
    |         |                        +--------------+
    +---------+

Deve ser preferencialmente um pacote disponível em Debian . O diagrama maravilhoso exibido acima é retirado da documentação do kernel do Linux. Eu não posso acreditar que eles foram criados à mão. Deve haver alguma ferramenta para criá-los.

    
por Martin Vegter 26.04.2014 / 13:52

4 respostas

131

asciio

Eu usei asciio por vários anos. Muitos dos diagramas neste site foram criados usando asciio .

exemplo

  vncviewer         .-,(  ),-.    
   __  _         .-(          )-.           gateway           vncserver 
  [__]|=|  ---->(    internet    )-------> __________ ------> ____   __ 
  /::/|_|        '-(          ).-'        [_...__...°]       |    | |==|
                     '-.( ).-'                               |____| |  |
                                                             /::::/ |__|

A interface gráfica é assim.

OBSERVAÇÃO:Tudoéorientadopelomenudobotãodireito,bemcomoporteclasdeatalho.

DrawIt

Usandovimjuntocomo plug-in DrawIt , você também pode criar diagramas básicos. Uma boa visão geral de como instalar e usá-lo está disponível aqui neste artigo intitulado: Como criar desenhos ASCII no editor Vim (Desenhe caixas, linhas, elipses, setas dentro do arquivo de texto) .

ascifluxo

Há um site chamado asciiflow que provavelmente é a maneira mais fácil de desenhar esses tipos de diagramas.

JavE

Outraferramenta, JavE , escrita em Java que pode criar diagramas ASCII assim também.

                                 ,'''''''''''''|
                                 | Controller  |
                                 |             |
                                 '''i''''''''''
                                  ,'        '.
                                ,'            '.
                               -                -
                     ,'''''''''''''|      ,'''''''''''''.
                     |    Model    |______|    View     |
                     |             |      |             |
                      '''''''''''''       '''''''''''''''

A interface gráfica é assim:

Recursos

por 26.04.2014 / 14:42
26

Dê uma olhada no artist-mode ou picture-mode para o Emacs (veja também este screencast ). Você também pode querer verificar ditaa .

    
por 26.04.2014 / 14:07
21

Eu encontrei outra resposta; Eu não tenho certeza se é totalmente utilizável, mas lembre-se que o GNU roff (groff) tem um processador para a linguagem Pic também como um pós-processador ascii; Assim, você pode tentar algo assim (se você usa o Linux, provavelmente tudo já deve estar instalado). Escreva um arquivo chamado test.roff contendo:

.PS
box "box1";
line
box "box2";
.PE

Em seguida, digite: groff -Tascii -p test.roff e você deve receber:

+------+     +------+
|      +-----|      |
| box1 |     |box2  |
+------+     +------+

Atenciosamente.

    
por 04.05.2014 / 11:56
13

Talvez você esteja interessado em graph-easy .

Exemplo:

   echo "[ Bonn ] -- car --> [ Berlin ], [ Ulm ]" | graph-easy

produz:

    +--------+  car   +-----+
    |  Bonn  | -----> | Ulm |
    +--------+        +-----+
      |
      | car
      v
    +--------+
    | Berlin |
    +--------+

Você pode instalá-lo com os seguintes comandos:

wget http://search.cpan.org/CPAN/authors/id/T/TE/TELS/graph/Graph-Easy-0.64.tar.gz
tar -xzf Graph-Easy-0.64.tar.gz
cd Graph-Easy-0.64
perl Makefile.PL
make test
sudo make install
PATH=$PATH:/opt/local/libexec/perl5.12/sitebin/graph-easy

(Observe os números de versão nas duas primeiras e últimas linhas - elas podem mudar)

Algumas capturas de tela agradáveis estão disponíveis nas páginas do lddot e dothost (porque ambas as ferramentas são wrappers para graph-easy ).

    
por 04.05.2014 / 11:05