134 comments

[ 3.2 ms ] story [ 194 ms ] thread
I would love to see this as a cli, I'm tired of PlantUML's[1] document compilation time. Guess even the plain text tools are made in React nowadays, sigh

[1]: https://plantuml.com/

I've had no problems with PlantUML's compilation time. How large are these documents?
Pretty small actually, they don't take like hours, but just a few seconds, the problem is the preview feedback, I like to keep a entr and feh open while a edit the document to give a live preview of my changes, the problem is that the 3-4 seconds latency really mess this up
Are you thinking of the default java gui for previewing plantuml docs? I think there's a timer down there to avoid polling the FS too often. Using a simple editor where everystroke recompiles, red warning in status bar while syntax is not OK (while still displaying the last good one), a 100loc canvas display window, done.
It only recompiles whenever I hit save, pretty sure the delay is from java startup time
That's why I'm saying to avoid the start time and to have editor and generator run in the same JVM. Ah if local serverless was a thing...
There is a plantuml intellij plugin with split screen for text || diagram. Changes in the text are rendered pretty much instantaneously
I’m surprised the line-number references don’t auto-adjust when inserting/splitting/joining lines. That’s not very practical.
I totally had this thought too when making it. The logic is super simple as-is, so I was scared if I went down the rabbit whole of trying to auto increment/decrement line numbers I might muddy things up. I'll see if add that functionality cleanly at some point (or if you'd like to feel free to take out a PR!) Thanks for the feedback!
alternatively you could link to nodes by referencing their label? You might just also want an option to not render that label (ie have it be for the writer's benefit only).
added the concept of node ids and linking directly to them last night! now you can do something like

  [custom id] hello world
   child 1
    child 2
     (custom id)
Nice - that's a great feature. I'm working on a graph based project and have to semi regularly visualise different kinds of directed graph and your project could really come in handy!
Id's would be more than good enough, and super easy to implement. Something like this

   1. hello
   2.   [foo] This line is Foo
   3.   This line is Bar and connects to Foo
   4.     (foo)
Oh, I like this implementation a lot! I'll paste it into github issue so I don't forget
I disagree. The simplicity here is a cool and rare feature.

This tool is amazing, and its coolness comes from the fact it's really simple. If you add "auto-adjusting" features that rewrite the code for you while writing, you're on the road to lose the simplicity and KISS aspect.

Please don't add new features, it's like gold as it is, @tone_row. The beauty and magic resides in the minimalism.

This is really simple but edge from 6 to 1 should not cross node 4 in the visualization. Also it would be useful to show how to escape or if escaping works at all: how to escape ":" or "(1)"? multiline?
The nodes are free to drag around.
looks cool and easy, like it
This seems really nice as a sketchpad for small flowcharts. I'd definitely use it to map out a small piece of work, because I'm terrible at laying out flowcharts on scrap paper without wasting space or painting myself into a corner.

One minor annoyance: I can't use tab/shift+tab to indent or dedent lines.

Thank you, that's a good suggestion. Making a note
Do it for all the selected lines, when multiple lines have been selected and tab pressed.
I'm in love. I want this as part of an assertion workflow for some of the graph building interfaces we're envisioning for biological data. For example you could allow lines to call from autocompletes, and store some metadata (e.g. extensions of labels) so that the whole widget could be embedded in your tool.
Very nicely done. I'll be using this a lot!
I have now used this to explain some of our architecture to a client over Teams.

If you guys haven't tried building up a diagram, live, step by step like an ad-hoc slideshow, I seriously recommend it.

It would be great to have an option to be able to save the text to a file, and load text from a file.

Also an ability to click a line and create a connected node.

Also it would be great to drive the app from the diagram, ie generate text from the diagram.

Anyway I like it. I've used Linux Mint's built in Web Apps tool to create an offline version.

The text lines are just a single textarea element, you can copy from and paste into it. But saving and loading files would be convenient too.
Would be cool if you modified the chart and it kept it's position when editing.
I'd like to suggest this one here too https://asciiflow.com/. I've been using it to share ideas with engineers and everybody likes it
Gorgeous!

I bet there's a lost history (or oral history, but they're the nearly same after 60+ years) of tools exactly like this that goes back to the times of the PDP-1 and super early hacker culture.

And I bet there's been a version of it written for every operating system at some point. It just seems so necessary and relatively straight forward.

A lot of my emails are becoming like this - structured, bullet points, 'if-then-else' like statement although not that explicit. This could be a nice way to add visualisation to it. Maybe - although everytime I have tried to do something too different with email it has failed.
I’ve started doing the same. Folks’ reading comprehension is in the gutter these days. Bullet points help structure thoughts and ideas.
Is reading comprehension in the gutter, or are people more resistant to emails full of badly-structured fluff?
What I find odd is that some of my best engineers write the worst emails (no structure, very verbose, emotive).

That might be their outlet perhaps after a spending a day being acutely focused on cutting code!

I love this idea.

It would be great to have this as a command line tool.

I can envision a lot of cool features for this, like being able to add color via text markup, or being able to use circles instead of boxes for the nodes.

A list I compiled of 40+ similar text to diagram tools. https://xosh.org/text-to-diagram/

Input in this one is very simple and cool.

Missing Ilograph: https://app.ilograph.com/

It's heavier-duty compared to most of the others you have listed, but should appeal to engineers who want something more robust.

This is amazing. Basically making architecture diagrams from yaml.
It's much more sophisticated! It might be very powerful to have some wordsmith support in the authoring of the text, for example, in the org-mode of emacs, especially, the collapse (folding) of sub-trees.
I have some feedback. Would love to chat. My email is in profile.
Mine is profile name

BTW mine is only a list and I won't mind any feedback here in comments.

One main idea that would make your list 3x better: add a code snippet from each one.
This is a really good idea, thanks. Snippet won't be enough to cover the usages though. Most of these tools use varying syntax for different diagrams.

Anyone looking for a specific need can go through the links to find out which one is better.

Go through some of them. It's hard to summarize a tools function in a single snippet. Same goes for screenshots. How would you do that?

> Anyone looking for a specific need can go through the links to find out which one is better.

98% of people don't have time for that. If a snippet or tiny screenshot can't reveal some of the essence of the language it's probably not very good.

Is there a way to tell which are downloadable/usable offline/locally vs which are websites without clicking through each one?
I needed these tools for quick in-browser use so they are mostly online. Only few of them can be used offline.
Unfortunately my corporate firewall/IT-Policy blocks this page, possibly due to the *.fun domain. Any other way to try this out for those working in an office? ( I know I'm an outlier at this time)
setup a web-based proxy in the cloud - make sure its in front of a .com domain (that does not have the word "proxy" in it) and get your SSL certs right.

Here's a popular package: https://mitmproxy.org/ You might have to add some basic auth layer to it so as not to make it open to the world.

or just use your cellphone.

Are you seriously counseling someone to run mitmproxy in order to puch a hole out of their employer's network?
Implementing the use of a '?' in order to generate a diamond shaped "if/else" would be nice. For example:

Some text(2) Yes: (line num) No: (line num)

This would be nice.

You can do it now with full nodes but would be nice to have a specific node type for that

  This is my chart
   This is a conditional statement
    Yes: Do thing A
    No: Do thing B