
Show HN: Spongedown – markdown renderer with ascii diagram support - ivanceras
https://ivanceras.github.io/spongedown/
======
fizzbatter
This is cool! Though, it still leaves me with my biggest problem: I have no
idea how to efficiently draw the diagrams in the first place. Ascii diagrams
are not easy to draw (for me, atleast).

The best i've seen is a GUI tool that creates the diagrams. That tool really
is awesome ([https://monodraw.helftone.com/](https://monodraw.helftone.com/)),
but it's a GUI tool and frankly supports complexity/features far greater than
i really need most of the time.

I'd love a project that took some type of simple text based flow notation, and
converted it to ascii flow diagrams. Eg:

    
    
        main: something -> other thing -> [ thing a, thing b, thing c]
        thing a: thing a -> thing b
        thing c: thing c -> thing b
    

In this mockup, my desired tool would take this simple non-artistic notation
and convert it to a flow diagram showing a `something` object leading into an
`other thing` object, which branches to three objects called `thing a`, `thing
b`, and `thing c`. Each of those have their own flows as well, as noted by
their own respective definitions. `thing a` leads over to `thing b`, `thing c`
to `thing b`, and `thing b` doesn't actually do anything.

I love ascii diagrams, but i never want to construct them by hand. Writing
them out in some simple notation like above would be awesome! Also note that
i'm not expecting this to be insanely feature packed.. it sort of defeats the
purpose of a simple notation. But being able to just construct them quickly as
a starting point would be awesome. Advanced tools like Monodraw can take the
complicated work.

~~~
subjectsigma
Have you ever tried GNU dot?
[http://www.graphviz.org/pdf/dotguide.pdf](http://www.graphviz.org/pdf/dotguide.pdf)

I know you said you don't want to 'draw' ASCII diagrams, but if you use Emacs,
there's a package called artist-mode which I've found helpful.

~~~
LukeShu
GraphViz/dot isn't GNU.

~~~
subjectsigma
Huh. I'm not sure why, but I was almost certain it was.

------
ivanceras
This is an iteration of my previous submission[0] with improvements from the
comments and feedback. It is now embeddable in a markdown, and the generated
SVG is now optimized to it's size.

[0][https://news.ycombinator.com/item?id=12621680](https://news.ycombinator.com/item?id=12621680)

------
replete
This looks very cool.

Do people actually manually write ASCII diagrams like that?

This is a great place to use Mermaid
([https://github.com/knsv/mermaid](https://github.com/knsv/mermaid))

~~~
ivanceras
I wrote some simple ascii diagrams inline with readme and code, but never too
serious. I wrote this tool to enhance the rendering of the diagram, and
publish it opensource. I never did expect some people use it seriously
[https://github.com/ivanceras/svgbobrus/pull/6](https://github.com/ivanceras/svgbobrus/pull/6)

------
kingosticks
Is this designed to be used or just a proof of concept? If the former then
maybe some installation hints in the readme would be a good idea. As someone
with no exposure to rust I have no idea what to do with this.

~~~
ivanceras
This is a library written in rust. I will have to write the CLI soon.

------
binarycrusader
My favorite take on this is Markdeep:

[http://casual-effects.com/markdeep/](http://casual-effects.com/markdeep/)

------
piotrjurkiewicz
Looks nice, but an opposite tool would be more interesting for me.

~~~
dmd
[https://monodraw.helftone.com](https://monodraw.helftone.com) is what you're
looking for.

