Mermaid/Django, sanitizing и нормализация комментариев
LLM возвращает Mermaid-код вместе с комментариями и служебными строками. Комментарии могут начинаться с #, хотя Mermaid использует %%. Перед первой командой диаграммы иногда остается текст. Такой ответ не проходит mermaid.parse.
Django извлекает fenced-блок, находит первую валидную голову Mermaid и удаляет предыдущие строки. sanitize_mermaid заменяет комментарии с # на %%. Очищенный код сохраняется вместе с комментариями.
Next.js удаляет строки %% перед parse и render. В базе остается полный код, в SVG-рендер уходит версия без комментариев.
Статья на Хабр Витрина проекта: AI Chat github Проект: AI Chat Stepik: LLM-Chat + Mermaid + ЮKassa
#mermaid #django #nextjs #python #typescript #llm #openrouter #svg #fullstack #webdevelopment