#Graphviz

2026-01-23

Книга в 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

2026-01-22

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

Oberon Ohanaoberono
2026-01-18

@andre_ourednik
I thought you would enjoy that what I've spent most of my time since May 11, 2019 has been working on something that I called Ouroboros Tree. There are some domain intersects with your use as well. I focus, now, on an extremely simple data and material flow ontology (w3id.org/dfd+material with similar s-p-o)

I found you via , as I adorn my nodes after running through (HPCC's WASM version).

orng.org/#art857

Oberon Ohanaoberono
2026-01-18

I often attempt to do things I don't have to, in order to prove I understand. For instance, right now I generate the nodes with and adorn them with . I wrote a library that does this for shared graphics, but there is no reason to do this for the key. Scraped inference is irrelevant.

2025-12-13
Orbifold Consultingorbifold
2025-11-01

LaNet is a high-performance Python network visualization package using k-core decomposition. Reveals hierarchical structure from peripheral nodes to dense cores in networks with millions of nodes. github.com/conexdat/LaNet-vi?t

N-gated Hacker Newsngate
2025-10-29

Who needs when you can wrestle with and summon the Graphviz gods yourself? 🕷️✨ Apparently, 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/

Else, Someone @ FOSDEMnobody@mastodon.acm.org
2025-10-23

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

#graphviz

Jared Jenningsjaredj@bsd.cafe
2025-10-08

@wvc when i want to show connections between things, but their relative positions don't mean anything, i use #graphviz. when positions do matter, i use #pikchr. if i'm not sure what i want to show, or there are multiple things to show from the same dataset, or the data changes, i generate graphviz from the data. netbox, php-ipam, racktables may support your use case more specifically, but it sounds like you want something more open-ended.

2025-09-15

#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

2025-09-05

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

2025-09-04

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

/dev/aubergine0nasunasu@bsd.network
2025-08-30

I normally don’t think of myself as a #control #freak.

But maybe, just maybe, when I wanted part of the #graphviz node representing a device on my desk to not only reflect the layout of connector ports, but also the colors of the panels around each connector. The computer itself is mostly black with a gray front panel (such a bold fashion choice, I know). One of the other devices is split between blue and black panels around connectors.

So goodbye records, and hello #html-style nested tables.

At least with #Emacs #orgmode and #tangle it is easy to assemble the labels, and dare I say, almost attractive.

/dev/aubergine0nasunasu@bsd.network
2025-08-27

More and more I find myself using #Graphviz to #diagram how devices are physically interconnected. Partly because I #appreciate the power of plain text and a #commit to a source code #repository. Mostly because I appreciate not having to manually arrange #allthethings.

Orbifold Consultingorbifold
2025-08-21

SurrealDB has a shiny graph visualization canvas and although it isn't surreal in any way, it's a welcome feature on top of an already very nice database. surrealdb.com/blog/visualizing

Orbifold Consultingorbifold
2025-08-21

SurrealDB has a shiny graph visualization canvas and although it isn't surreal in any way, it's a welcome feature on top of an already very nice database. surrealdb.com/blog/visualizing

Diomidis SpinellisCoolSWEng@mastodon.acm.org
2025-08-14

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

— In UML create a comment note.

— In UML diagrams, a **comment** (or “note”) is shown as a rectangle with a dog-eared corner.
Graphviz can mimic this by using `shape=note`.

Example in DOT:

```dot
digraph UML_Comment {
    rankdir=LR;
    node [fontname="Arial", fontsize=12];

    // Regular UML component
    A [label="«component»\nOrder Service", shape=component];

    // UML comment
    Cmt [label="Processes orders\nand handles payments", shape=note, style=filled, fillcolor="#ffffcc"];

    // Dashed association from comment to element
    Cmt -> A [style=dashed, arrowhead=none];
}
```

**Key points:**

* `shape=note` → dog-eared corner rectangle.
* `fillcolor` → makes the note background match UML style (light yellow is common).
* `style=dashed, arrowhead=none` → matches UML’s “annotates” relationship from a comment to a model element.

---

If you want, I can insert UML comment nodes into your **O1/O2 Graphviz diagram** to annotate entire clusters or specific tasks, so they look like sticky notes connected to the relevant part. Would you like me to do that?
2025-08-06

A note-to-self blog post: Plain simple dependency diagram with GraphViz syslog.me/2025/07/30/plain-sim
#graphviz #DataViz

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst