FOSSPicks
Text to diagrams
Svgbob
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
https://github.com/ivanceras/svgbob
Workstation emulator
Buy this article as PDF
(incl. VAT)