Markdown-расширения
Каталог расширений типа markdown. Они добавляют к CommonMark конструкции markdown-разметки: выноски, галереи, сетки, видео. Каждое подключается через env.markdown.
Как это работает
Конструкции на основе директив используют обобщённые директивы (:::name, ::name, :name). Расширение отображает директиву прямо в узел блока через env.markdown.directive(...), а для другого синтаксиса и произвольных преобразований есть низкоуровневый env.markdown.use(...). Полный контракт — в руководстве по markdown-расширениям.
Рабочий пример преобразования MDAST описан в руководстве. node.children — MDAST, а не BEMTree: передавать его прямо в content нельзя.
Конструкция markdown-разметки почти всегда идёт в паре с block-расширением, которое поставляет блок, в который она раскрывается. Поэтому один пакет часто совмещает markdown- и block-расширение.
Реестр
Markdown-расширения:
nuckty-ext-markdown-typography-ru— русская типографика: неразрывный пробел перед тире. Блока не добавляет — только правит текст.nuckty-ext-markdown-video— встраивание видео@[provider](id)(YouTube/RuTube/VK). Блок не поставляет — разметку плеера строит плагин.
Конструкции markdown-разметки, идущие в паре с блоком, входят в block-расширения:
- Галерея (
:::gallery) — в пакетеnuckty-ext-block-gallery. - Сетка (
:::grid) — в пакетеnuckty-ext-block-grid. - Выноска (
:::callout) — кандидат на отдельный пакет.