Библиотека Markdown-it предоставляет
высокопроизводительные средства для преобразования текста в формате
Markdown в HTML. Три ключевых метода — render,
renderInline и parse — обеспечивают разные
способы обработки и интерпретации Markdown-содержимого.
renderМетод render выполняет полное преобразование
Markdown-текста в HTML. Он разбивает текст на блоки, применяет правила
синтаксического анализа и генерации HTML, возвращая готовый
результат.
Синтаксис:
md.render(src, env)
src — исходная строка с Markdown.env — объект окружения, который используется для
передачи дополнительных данных между различными этапами обработки
(опционально).Пример использования:
const MarkdownIt = require('markdown-it');
const md = new MarkdownIt();
const result = md.render('# Заголовок\n\nТекст с **жирным** выделением');
console.log(result);
Особенности метода render:
renderInlineМетод renderInline предназначен для обработки только
инлайнового содержимого. Он не создает обертки в виде
или других блочных тегов, что полезно для
встраивания Markdown-текста внутри существующих HTML-структур.
Синтаксис:
md.renderInline(src, env)
src — Markdown-строка.env — объект окружения, аналогично
render.Пример использования:
const text = 'Текст с **жирным** и *курсивом*';
const html = md.renderInline(text);
console.log(html);
Особенности метода renderInline:
,
и т.д.).parseМетод parse возвращает структурное представление
Markdown-документа в виде массива токенов, без генерации HTML.
Это полезно для анализа документа, кастомной обработки или генерации
нестандартного HTML.
Синтаксис:
md.parse(src, env)
src — Markdown-текст.env — объект окружения, через который можно передавать
данные между правилами.Пример использования:
const tokens = md.parse('# Заголовок\n\nСписок:\n- Пункт 1\n- Пункт 2', {});
console.log(tokens);
Особенности метода parse:
heading_open, inline,
paragraph_open), уровень вложенности, содержимое и другие
параметры.render, который
берет токены и превращает их в HTML.Структура токена:
type — тип токена (paragraph_open,
text, strong_open и др.).tag — соответствующий HTML-тег.content — текстовое содержимое токена.level — уровень вложенности.children — массив дочерних токенов (для инлайновых
токенов).attrs — массив атрибутов, если они есть
(id, class, href и др.).parse → возвращает токены для анализа.renderInline → использует инлайновые токены для
генерации HTML без блочной обертки.render → комбинирует блоковые и инлайновые токены,
возвращая полный HTML-документ.Схематически:
Markdown-текст
│
├─ parse ─→ токены
│
├─ renderInline ─→ HTML (инлайн)
│
└─ render ─→ HTML (полный документ)
Использование этих методов позволяет полностью контролировать процесс обработки Markdown, включая анализ, модификацию токенов и генерацию HTML как в стандартной, так и в кастомной форме.