Création de diagrammes en ASCII

141

Je cherche un programme que je peux utiliser pour créer des diagrammes ASCII tels que ceux-ci:

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

Il devrait s'agir de préférence d'un paquet disponible dans Debian . Le magnifique diagramme présenté ci-dessus est tiré de la documentation du noyau Linux. Je ne peux pas croire qu'ils ont été créés à la main. Il doit y avoir un outil pour les créer.

Martin Vegter
la source
6
Vous pouvez dessiner ce genre de diagrammes depuis l'intérieur en vimutilisant le plugin DrawIt .
dawud le
12
"Je ne peux pas croire qu'ils ont été créés à la main. Il doit y avoir un outil pour les créer." Je peux facilement croire qu'ils ont été créés à la main, en particulier si vous travailliez à partir d'un croquis ou d'une autre source pour le diagramme. Cela ne prendrait pas plus de 5 minutes.
goldilocks
2
Je peux facilement croire qu'ils ont été créés à la main parce qu'ils sont en fait assez faciles à faire si vous utilisez un peu de bon sens et que vous le visualisez dans votre tête en premier. Bien sûr, cela prend quelques minutes de plus qu’avec Asciio ou quelque chose du genre.
Miles Rout

Réponses:

138

Asciio

J'ai utilisé asciio pendant plusieurs années. Beaucoup de diagrammes sur ce site que j'ai créés en utilisant asciio.

exemple

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

L'interface graphique ressemble à ceci.

           asciio

REMARQUE: tout se fait à partir du menu contextuel ainsi que des touches de raccourci.

Dessine le

En utilisant vimle plugin DrawIt, vous pouvez également créer des diagrammes de base. Cet article, intitulé: Comment créer des dessins ASCII dans Vim Editor, présente un bon aperçu de la procédure d’installation et d’utilisation ;

Asciiflow

Il existe un site Web appelé asciiflow qui est probablement le moyen le plus simple de dessiner ces types de diagrammes.

   SS n ° 2

JavE

Un autre outil, JavE , écrit en Java et capable de créer des diagrammes ASCII comme celui-ci.

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

L'interface graphique ressemble à ceci:

   SS n ° 2

Ressources

slm
la source
1
Vous pouvez ajouter diiagrams.com si vous le souhaitez
I3ck
Le programme d'installation Windows pour asciio à partir du lien ne fonctionne plus. Le programme d'installation dit qu'il a eu une erreur 404, puis abandonne. Je viens d'utiliser Asciiflow à la place.
Joseph238
1
@ Joseph238 - merci pour les retours, étant donné qu'il s'agit d'un site Web Unix & Linux, je ne suis pas sûr que la plupart des passants s'en soucient autant. Si vous tombez sur un lien, merci de nous le faire savoir.
slm
2
Peut-être ajouter une note à propos de: textik.com .
Isaac
27

Regardez le mode artiste ou le mode image pour Emacs (voir aussi ce screencast ). Vous pouvez également vouloir vérifier ditaa .

tkrennwa
la source
+1 Re: "ditaa" Pour que quelqu'un puisse les faire à la main afin de les convertir au format graphique ...
goldilocks
2
Oui, ditaa est une excellente combinaison avec asciio.
Martijn Heemels
Le lien de screencast est mort.
jcubic
24

J'ai trouvé une autre réponse. Je ne suis pas sûr que ce soit pleinement utilisable, mais rappelez-vous que GNU roff (groff) a un processeur pour le langage Pic ainsi qu’un post- processeur ascii; vous pouvez donc essayer quelque chose comme ça (si vous utilisez Linux, tout devrait probablement déjà être installé). Ecrivez un fichier appelé test.roff contenant:

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

Puis tapez:, groff -Tascii -p test.roffet vous devriez obtenir:

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

Cordialement.

Thomas Baruchel
la source
On pourrait vouloir supprimer les caractères de contrôle en utilisantgroff -Tlatin1 -P-c -P-b -P-u
mlt
groffest préinstallé sur Mac OS X :)
Sridhar Sarnobat
15

Peut-être serez-vous intéressé par graph-easy .

Exemple:

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

produit:

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

Vous pouvez l'installer avec les commandes suivantes:

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

(Notez les numéros de version dans les deux lignes supérieure et dernière - ils peuvent changer)

Quelques belles captures d'écran sont disponibles sur les pages de lddot et de dothost (car les deux outils sont des wrappers graph-easy).

Thomas Baruchel
la source
1
On dirait que la dernière version est maintenant hébergée sur Github: github.com/ironcamel/Graph-Easy
Sridhar Sarnobat
1
Je suppose que cela fonctionne beaucoup comme Graphviz, mais Graphviz n’a pas de sortie ASCII, ce qui est dommage.
Sridhar Sarnobat
graph-easy utilise le langage DOT, identique à Graphviz
ivarec
-1

Pour ceux qui utilisent un Mac (pas l'affiche originale), il existe un très bel outil appelé Monodraw . Bien sûr, vous allez payer quelques dollars pour le fait qu'il soit hautement raffiné, puissant et intuitif, mais si c'est quelque chose que vous faites souvent, c'est un outil pratique pour être disponible et 10 $, c'est un cacahuète comparé au temps que vous aurez enregistrer. Si vous ne le faites pas souvent, un essai gratuit est disponible, vous êtes donc prêt. Il peut même exporter en SVG

Non, je ne travaille pas pour l'entreprise. Je suis juste un utilisateur heureux.

iconoclaste
la source