TGViewer
ServerAdmin.ru ServerAdmin.ru @srv_admin · 32.6K subscribers
Post #4643 10.1K
Ранее я упоминал про различные движки, которые позволяют описывать диаграммы кодом. Они все собраны на сайте kroki.io, где их удобно оценить по визуальному оформлению и попробовать на готовых примерах что-то нарисовать.

Для движков с этого сайта есть расширение для VSCode - Markdown Kroki. С его помощью удобно рисовать схемы, так как тут же в соседнем окне можно открыть preview в режиме реального времени. Я попробовал, как это работает на наиболее актуальном по моему мнению движку для рисования схем сети - nwdiag.

Удобство такого подхода в том, что схема и все её изменения можно хранить в git репозитории. Я сделал для этого тестовый репо в gitflic, установил расширение, создал в репозитории файл в формате .md. Начал рисовать схему сети. Что получилось, можно посмотреть в репозитории или ниже на картинке. Попробовал основные возможности по оформлению.

Впечатления о nwdiag следующие. Это простой движок разметки. Не нужно ничего учить, можно сразу брать и делать. Я даже документацию не смог к нему найти. Есть ли она вообще? Просто посмотрел готовые примеры и начал пробовать.

Из-за его простоты ограничены возможности. Например, нельзя указать цвет фона. Из-за этого пришлось изменить тему VSCode с тёмной на светлую, иначе на тёмном фоне не видно чёрный шрифт, для которого тоже нельзя изменить ни размер, ни цвет. Это возможно только при экспорте в формат SVG. Там уже можно свои стили использовать.

Также нельзя задать координаты элементов, как-то подвигать их. Они отображаются в том порядке, как описаны в коде. Для маленьких схем некритично, а вот в больших захочется как-то скомпоновать элементы для наглядного представления, но не получится. Придётся изменением порядка в описании пытаться что-то изобразить.

Расширение только отображает схему в preview. Экспорт в картинку не делает, так что не получится её положить рядом с кодом. Смотреть придётся в редакторе или делать простенький пайплайн, создавай картинку на каком-то своём сервер с загрузкой в репозиторий.

Nwdiag можно установить через pip:

# pip install nwdiag

И потом из кода рисовать картинки:

# nwdiag diagram.diag

При коммите нужно будет забрать код md файла, обрезать первую и последнюю строки, где указан тип движка для расширения. То есть убрать нужно строки:

```nwdiag

и

```

А потом уже рисовать картинку через nwdiag. Можно там же и некоторую красоту навести, например, сразу изменяя шрифт:

# nwdiag -f /usr/share/fonts/truetype/ttf-dejavu/DejaVuSerif.ttf diagram.diag

Из подобных сервисов есть Graphviz и Mermaid, но они более сложные в освоении и без акцента на сети. Там нужно будет заморочиться, чтобы оформить такую же наглядную схему сети, которая в nwdiag создаётся за 10 минут.

Ещё отдельно напомню, что схемы, нарисованные вручную в excalidraw тоже могут храниться в git репозитории и автоматически рендериться в картинки, на которые можно указывать ссылки в различных документах.

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#схемы
  • 👍 78
  • 👎 3
More from @srv_admin
  1. Oct 7, 2026Рассказываю про одну простую, но очень полезную в хозяйстве штуку для передачи файлов межд…
  2. Oct 7, 2026❓Какие реальные возможности у 1С:Расширенная корпоративная лицензия (1С:РКЛ) и как компани…
  3. Oct 7, 2026Столкнулся на днях с типичной ситуацией, когда катастрофически вырос Load Average на серве…
  4. Oct 6, 2026🎉 10 лет Kaspersky Anti Targeted Attack — юбилейный стрим! Друзья, делимся анонсом важног…
  5. Oct 6, 2026Компания Selectel выкатила в public preview своего бесплатного ИИ-агента aish. Далее будет…
  6. Oct 5, 2026На прошлой неделе Mikrotik сделал рассылку с обзором своих новых продуктов. Я последние го…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →