Markdown-it — это высокопроизводительная библиотека для парсинга Markdown в JavaScript, разработанная с акцентом на скорость, гибкость и расширяемость. Центральная философия библиотеки строится вокруг нескольких ключевых принципов: модульность, строгий контроль над рендерингом, поддержка плагинов и полная совместимость с CommonMark.
Markdown-it использует многоуровневую архитектуру, где процесс разбора Markdown делится на несколько стадий:
Каждый уровень изолирован, что позволяет изменять один этап, не затрагивая остальные.
Markdown-it предоставляет тонкий контроль над HTML-выходом через систему рендереров. Каждый токен может быть обработан отдельной функцией, что позволяет:
Например, можно заменить стандартное выделение текста
**жирный** на кастомный
<span class="bold">жирный</span> без
вмешательства в остальные части парсера.
Markdown-it строго следует спецификации CommonMark, обеспечивая предсказуемый и совместимый вывод Markdown. Это означает:
Библиотека также поддерживает опциональные расширения CommonMark, включая GitHub-flavored Markdown (GFM).
Markdown-it разработан с мыслью о максимальной расширяемости:
Markdown-it не выполняет никакого HTML-кода по умолчанию и не вставляет скрипты, что делает её безопасной для веб-приложений. Для дополнительной безопасности можно использовать sanitize-плагины, которые фильтруют потенциально опасный HTML.
Библиотека оптимизирована для работы с большими объёмами текста:
Markdown-it строится на принципе “много настроек — малые изменения”:
Markdown-it объединяет скорость, гибкость и безопасность в единую систему. Центральная философия библиотеки заключается в том, что Markdown — это текстовый стандарт, а не HTML, и любая обработка должна оставаться предсказуемой, расширяемой и безопасной.
Такой подход делает Markdown-it не только инструментом для парсинга, но и платформой для создания сложных Markdown-приложений с полной кастомизацией поведения и вывода.