[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[O] Process diagrams with dot and some glue using Org-mode
From: |
Karl Voit |
Subject: |
[O] Process diagrams with dot and some glue using Org-mode |
Date: |
Wed, 26 Jun 2013 17:23:03 +0200 |
User-agent: |
slrn/0.9.9 (Linux) |
Hi!
I was looking for a reasonable simple method to define processes and
work-flows within Org-mode. My research did not result in anything
existing I found useful. Therefore, I started to read about dot[1]
and found [2].
I would like to define my diagram with the following two tables: one
for the node definitions and one for the interconnections between
notes. The syntax should be pretty self-explanatory (or at least I
hope so):
#+name: foobar-node-table
| *node* | *label* | *shape* | *fillcolor* |
|------------+----------------+---------+-------------|
| S_start | start | ellipse | green |
| S_fill | fill form | | |
| S_send | send form | | |
| S_complete | form complete? | diamond | yellow |
| S_do | do task | | red |
| S_end | end | ellipse | |
#+name: foobar-graph-table
| | S_start | S_fill | S_send | S_complete | S_do | S_end |
| S_start | | - | | | | |
| S_fill | | | > | | | |
| S_send | | | | > | | |
| S_complete | | N> | | | Y> | |
| S_do | | | | | | > |
| S_end | | | | | | |
Some (still missing) glue should use these two tables and
automatically generate the dot script:
#+BEGIN_SRC dot :file ~/test-dot.png :exports results
digraph {
//rankdir=LR;
S_start [label ="start", shape = "ellipse", style=filled,
fillcolor="green"];
S_fill [label ="fill form", shape = "box"];
S_send [label ="send form", shape = "box"];
S_complete [label ="form complete?", shape = "diamond", style=filled,
fillcolor="yellow"];
S_do [label ="do task", shape = "box", style=filled, fillcolor="red"];
S_end [label ="end", shape = "ellipse"];
S_start -- S_fill;
S_fill -> S_send;
S_send -> S_complete;
S_complete -> S_do [taillabel = "Y"];
S_do -> S_end;
S_complete -> S_fill [taillabel = "N"];
}
#+END_SRC
The question is: is somebody with decent ELISP knowledge able to
implement the missing method? :-)
I (not an ELISP hacker) would have to use Python and write a table
parsing class which will get too complicated for my taste :-(
However, my guess is that this could be implemented in ELISP with
much less effort.
I would be happy to document this method and provide it on Worg. In
my opinion, this would be very handy for many Org-mode users.
Thanks!
1. https://en.wikipedia.org/wiki/DOT_language
2. http://orgmode.org/worg/org-contrib/babel/languages/ob-doc-dot.html
--
mail|git|SVN|photos|postings|SMS|phonecalls|RSS|CSV|XML to Org-mode:
> get Memacs from https://github.com/novoid/Memacs <
https://github.com/novoid/extract_pdf_annotations_to_orgmode + more on github
- [O] Process diagrams with dot and some glue using Org-mode,
Karl Voit <=
Re: [O] Process diagrams with dot and some glue using Org-mode, Thorsten Jolitz, 2013/06/26