Text to diagrams


If you've ever looked into writing documentation or managing the documentation for a project, you'll know that simple ASCII text-based writing and publishing formats have taken over from application-specific formats. This is partly thanks to a movement that handles text just like code, with a similar publishing process that involves git branches, commits, CI-systems, and reviews. This process works because the text is flat ASCII, usually written using Markdown, and not a shape-shifting XML LibreOffice document or binary blob. Simple text like this produces diffs and patches just like code, which are easier to review, to version, and to maintain. The only question in this documentation nirvana is what do you do with illustrations? Binary blobs don't work well with git because they can't easily be reviewed or versioned, and text-based illustration formats like SVG change too much between modifications to be useful as text.

Helping to fill this gap is Svgbob, a small utility that will convert illustrations drawn in simple ASCII into perfectly rendered SVGs. It does this by interpreting the special characters in most character sets into graphical primitives like polygons, ellipses, and lines. Draw a line using multiple "-" characters, for example, pipe the file through Svgbob, and you'll get SVG output containing a perfect line. But you can also draw remarkably complicated diagrams. Arrows are rendered directly from their characters, and there are even special sequences to indicate components in a circuit, nodes on a chart, and colors and grids of all shapes and sizes. Even Unicode characters can be used to draw direct representations in SVG. But the best thing is that everything can be stored within a simple text file and edited and managed just like normal text.

Project Website

Transform simple ASCII text into SVG perfection with Svgbob.

Workstation emulator

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • FOSSPicks

    Graham Morrison has finally found a Linux-legitimate excuse to invest in virtual reality with the new VR desktop and the now 6,000 Windows games running on Linux with Proton.

  • FOSSPicks

    This month Graham looks at Neuronify, Undervolt GUI, Entropy Piano Tuner, Gnome Internet Radio Locator, Hatari, and more!

  • FOSSPicks

    This month Graham looks at Cecilia 5, chezmoi, Viddy, EmuDeck, Paperless-ngx, MegaGlest, and more!

  • FOSSPicks

    This month Graham looks at Mixx, elfcat, Plover, and more!

  • FOSSPicks

    Graham nearly made it through an entire month of FOSSPicks without an esoteric audio discovery. And then he found VeeSeeVSTRack.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More