Show HN: Indented outline to graphviz
github.com
github.com
The nice approach would be to take cue from HTML and separate content from presentation. As for syntax, something lightweight with as little braces/operators/interpunction as possible.
OK, there is "A -> B; A -> C" vs "A: B C".
However, also "A -> B -> C" vs "A: B\nB: C".
The reverse situation can be also a problem. 'Subtopic one', 'subtopic one' and 'subtopic One' for example, are taken as three different nodes. This can either be good or bad.
Other problem is that your code generates a bad graph when you have a " in the infile. Try it with: Topic "Two"
I agree. In fact, I set out to make it this way initially. It's either more difficult to implement this, or I don't know the dot language well enough - probably the latter.
I did a dirty hack to do exactly what you're saying for a scientific paper. I modified the code to check if the current line/topic/node was already mentioned in the output string. If so, I tacked on a random number to the node name. Yuck.
Ideally, there would be option to preserve a strict tree-like architecture in better way.
Something like this should be enough
"topiconesubtopictwo" [label = "subtopic two"];
"topictwosubtopictwo" [label = "subtopic two"];
Or alternatively you can use a counter. 12 [label = 'subtopic two'];
22 [label = 'subtopic two'];
If you avoid spaces you can also forget the quotes (but quotes are safer) topiconesubtopictwo [label = "subtopic two"];
But avoid to name nodes with '_' and '.' topic_one_subtopic_two [label, etc...]
topic.one.subtopic.two [label, etc...]I was reading (long) literature review and wanted to create a condensed outline of the topics while preserving the hierarchies. An indented list of keywords was a natural way to do this while reading. Afterwards, I was interested in visualizing the result.
# main
## topic one
### subtopic one
## topic two
I also have md on Github that I might want to use.
If you've got a real document that produces a non-trivial graph when you render its headers this way, you've probably got yourself a really, really poorly written document. Written text needs to have been serialized somehow, and as a side effect, you'll make the graphviz view of the document pathologically uninteresting. Conventional outline views are much better suited for written text.