ASCII based Diagram drawing in Haskell (Idea based on ditaa) http://sha-bang.de

Latest on Hackage:

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

GPL-2 licensed by Sascha Wilde
Maintained by Sascha Wilde

dihaa – Creating Diagrams from ASCII Art

dihaa is a tool to create pictures of diagrams from ASCII art:

This is an simple example of valid dihaa input:

                                 +--->| PNG Image File |
+-------------+      +-------+   |    +----------------+
| Text Source +----->| dihaa +---+
+-------------+      +-------+   |    +-------------------+
                         ^       +--->| UTF-8 Box Drawing |
Commandline Options -----+            +-------------------+


dihaa is written in Haskell and can be build using cabal. I recommend using a sandbox for building the dependencies (Rasterific is used for image creation) and dihaa it self:

cabal sandbox init
cabal install


To process the text input call dihaa with either -p to create a PNG image or -u to create UTF-8 output using unicode box drawing elements. Try .cabal-sandbox/bin/dihaa -p test.dihaa, his will create test.dihaa.png.

For more details refer to the haddoc documentation of Main.


This tool is inspired by: https://github.com/stathissideris/ditaa which currently has far more features than dihaa.


Revision history for dihaa – 2017-05-06

  • Added link for haddock documentation to README.md. – 2017-05-06

  • First version to be released on hackage.
  • Fixed rendering of cross sections with adjacent arrow heads.
  • Moved most documentation to haddock of Main and expanded it with more detailed information. – 2017-05-03

  • Search for font in data dir instead of current directory. Basically that means now you can finally dihaa from anywhere after installation. – 2017-05-01

  • Added colors for boxes.

  • Development versions never formally released.
Depends on 5 packages:
Used by 1 package:
comments powered byDisqus