Subject: [Tools-discuss] Art to SVG alternative

From: "Martin Thomson" <[email-masked]>
Date: Wed, 20 Oct 2021 17:43:39 +1100

goat[1] is a pretty great tool for what we are doing here.  It allows us to generate text diagams and have them render as nice SVGs.  It's almost like it was built specifically for the IETF :)

As we've learned though, goat makes something of a mess of the text.

Julian contributed a neat XSLT tool for fixing up the output, but that seemed ...unsatisfactory.  goat is open source, so it could be fixed.  Based on activity on the repo, however, it seems like it might be derelict.  The last update was in 2016.

I learned that goat is a port of part of a javascript tool called markdeep[2].  Markdeep seems like it is actively maintained.  The underlying library is not directly accessible - markdeep is a single blob that includes lots of extra stuff - but a few tweaks were all that was necessary to port it to nodejs.  Then I fixed the bug.

The result is at https://github.com/martinthomson/aasvg

It's available with `npm install`.

This includes a few options for adjusting the output, but nothing significant yet.  It should be easy to adjust the output to suit our needs.  The original code is very clear and easy to understand.  It doesn't draw little people[3], but I'd be happy to work with anyone who wanted to teach it that.

[1] https://github.com/blampe/goat
[2] https://casual-effects.com/markdeep/
[3] https://github.com/blampe/goat/issues/4

---

From: Michael Richardson <[email-masked]>
Date: Wed, 20 Oct 2021 10:58:46 -0400

I feel that goat is far more likely to be apt-get'able than npm stuff in the
future.

I sure prefer go binaries to npm all over the place.