Как заменить диаграммы русалки изображениями, сохранив их в формате уценки, чтобы обеспечить удобный предварительный просмотр в TFS/Azure DevOps Server?

Компания, в которой я работаю, решила хранить требования в формате уценки, чтобы добиться простоты, возможности ссылки и предварительного просмотра непосредственно в TFS/Azure DevOps Server. Вопрос в части предварительного просмотра в TFS/Azure Dev Ops Server. Насколько я понял, он поддерживает: HTML-теги, математические формулы, изменение размера изображений, упоминание запросов на включение, пользователей, рабочие элементы и так далее. Но диаграммы русалки не поддерживаются, хотя они, на мой взгляд, очень полезны, чтобы получить общее представление о сложных процессах в кратчайшие сроки.

Я установил pandoc, и это процесс: автоматически генерировать файл HTML для каждого обновленного файла md в REPO. Проблема в том, что TFS/Azure DevOps Server не поддерживает предварительный просмотр изображений в кодировке BASE64, встроенных в HMTL от pandoc.

Поэтому я решил сделать что-то вроде этого:

  • для каждого обновленного файла md создайте копию с постфиксом (***_IMG.md)
    • для каждой схемы русалки
      • генерировать PNG-изображение
      • сохранить изображение PNG в папку с изображениями
      • заменить диаграмму русалки ссылкой на сгенерированное изображение
  • сохранить измененный файл md

Можно ли указать список программного обеспечения для достижения этого решения? Я не нашел ответа, какой инструмент мне следует использовать, полагаю, Python? Но может быть есть какие-то другие альтернативы?


3
2 387
3

Ответы:

Решено

Это проще, чем вы думаете. Wiki TFS/Azure DevOps Server поддерживается репозиторием Git, поэтому ваш процесс может выглядеть примерно так:

  • git pull
  • сканировать файлы репо, чтобы найти схемы русалок
  • сгенерируйте JPG и замените фрагмент ссылкой на изображение
  • git commit
  • git push

Его можно легко автоматизировать в конвейере, и, возможно, расширение, такое как Инструменты Git для Azure DevOps, может сделать работу еще проще.


Альтернативный подход к включению простого UML в вики TFS/Azure Dev Ops — yUML.me.

Просто добавьте тег <img> к уценке, включая синтаксис UML, например.

<img src = "http://yuml.me/diagram/scruffy/class/%2F%2F Cool Class Diagram, [Customer|-forname:string;surname:string|doShiz()]<>-orders*>[Order], [Order]++-0..*>[LineItem], [Order]-[note:Aggregate root{bg:wheat}].jpg">

Это добавит изображение, подобное этому, на вашу вики-страницу:

Многие образцы можно найти здесь: https://yuml.me/diagram/scruffy/class/samples

Конечно, у этого есть некоторые ограничения, такие как максимальная длина Uri, но я нашел это весьма полезным для небольших UML, и вы можете увидеть результат в реальном времени на вкладке предварительного просмотра, когда вы вводите синтаксис Uml.

Я не тестировал его с AzureDevOps Server, но в TFS 2018 он прекрасно работает.


Вы можете использовать версию CLI, https://github.com/mermaid-js/mermaid-кли С помощью CLI вы можете создавать рендеры .svg или .png из файла .mmd. (Смотрите также Live Editor https://mermaid-js.github.io/mermaid-live-editor/, может кому будет проще создавать .mmd файлы)