Для работы с Markdown в приложениях на Svelte библиотека Marked предоставляет удобный инструмент для конвертации текста в HTML. Установка выполняется через npm:
npm install marked
После установки библиотеку можно импортировать в компонент Svelte:
При таком подходе обеспечивается возможность конвертировать Markdown в HTML прямо внутри компонентов Svelte.
Основная функция библиотеки — marked(), которая
принимает Markdown-строку и возвращает HTML. В Svelte это удобно
использовать с реактивными переменными:
{@html htmlContent}
Ключевые моменты:
{@html ...} обязательно для
корректного рендеринга HTML в Svelte.markdownText автоматически
обновят HTML через реактивное выражение $:.Marked позволяет гибко настраивать процесс парсинга. Опции передаются
через объект marked.setOptions:
{@html htmlContent}
Особенности использования в Svelte:
Marked поддерживает кастомизацию вывода через Renderer.
Это полезно, если требуется контролировать, как формируются теги
HTML.
{@html htmlContent}
Ключевые возможности кастомного рендерера:
В Svelte можно создавать отдельный компонент для отображения Markdown, чтобы повторно использовать функционал по всему приложению.
Использование компонента в приложении:
Преимущества такого подхода:
Для отображения блоков кода с подсветкой удобно использовать библиотеку highlight.js вместе с Marked:
{@html htmlContent}
Особенности интеграции:
```
Markdown.При работе с Markdown, получаемым от пользователей, необходимо учитывать безопасность:
sanitize: true или использование библиотек вроде
DOMPurify для очистки HTML.";
$: htmlContent = DOMPurify.sanitize(marked(userInput));
{@html htmlContent}
Преимущество такого подхода: