Mermaid/Django, sanitizing и нормализация комментариев

Mermaid/Django, sanitizing и нормализация комментариев

Mermaid использует %% для комментариев. LLM часто возвращает строки с #, текст перед кодом и пояснения после fenced-блока. Парсер воспринимает такие строки как часть диаграммы и возвращает синтаксическую ошибку.

Django сначала извлекает Mermaid-блок. sanitize_mermaid ищет первую поддерживаемую команду, удаляет строки до нее и нормализует комментарии. Сервер сохраняет очищенный код с %%.

Next.js создает отдельную строку для рендера. Строки с %% удаляются, оставшийся код проходит mermaid.parse. После успешной проверки mermaid.render возвращает SVG.

Витрина проекта: AI Chat github

Проект: AI Chat