home.social

#graphviz — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #graphviz, aggregated by home.social.

  1. With larger graph sizes it can even look pretty!
    (Thanks to #graphviz neato ✨)

  2. Ever wanted to render Graphviz graphs in the browser with pure Python? Now you can 🐍🌐
    Check out the WebAssembly-powered package gvrender! 👇 #Python #WASM #Graphviz

  3. I recently more often view generated SVGs in #Emacs

    - build system task dependency graph like codeberg.org/harald/pythonbuil
    - class dependency graph for a TypeScript project generated from github.com/PSeitz/ts-dependenc

    In both cases it would be great if clicking on a node would result in some emacs command being called.

    Any ideas?

    #pythonbuilder #tsDependencyGraph #graphviz #svg

  4. Silly question for the static webpage people here…

    I want to put together a documentation webpage for a system that a few of us have developed. This isn't API documentation, but rather end-user documentation. Some of it will discuss deployment instructions, but there'll be a lot of diagrams and screenshots. I'll host a copy of it, but it will probably also get shipped with the application.

    For source-code documentation, I quite like using Doxygen, since it can integrate well with `graphviz` and `mscgen`. `graphviz` is good for showing state transition diagrams, and `mscgen` is great for displaying how messages are passed between systems.

    It's good being able to define the diagram *in the text* and have a diagram generated in its place. Makes things a lot easier to maintain.

    Doxygen though doesn't work so well without source code. That's 99% of what it does, parse source code for docstrings and format them.

    At work I had a similar situation, my employer had chosen to use Hugo, and I needed `graphviz`, the kludge taken there was to use client-side JavaScript to render the diagram. I'd like to avoid that here.

    Is there a static website generator out there that can take a block of text in my markdown, and use `graphviz`/`mscgen` to place a diagram in its place?

    #StaticWeb #Graphviz #mscgen

  5. Книга в Markdown: Автоматическая сборка статического сайта mdBook и файла DOCX с оформлением по ГОСТ

    Текст книг, учебных пособий, научно-технических статей, документации, дипломных и курсовых работ часто набирается и редактируется в WYSIWYG-редакторе, таком как Microsoft Word, в том числе вследствие того, что издательства и организации требуют от авторов оформленный по ГОСТ или внутренним стандартам docx-документ. Процесс работы в Microsoft Word и аналогичных редакторах не лишён недостатков: docx-файлы трудно версионировать в git, а для объединения нескольких документов в один придётся перенумеровывать источники, рисунки, таблицы, формулы. Альтернативой docx является LaTeX. Однако работа со стилями в LaTeX простотой и минималистичным синтаксисом не отличается , причём издательства от использования формата docx отказываться не торопятся. А инструменты в духе typst отличаются нестандартным синтаксисом языка для описания документов, причём возможность генерации сайтов в typst имеет пометку «in preview». Markdown — популярный и удобный язык разметки, но это также и очень ограниченный формат. Поэтому задача написания в Markdown сложной технической документации по ГОСТ, научной статьи с автоматической настройкой оформления для заданного издательства или хорошо оформленного онлайн-учебника может показаться неосуществимой. В этой статье рассмотрим способ работы над научно-техническими статьями и книгами в формате Markdown на основе подхода Docs as Code с учётом строгих ограничений на оформление, используемый Петром Советовым @true-grue и мной при подготовке учебных материалов в РТУ МИРЭА. Способ заключается в применении утилиты pandoc для построения дерева абстрактного синтаксиса (AST) Markdown-документа с последующим переписыванием AST набором фильтров на Lua и трансляцией AST в форматы docx и pdf, соответствующие ГОСТ, а также в диалект markdown, совместимый с mdBook , для генерации онлайн-учебника в виде статического сайта. Исходный код книги , написанной с использованием описанного в статье подхода, опубликован на GitHub.

    habr.com/ru/articles/987982/

    #pandoc #markdown #lua #python #документирование #гост #docx #graphviz #mdbook #github

  6. Книга в Markdown: Автоматическая сборка статического сайта mdBook и файла DOCX с оформлением по ГОСТ

    Текст книг, учебных пособий, научно-технических статей, документации, дипломных и курсовых работ часто набирается и редактируется в WYSIWYG-редакторе, таком как Microsoft Word, в том числе вследствие того, что издательства и организации требуют от авторов оформленный по ГОСТ или внутренним стандартам docx-документ. Процесс работы в Microsoft Word и аналогичных редакторах не лишён недостатков: docx-файлы трудно версионировать в git, а для объединения нескольких документов в один придётся перенумеровывать источники, рисунки, таблицы, формулы. Альтернативой docx является LaTeX. Однако работа со стилями в LaTeX простотой и минималистичным синтаксисом не отличается , причём издательства от использования формата docx отказываться не торопятся. А инструменты в духе typst отличаются нестандартным синтаксисом языка для описания документов, причём возможность генерации сайтов в typst имеет пометку «in preview». Markdown — популярный и удобный язык разметки, но это также и очень ограниченный формат. Поэтому задача написания в Markdown сложной технической документации по ГОСТ, научной статьи с автоматической настройкой оформления для заданного издательства или хорошо оформленного онлайн-учебника может показаться неосуществимой. В этой статье рассмотрим способ работы над научно-техническими статьями и книгами в формате Markdown на основе подхода Docs as Code с учётом строгих ограничений на оформление, используемый Петром Советовым @true-grue и мной при подготовке учебных материалов в РТУ МИРЭА. Способ заключается в применении утилиты pandoc для построения дерева абстрактного синтаксиса (AST) Markdown-документа с последующим переписыванием AST набором фильтров на Lua и трансляцией AST в форматы docx и pdf, соответствующие ГОСТ, а также в диалект markdown, совместимый с mdBook , для генерации онлайн-учебника в виде статического сайта. Исходный код книги , написанной с использованием описанного в статье подхода, опубликован на GitHub.

    habr.com/ru/articles/987982/

    #pandoc #markdown #lua #python #документирование #гост #docx #graphviz #mdbook #github

  7. Книга в Markdown: Автоматическая сборка статического сайта mdBook и файла DOCX с оформлением по ГОСТ

    Текст книг, учебных пособий, научно-технических статей, документации, дипломных и курсовых работ часто набирается и редактируется в WYSIWYG-редакторе, таком как Microsoft Word, в том числе вследствие того, что издательства и организации требуют от авторов оформленный по ГОСТ или внутренним стандартам docx-документ. Процесс работы в Microsoft Word и аналогичных редакторах не лишён недостатков: docx-файлы трудно версионировать в git, а для объединения нескольких документов в один придётся перенумеровывать источники, рисунки, таблицы, формулы. Альтернативой docx является LaTeX. Однако работа со стилями в LaTeX простотой и минималистичным синтаксисом не отличается , причём издательства от использования формата docx отказываться не торопятся. А инструменты в духе typst отличаются нестандартным синтаксисом языка для описания документов, причём возможность генерации сайтов в typst имеет пометку «in preview». Markdown — популярный и удобный язык разметки, но это также и очень ограниченный формат. Поэтому задача написания в Markdown сложной технической документации по ГОСТ, научной статьи с автоматической настройкой оформления для заданного издательства или хорошо оформленного онлайн-учебника может показаться неосуществимой. В этой статье рассмотрим способ работы над научно-техническими статьями и книгами в формате Markdown на основе подхода Docs as Code с учётом строгих ограничений на оформление, используемый Петром Советовым @true-grue и мной при подготовке учебных материалов в РТУ МИРЭА. Способ заключается в применении утилиты pandoc для построения дерева абстрактного синтаксиса (AST) Markdown-документа с последующим переписыванием AST набором фильтров на Lua и трансляцией AST в форматы docx и pdf, соответствующие ГОСТ, а также в диалект markdown, совместимый с mdBook , для генерации онлайн-учебника в виде статического сайта. Исходный код книги , написанной с использованием описанного в статье подхода, опубликован на GitHub.

    habr.com/ru/articles/987982/

    #pandoc #markdown #lua #python #документирование #гост #docx #graphviz #mdbook #github

  8. Книга в Markdown: Автоматическая сборка статического сайта mdBook и файла DOCX с оформлением по ГОСТ

    Текст книг, учебных пособий, научно-технических статей, документации, дипломных и курсовых работ часто набирается и редактируется в WYSIWYG-редакторе, таком как Microsoft Word, в том числе вследствие того, что издательства и организации требуют от авторов оформленный по ГОСТ или внутренним стандартам docx-документ. Процесс работы в Microsoft Word и аналогичных редакторах не лишён недостатков: docx-файлы трудно версионировать в git, а для объединения нескольких документов в один придётся перенумеровывать источники, рисунки, таблицы, формулы. Альтернативой docx является LaTeX. Однако работа со стилями в LaTeX простотой и минималистичным синтаксисом не отличается , причём издательства от использования формата docx отказываться не торопятся. А инструменты в духе typst отличаются нестандартным синтаксисом языка для описания документов, причём возможность генерации сайтов в typst имеет пометку «in preview». Markdown — популярный и удобный язык разметки, но это также и очень ограниченный формат. Поэтому задача написания в Markdown сложной технической документации по ГОСТ, научной статьи с автоматической настройкой оформления для заданного издательства или хорошо оформленного онлайн-учебника может показаться неосуществимой. В этой статье рассмотрим способ работы над научно-техническими статьями и книгами в формате Markdown на основе подхода Docs as Code с учётом строгих ограничений на оформление, используемый Петром Советовым @true-grue и мной при подготовке учебных материалов в РТУ МИРЭА. Способ заключается в применении утилиты pandoc для построения дерева абстрактного синтаксиса (AST) Markdown-документа с последующим переписыванием AST набором фильтров на Lua и трансляцией AST в форматы docx и pdf, соответствующие ГОСТ, а также в диалект markdown, совместимый с mdBook , для генерации онлайн-учебника в виде статического сайта. Исходный код книги , написанной с использованием описанного в статье подхода, опубликован на GitHub.

    habr.com/ru/articles/987982/

    #pandoc #markdown #lua #python #документирование #гост #docx #graphviz #mdbook #github

  9. Having the freedom to chose my work environment on the computer, I move more and more tasks to Emacs recently, like running terminal windows with codeberg.org/harald/terminal-f . Another pet of mine is my python build system: codeberg.org/harald/pythonbuil

    The latter can produce a nice SVG graph, using #graphviz, of the dependency tree of the build setup.

    And should I forget which targets the build has, it is just a C-x C-f dependencies.svg away to see that graph.😀

    #emacs #terminal_frame #pythonbuilder

  10. CW: AoC day 11: Reactor

    On day 11, both parts were quite simple: counting paths required a DFS with cache.

    On part 2, the cache was different… unless one had an epiphany to solve it using part 1 because the input graph was a Direct-Acyclic-Graph: therefore ensuring one of fft->dac or dac->fft would have no paths; the solution would be paths(svr->fft)×paths(fft->dac)×paths(dac->out).

    Yet I did not think of this, and that's despite using the first minutes actually plotting the input:

    #AdventOfCode #dot #graphviz

  11. Who needs #Graphviz when you can wrestle with #JavaScript and summon the Graphviz gods yourself? 🕷️✨ Apparently, #reinventing #wheels is the new black, because why use a perfectly good tool when you can spend eons building something that might almost work! 🙃🔧
    spidermonkey.dev/blog/2025/10/ #programming #humor #HackerNews #ngated

  12. I can never remeber, but: "subgragh names start with 'cluster_'; subgraph names start with 'cluster_'; subgraph names..."

    #graphviz

  13. #Graphviz oneliner (save the downloaded .dot locally if you use this!)

    DEPTH=5 WIKI="commonswiki" PAGE="File:The_Bug_Peek.jpg" curl "vcat.toolforge.org/render?wiki" | dijkstra ROOT0 | gvpr -c 'BEG_G {concentrate="true"; mclimit=100; label=""; flow="back"; Defcolor="black"; nodesep=0.04; ranksep=0.1} E {arrowhead="none"; penwidth=0.2} N {shape="point"; width=degree/10.0} N [$.name == "ROOT0"] {width=3.0} N [$.dist == 1.0] {color=sprintf("%f+0.8+1", rand())}' | dot | gvcolor | dot -Tsvg -o out.svg

  14. I put the javascript code up for converting dot files into an ascii graph. I decided to name the method/algorithm "Greedy Grabber, Right Lane Backtracker"

    codeberg.org/random-wizard/asc

    It is not as elegant as how standard dot, or neato graphs work. From tinkering with it, it seems to work well, visually, when the nodes have a lot of hierarchical structure with a small to moderate amount of cycles.

    Also, I can not help myself, but javascript is a really inelegant programming language in my opinion. The ... shallow copy feels like a hack. const feels like it was tacked on. Lack of strong typing. The lack of immutability constructs is something that leads to... very easy to shoot yourself in the foot when writing code. The automatic semi-colon insertion logic can easily get you when you are not paying attention (or even if the code is going to get put through a minifier).

    #graphviz #dataviz #javascript

  15. Working on a little documentation for ascii graphalizer. Using graphviz examples.

    graphviz.org/Gallery/neato/pro

    That simple dot file results in pic 1. When run through ascii graphalizer, it results in pic 2.

    Demo of ascii graphalizer
    random-wizard.neocities.org/as

    #graphviz #dataviz #graphs

  16. Many years ago I contributed to #GraphViz code for several new node shapes, including UML notes. Now #ChatGPT advises me how to use them! 😃

  17. Graphviz – kuten arvelinkin – tarjosi ratkaisun. Neato-algoritmillä graafin attribuuteiksi overlap=vpsc, overlap_scaling=0. Jokainen kansallispuisto fixedsize=true, shape=ellipse, overlap=false ja pos-attribuutti oikeaan kohtaan. Sitten kaikkien solmujen väliin jänteet laskennallisilla pituuksilla (n-1)² ja algoritmi näytti hoitavan homman. Koordinaatistomuunnos on "tyhmä" (asteet suoraan tuumiksi) mutta tällä nyt mennään ensin.
    #graphviz #kansallispuistot

  18. This cool trick (some would call it "dirty hack" 🙂) by @plantarum can be used for #dot/#graphviz, as well:

    (defun my-babel-execute-maybe ()
    (interactive)
    (org-mode)
    (org-babel-execute-maybe)
    (org-display-inline-images)
    (normal-mode))

    E.g. imagine this comment or doc string:

    /*
    #+BEGIN_SRC dot :file myfunction.svg :cmdline -Kdot -Tsvg
    digraph {
    a -> b;
    }
    #+END_SRC
    */

    #elisp #Emacs #orgmode

  19. I'm still using graphviz/dot to make infrastructure diagrams. It works pretty well but I think is showing its age, doesn't seem too well maintained and has some limitations.

    So what are the cool kids using for this nowadays? I really don't want to use a graphical tool though - I want to write a simple text format and put it in version control.

    #graphviz

  20. For God’s sake, Ubuntu — Graphviz 2.42 was released more than 5 years ago! How much longer do we have to wait for you to catch up? This is ridiculous. Just don’t become another Debian stuck in the past.

  21. Technically, we can perform this #upgrade across all the environments in parallel, or in any order we choose. At least that’s what the #dependency #graph says. (Thank you #graphviz!)

    Organizationally, it would be a terrible idea. There are well-established #reasons for keeping #production last in the list. They would not fit within the approximately one-third of a toot I have remaining.

    Tune in next week for another episode of “Can versus Should.”

  22. All new files my old `btrfs` filesystem creates are above 32-bit inode space:

    $ touch a && stat '-c%i' a
    11833717710

    Very occasionally I build 32-bit `i686-linux` packages. Sometimes they fail to run against file with so large inodes.

    Two casualties today:
    - `doxygen`: github.com/doxygen/doxygen/pul
    - `graphviz`: gitlab.com/graphviz/graphviz/-

  23. All new files my old `btrfs` filesystem creates are above 32-bit inode space:

    $ touch a && stat '-c%i' a
    11833717710

    Very occasionally I build 32-bit `i686-linux` packages. Sometimes they fail to run against file with so large inodes.

    Two casualties today:
    - `doxygen`: github.com/doxygen/doxygen/pul
    - `graphviz`: gitlab.com/graphviz/graphviz/-

    #doxygen #graphviz #bug

  24. All new files my old `btrfs` filesystem creates are above 32-bit inode space:

    $ touch a && stat '-c%i' a
    11833717710

    Very occasionally I build 32-bit `i686-linux` packages. Sometimes they fail to run against file with so large inodes.

    Two casualties today:
    - `doxygen`: github.com/doxygen/doxygen/pul
    - `graphviz`: gitlab.com/graphviz/graphviz/-

    #doxygen #graphviz #bug

  25. All new files my old `btrfs` filesystem creates are above 32-bit inode space:

    $ touch a && stat '-c%i' a
    11833717710

    Very occasionally I build 32-bit `i686-linux` packages. Sometimes they fail to run against file with so large inodes.

    Two casualties today:
    - `doxygen`: github.com/doxygen/doxygen/pul
    - `graphviz`: gitlab.com/graphviz/graphviz/-

    #doxygen #graphviz #bug

  26. All new files my old `btrfs` filesystem creates are above 32-bit inode space:

    $ touch a && stat '-c%i' a
    11833717710

    Very occasionally I build 32-bit `i686-linux` packages. Sometimes they fail to run against file with so large inodes.

    Two casualties today:
    - `doxygen`: github.com/doxygen/doxygen/pul
    - `graphviz`: gitlab.com/graphviz/graphviz/-

    #doxygen #graphviz #bug

  27. Seems Graphviz creates graphs in 3D. Not too readable when everything is a mess for my dead simple graph. Fortunately there's only about 6500 properties to go through one by one to check. Not too impressed.

    #graphviz #3d #fancybutnotreadable

  28. Seems Graphviz creates graphs in 3D. Not too readable when everything is a mess for my dead simple graph. Fortunately there's only about 6500 properties to go through one by one to check. Not too impressed.

    #graphviz #3d #fancybutnotreadable

  29. Seems Graphviz creates graphs in 3D. Not too readable when everything is a mess for my dead simple graph. Fortunately there's only about 6500 properties to go through one by one to check. Not too impressed.

    #graphviz #3d #fancybutnotreadable

  30. Seems Graphviz creates graphs in 3D. Not too readable when everything is a mess for my dead simple graph. Fortunately there's only about 6500 properties to go through one by one to check. Not too impressed.

    #graphviz #3d #fancybutnotreadable

  31. Seems Graphviz creates graphs in 3D. Not too readable when everything is a mess for my dead simple graph. Fortunately there's only about 6500 properties to go through one by one to check. Not too impressed.

    #graphviz #3d #fancybutnotreadable

  32. The interactive calculation sheet for #engineering, based on #emacs, #orgmode, #texlatex and #sympy is available in English [1], although the blog article is in German [2]. The template is also in English [3].

    #Orgmode is so impressive, you could use #maxima, #octave, #gnuplot, #graphviz and almost 40 other languages with all their libraries right out of the box [4].

    Have fun!

    [1] vennemann-online.de/flossblog/
    [2] vennemann-online.de/flossblog/
    [3] vennemann-online.de/flossblog/
    [4] orgmode.org/worg/org-contrib/b

  33. I think my #professional #accomplishment for the day was resisting the #temptation to use Slavic #expletives to label undesirable end states in a #graphviz diagram of a process.

    To the best of my knowledge, I am between zero and negligible percent Slavic, inclusive.

  34. Un très sympathique plugin maven générant un graphe de dépendance visuel (et filtrable) d'un projet maven aux formats GraphML, dot, ou PlantUML github.com/ferstl/depgraph-mav #maven #plugin #dépendances #graph #générateur #plantuml #graphviz

  35. Техникум: Как Проинициализировать Микроконтроллер [часть 2]

    Программа это реализация алгоритма. А алгоритм это упорядоченная последовательность действий. Поэтому очень большое значение имеет правильный порядок исполнения программы. В этом тексте я написал как автоматически выявить правильную последовательность инициализации

    habr.com/ru/articles/830964/

    #init #graphviz #tsort #sort #компиляторы #cygwin #uniq #GNU_make #dot #cpp

  36. Техникум: Как Проинициализировать Микроконтроллер [часть 2]

    Программа это реализация алгоритма. А алгоритм это упорядоченная последовательность действий. Поэтому очень большое значение имеет правильный порядок исполнения программы. В этом тексте я написал как автоматически выявить правильную последовательность инициализации

    habr.com/ru/articles/830964/

    #init #graphviz #tsort #sort #компиляторы #cygwin #uniq #GNU_make #dot #cpp

  37. Техникум: Как Проинициализировать Микроконтроллер [часть 2]

    Программа это реализация алгоритма. А алгоритм это упорядоченная последовательность действий. Поэтому очень большое значение имеет правильный порядок исполнения программы. В этом тексте я написал как автоматически выявить правильную последовательность инициализации

    habr.com/ru/articles/830964/

    #init #graphviz #tsort #sort #компиляторы #cygwin #uniq #GNU_make #dot #cpp

  38. Решатель Игры Set на Микроконтроллере

    Существует одна остроумная настольная игра, называется Set. Это игра на внимание. В этом тексте я показал, как я сконструировал автоматический решатель, чтобы всегда выигрывать в игру Set!

    habr.com/ru/articles/827128/

    #set #дополненная_реальность #datamatrix #graphviz #set_game #игра_сет #qrкоды #микроконтроллеры #GM67 #ATStartf437

  39. Решатель Игры Set на Микроконтроллере

    Существует одна остроумная настольная игра, называется Set. Это игра на внимание. В этом тексте я показал, как я сконструировал автоматический решатель, чтобы всегда выигрывать в игру Set!

    habr.com/ru/articles/827128/

    #set #дополненная_реальность #datamatrix #graphviz #set_game #игра_сет #qrкоды #микроконтроллеры #GM67 #ATStartf437