R
R
raiboon2015-01-09 11:46:33
Programming languages
raiboon, 2015-01-09 11:46:33

Is there a language for creating images?

Here I am writing a note, suppose for a markdown. I need a graph-flowchart-draw the architecture of the project - with badancers-data-sources-applications. To do this, I have to suffer - go ipython and generate a graph, or libreoffice-draw for flowcharts-drawings.
Isn't there a simple declarative programming language for this? After all, many people have to write articles, work notes, and maintain documentation. It would be convenient to do everything and keep it in one place.
I'm asking because I want to implement this markdown extension for my needs, but maybe there's already a cool solution that I haven't Googled to.

Answer the question

In order to leave comments, you need to log in

4 answer(s)
P
pi314, 2015-01-09
@raiboon

Definitely Graphviz !
AsciiDoc, for example, has a plugin. Then right in the text it is enough to write:

digraph {
    graph [rankdir=TD,ranksep=0.5,fontname=Arial]
    node [shape=box,fontname=Arial,fontsize=12,style="rounded"]
    edge [fontsize=8, fontname=Arial]

    user [shape=diamond, label="User", fillcolor=yellow, style="rounded,filled"]
    nginx [label="Nginx Web Server \n (http://ctxm.ornet.org)", style="bold,rounded"]
    jenkins [label="Jenkins"]
    nexus [label="Nexus"]
    sonar [label="Sonar"]
    postgres [label="PostgreSQL"]
    openldap [label="OpenLDAP"]
    volumes [label="volumes\n (data persisted here!)", constraint=false,color=gray, fillcolor=gray, style="rounded,filled"]

    user -> nginx[label="access", style=tapered, penwidth=3 ]

    nginx -> nexus[label="\/nexus"]
    nginx -> sonar[label="\/sonar"]
    nginx -> jenkins[label="\/jenkins"]
    nginx -> volumes [label="volumes-from",color=gray]
    openldap -> volumes [label="volumes-from",color=gray]
    postgres -> volumes [label="volumes-from",color=gray]
    jenkins -> openldap
    jenkins -> nexus
    jenkins -> volumes [label="volumes-from",color=gray]
    nexus -> openldap
    nexus -> volumes [label="volumes-from",color=gray]
    sonar -> postgres
    sonar -> openldap
    sonar -> volumes [label="volumes-from",color=gray]
}

And in the output it will give a picture:
ba7f453819c64a89a79d97fafcfd886c.png

M
maaGames, 2015-01-09
@maaGames

graphviz You
prepare (program or generate) a text file with a description of the flowchart, and graphviz makes a picture from it with automatic distribution of blocks.

A
Alexey P, 2015-01-09
@ruddy22

POV-Ray
you program
based on the code, the picture is rendered,
an example of the picture can be viewed here

G
globuser, 2015-01-10
@globuzer

JavaScript + SVG modules and libraries

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question