PlantUML - текстовая нотация для создания диаграмм. Представляет из себя jar’ник, который можно натравить на текст и получить svg или png. Так же можно развернуть в виде web сервера, где будет UI.

docker run -d -p 8080:8080 plantuml/plantuml-server:jetty

Из уникальных отличий:

Для текстовых редакторов и сервисов, типа Gitlab, поддерживается с помощью плагинов и настроек. Правда, для этого придётся развернуть тот же самый сервер. Это же и является главным минусом, потому что получается надо будет менять инфраструктуру.

Настройка сервера

Так как, основная киллер фича в том, чтобы наследовать компоненты, то надо разобраться как работают include.

  1. include может быть локального файла
    1. для этого надо присоединить директорию
    2. добавить её в настройки через -Dplantuml.include.path=path/to/volume
  2. include можно делать по ссылке, подробно
    1. разрешено только по порту 80 и 443
    2. сервер умеет в авторизацию, но надо подкладывать файл конфигураций
    3. можно пойти и поставить PLANTUML_SECURITY_PROFILE в UNSECURE и подключить всё подряд

puml vs markdown code block

В текстовых редакторах (как минимум, в Vs Code) есть разница между тем, как плагин рисует puml файлы и как рендерит блоки кода с языком plantuml. В случае отдельного файла рендер идёт через локальный jar файл, а вот предпросмотр markdown файла будет отправлять запрос на указанный сервер. Это может привести к проблемам, что локальные файлы не смогут быть импортированы.

Что дальше

context:: инструменты для создания диаграмм problem::

Источники

Как улучшить

  • расписать детальнее про include, SECURE_PROFILES и настройки plantuml server ✅ 2025-01-13