Есть ли язык для создания изображений?

Вот пишу я заметку, предположим на маркдаун. Мне нужен график-блок-схема-нарисовать архитектуру проекта - с бадансерами-источниками-данных-приложениями. Для этого мне приходится мучиться - идти ipython и генерить график, или libreoffice-draw для блок-схем-рисунков.
А нет ли простого декларативного языка программирования для этого? Ведь многим приходится писать статьи, работы заметки, вести документацию. Удобно же всё было бы делать и держать в одном месте.
Спрашиваю, потому что хочу реализовать это расширение markdowna для своих нужд, но может уже есть классное решение, до которого я не догуглил.
  • Вопрос задан
  • 2483 просмотра
Решения вопроса 1
pi314
@pi314
Президент Солнечной системы и окрестностей
Однозначно Graphviz!
В AsciiDoc, например, есть плагин. Тогда прямо в тексте достаточно написать:
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]
}

А на выходе это даст картинку:
ba7f453819c64a89a79d97fafcfd886c.png
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
maaGames
@maaGames
Погроммирую программы
graphviz
Подготавливаешь (программируешь или генерируешь) текстовый файл с описанием блок-схемы, а graphviz по нему делает картинку с автоматическим распределением блоков.
Ответ написан
Комментировать
ruddy22
@ruddy22
Спасение утопающих — дело рук самих утопающих
POV-Ray
программируешь
на основе кода рендерится картинка
пример картинки можно посмотреть тут
Ответ написан
Комментировать
globuzer
@globuzer
gezgrouvingus progreszive ombusgrander greyderzux
JavaScript + модули и библиотеки SVG
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы