Руководство по интеграции интерактивных диаграмм русалки
Введение
В современной технической документации и веб-публикациях изображение стоит тысячи строк текста. Визуализация сложных рабочих процессов, системных архитектур и состояний жизненного цикла помогает читателям быстро усваивать технические детали.
Вместо того, чтобы полагаться на тяжелые статические файлы изображений, недоступные для поиска, или медленные сторонние CDN, которые увеличивают задержку страницы и ухудшают конфиденциальность, PolyCMS интегрирует собственный конвейер рендеринга Self-Hosted Mermaid.js. В этом руководстве рассказывается, как динамически компилируются диаграммы, знакомится с элементом интерактивного визуального редактора TipTap и демонстрируются четыре примера диаграмм, начиная от простых потоков и заканчивая общей архитектурой PolyCMS.
Техническая архитектура и автономная стратегия
PolyCMS создан для скорости и абсолютной независимости. Основной модуль рендеринга динамически анализирует необработанные элементы блока. Когда блок помечен как диаграмма:
-
Обнаружение парсера: динамический механизм PHP (
helpers.php) сканирует стандартные блоки Markdown, начинающиеся с<pre><code class="language-mermaid">. -
Безопасное декодирование объектов: безопасно декодирует объекты HTML (e.g. преобразует
-->обратно в необработанный синтаксис-->, готовый к синтаксическому анализатору. -
Автономные ресурсы: вместо запроса jsDelivr или cdnjs PolyCMS разрешает скрипт локально через помощник Laravel
asset('assets/vendor/mermaid-10.x/mermaid.min.js'). -
Переменные темы, вдохновленные Vercel: как визуальный редактор администратора, так и общедоступный интерфейс отображают диаграммы с помощью пользовательских базовых переменных, подобных Vercel, обеспечивая высококонтрастную, чистую минималистскую эстетику как в светлом, так и в темном режимах.
Предварительные настройки и примеры диаграмм
Ниже приведены четыре классические реализации диаграмм, работающие в PolyCMS.
1. Простая блок-схема: жизненный цикл аутентификации пользователя (горизонтальный — LR)
Простая блок-схема слева направо, показывающая, как стандартные входные данные на стороне клиента анализируются и аутентифицируются защитой сеанса.
2. Диаграмма состояний: жизненный цикл транзакции электронной коммерции (StateDiagram-v2)
Диаграмма состояний, изображающая возможные переходы состояний транзакции онлайн-покупки через платежные шлюзы PayPal или SePay.
3. Промежуточная диаграмма последовательности: безопасный поток запросов REST API
Диаграмма последовательности, демонстрирующая безопасное двустороннее взаимодействие между Клиентом, веб-клиентом, шлюзом API и базой данных для обслуживания контента с аутентификацией по токену.
Основной архитектурный рабочий процесс PolyCMS (сложный - TD)
Чтобы продемонстрировать сложную вертикальную компоновку, вот полный технический архитектурный конвейер PolyCMS. В нем описывается, как сообщение перемещается из базы данных, проходит через компилятор динамических блоков, анализирует шорткоды/теги Mermaid, применяет крючки/фильтры в стиле WordPress и, наконец, выводит HTML-представления премиум-класса в стиле Vercel.
Интерактивный редактор блоков диаграмм TipTap
Как автору панели администратора PolyCMS, вам не нужно запоминать синтаксис Mermaid, чтобы создавать эту прекрасную графику. В редакторе блоков:
-
Нажмите кнопку Диаграмма русалки на панели инструментов редактора.
-
Элегантный визуальный контейнер мгновенно визуализируется в режиме онлайн.
-
Перейдите на вкладку Редактировать код, чтобы написать синтаксис с помощью вспомогательных кнопок (
--> Стрелка,[Узел],{Decision}. -
Используйте раскрывающийся список Шаблоны, чтобы мгновенно загружать стандартные настройки (блок-схемы, последовательности, состояния) и изменять их на лету.
-
Если ваш синтаксис неверен, встроенный компилятор выделяет строку и показывает полезный баннер ошибки, не прерывая процесс черчения!