используйте код диаграммы PlantUML в PHP/Phabricator

#php #uml #phabricator #plantuml

Вопрос:

Ищу советы от разработчиков, знакомых с PHP или внутренними компонентами Phabricator, о том, как сделать так, чтобы Phabricator содержал PlantUML (диаграммы преобразования текста в UML) на вики-страницах, задачах. Так что этот фрагмент кода UML в грамматике GitHub/GitLab

 ```plantuml

Bob->Alice : hello

```
 

будет показано в виде диаграммы на визуализированной вики-странице.

пример сгенерированной диаграммы последовательности

Страница «Вызовите его с PHP» на https://plantuml.com/demophp.php есть 404 - Not Found .

ОБНОВЛЕНИЕ Пожалуйста, добавьте ответ с любыми дальнейшими улучшениями или предложениями.

Комментарии:

1. вы смотрели на инструменты, использующие plantuml , чтобы иметь примеры интеграции ? Также клиентский код PHP API (ссылка в plantuml.com/fr/sitemap-plugins )

2. Спасибо, что я это сделал, позвонив на сервер с github.com/jawira/plantuml-encoding показанный в качестве примера не является намерением. Мы можем развернуть plantuml.jar для Phabricator вопрос будет заключаться в том, как интегрировать его (локальное) использование в коде Phabricator.

3. Mediawiki (источник Википедии, на PHP) имеет расширение для PlantUML. Будет ли что-то подобное этому коду работать для вас?

Ответ №1:

Синтаксис, который вы использовали, предназначен для подсветки синтаксиса исходного кода. Я думаю, что для этой цели было бы лучше определить новый тег примечаний (путем расширения PhabricatorRemarkupCustomBlockRule в пользовательском расширении), а не пытаться перегружать подсветку синтаксиса.

К сожалению , я не могу найти никаких примеров расширения PhabricatorRemarkupCustomBlockRule , но есть примеры расширения PhabricatorRemarkupCustomInlineRule , которые должны быть похожими, например, здесь: https://discourse.phabricator-community.org/t/hyperlink-to-external-bug-tracking-system/1415

Комментарии:

1. Спасибо, это только начало. Да, это именно то, как писать в уценке, чтобы получить картинку, а не просто выделить. См., например, GitLab docs.gitlab.com/ee/administration/integration/plantuml.html