Markdown-it — это мощная библиотека для парсинга Markdown в JavaScript, которая создавалась с упором на расширяемость и соблюдение стандартов. Одним из ключевых аспектов её работы является совместимость с CommonMark — спецификацией Markdown, которая стандартизирует синтаксис и правила обработки текста.
CommonMark задаёт строгие правила, как должны обрабатываться заголовки, списки, блоки кода, ссылки, цитаты и другие элементы Markdown. Markdown-it реализует эти правила максимально полно, что позволяет:
Markdown-it поддерживает оба типа заголовков:
ATX-заголовки: #, ##,
### и так далее.
Setext-заголовки:
Заголовок уровня 1
=================
Заголовок уровня 2
-----------------
= и
-.Списки поддерживаются как маркированные
(-, *, +), так и нумерованные
(1., 2. и т. д.). Важные нюансы:
Пример корректного вложенного списка:
- Пункт 1
- Вложенный пункт 1.1
- Вложенный пункт 1.2
- Пункт 2
Markdown-it поддерживает два формата кода:
Inline-код: обрамляется обратными апострофами
`код`.
Fenced-код: блоки с тройными апострофами или тильдами:
```javascript
console.log("Hello, World!");
```
Markdown-it обрабатывает inline-ссылки, reference-ссылки и изображения в строгом соответствии с CommonMark:
Inline-ссылка: [текст](url "title")
title).Reference-ссылка:
[текст][id]
...
[id]: http://example.com "Example"
Блоки цитат создаются с использованием символа >:
> Это блок цитаты
> с несколькими строками.
>>
создаёт цитату внутри цитаты.Markdown-it предоставляет встроенный тестовый режим для проверки совместимости с CommonMark:
const md = require('markdown-it')();
console.log(md.render('# Заголовок\n\nПараграф текста'));
Markdown-it обеспечивает надежную базу для работы с Markdown, позволяя создавать расширяемые и совместимые решения, строго соответствующие спецификации CommonMark.