PlantUML - текстовая нотация для создания диаграмм. Представляет из себя jar’ник, который можно натравить на текст и получить svg или png. Так же можно развернуть в виде web сервера, где будет UI.
Из уникальных отличий:
- имеет препроцессор, чтобы писать функции на нём
- у него есть поддержка разных нотаций, в том числе - C4 diagram
- можно включать диаграммы в диаграммы
Для текстовых редакторов и сервисов, типа Gitlab, поддерживается с помощью плагинов и настроек. Правда, для этого придётся развернуть тот же самый сервер. Это же и является главным минусом, потому что получается надо будет менять инфраструктуру.
Настройка сервера
Так как, основная киллер фича в том, чтобы наследовать компоненты, то надо разобраться как работают include.
- include может быть локального файла
- для этого надо присоединить директорию
- добавить её в настройки через
-Dplantuml.include.path=path/to/volume
- include можно делать по ссылке, подробно
- разрешено только по порту 80 и 443
- сервер умеет в авторизацию, но надо подкладывать файл конфигураций
- можно пойти и поставить 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