PlantUML: ifdef и JQuery
Для отрисовки диаграмм последовательности ( ака call flow ) постоянно пользуюсь утилитой plantuml. Пользуюсь и пользуюсь, на сайт не заглядываю, тем более что в офисе оно встроено в корпоративную wiki Atlassian Confluence. Так вот, забыл я какую-то особенность синтаксиса, полез на сайт, подсмотреть, а там... Оказалось, что с момента моего последнего посещения библиотека обросла множеством замечательных возможностей:
- Возможность написания однострочных и многострочных макросов. Позволяет определить, например функции для отрисовки каждого из задействованных протоколов своим цветом и стилем. Кроме того, использование макросов позволяет избавиться от слеждения за форматом стрелок, и писать диаграмму в чистом сигнально-протокольном псевдокоде:
@startuml !define SIP(a,b,c) a-[#red]->b: SIP c participant UA as UA participant SSW as SSW autonumber SIP(UA, SSW, Invite From: A To: B) SIP(SSW, UA, ACK) SIP(SSW, UA, 180 Ringing) SIP(SSW, UA, 200 OK + SDP) @enduml
- Описание UML-диаграмм в HTML-коде: JQuery-плагин позволяет использовать конструкции вида
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery_plantuml.js"></script>
<img uml="
A->B: Запрос
B->A: Ответ
">
- Поддержка констант, переменных среды и использование их в диаграммах
- Условная отрисовка с использованием директив !ifdef и !endif
- Включение дополнительных файлов ( include )
Теперь придётся половину архива проектов перерисовывать...
Комментарии
Отправить комментарий