ai
3 мин
9 октября 2026 г.
Источник: Dev.to AI Feed

Мой рендерер Mermaid вернул идеальный PNG-файл с сообщением об ошибке — некоторые библиотеки иллюстрируют свои сбои.

InApp
InApp
RSS AI Ingest
Мой рендерер Mermaid вернул идеальный PNG-файл с сообщением об ошибке — некоторые библиотеки иллюстрируют свои сбои.

В прошлом месяце через мой API диаграмм поступило задание рендеринга: блок-схема для Runbook развертывания, один узел с меткой build (x86). Скобки без кавычек внутри квадратных скобок — это классическая ловушка синтаксического анализа Русалки, и эта диаграмма ее сработала. Какой сюрприз...

В прошлом месяце через мой API диаграмм поступило задание рендеринга: блок-схема для Runbook развертывания, один узел с меткой build (x86). Скобки без кавычек внутри квадратных скобок — это классическая ловушка синтаксического анализа Русалки, и эта диаграмма ее сработала. Меня удивил не сбой, а то, что мой API ответил 200 OK, выдав 40 КБ PNG и отметив, что задание выполнено. Я открыл изображение. Это была аккуратная маленькая коробочка с надписью «Синтаксическая ошибка в тексте». Mermaid не выдает неверный синтаксис во время рендеринга; он рисует жалобу парсера, как если бы это была диаграмма. Та же тема, те же шрифты, тот же фон. В размере миниатюры в отчете он выглядел как любой другой узел. В дальнейшем никто не подвергал сомнению это — в runbook кратко документирован этап сборки поля с надписью «Синтаксическая ошибка в тексте». Исправление заключалось в том, чтобы перестать доверять render() как проверке. Вызов parse() в Mermaid (асинхронный, начиная с версии 10) выдает ParseError до того, как появятся какие-либо пиксели. Конечная точка теперь сначала анализирует, перехватывает и возвращает 422 с сообщением анализатора и строкой, вызывающей нарушение, где я могу ее изолировать. Рендеринг запускается только после того, как синтаксический анализ подтверждает, что диаграмма реальна. Я также внимательно следил за ремнями и подтяжками в визуализированном SVG-тексте на предмет известных строк ошибок Mermaid, потому что l

Хотите внедрить ИИ в ваш бренд?

Спроектируем и развернем автономных агентов и современный цифровой стек под ваши задачи.

Рассчитать проект