
CKEditor5 Markdown — это новый модуль-расширение для CMS Drupal, который добавляет плагин панели инструментов CKEditor5 для преобразования Markdown в HTML по требованию.
Что делает модуль CKEditor5 Markdown
Модуль добавляет новую кнопку в панель инструментов редактора CKEditor5 в Drupal. Нажмите на неё, вставьте или введите Markdown в появившемся диалоговом окне, подтвердите действие, и контент будет вставлен как отформатированный HTML в позиции курсора.
Для преобразования используется библиотека marked (версия 9, лицензия MIT) с поддержкой GitHub-Flavored Markdown. Библиотека включена в скомпилированный ассет через Webpack, поэтому дополнительный этап сборки фронтенда не требуется.
Модуль требует Drupal 10.3 или выше, либо Drupal 11, с включенным основным модулем ckeditor5.
Пример CKEditor5 Markdown
Почему явное преобразование лучше вместо официальной функции Paste Markdown?
В CKEditor5 есть встроенная функция Paste Markdown, которая обнаруживает Markdown в буфере обмена и конвертирует его при вставке.
Эта функция всё ещё находится в экспериментальном режиме. Не все конструкции Markdown обнаруживаются надежно. Некоторые текстовые блоки проходят без какого-либо преобразования. Алгоритмы автоматического обнаружения также могут взаимодействовать с другими активными плагинами: Paste from Office, Paste from Google Docs и Autoformatting — всё это может приводить к противоречивым результатам в зависимости от того, какой набор плагинов активен.
Этот модуль использует осознанный подход. Редакторы запускают преобразование намеренно, нажимая на кнопку панели инструментов, вставляя Markdown в диалоговое окно и подтверждая его. Здесь нет прослушивания буфера обмена, нет угадывания по алгоритмам и нет пограничных случаев из-за конкурирующих плагинов.
Другие модули Drupal поддерживают Markdown в CKEditor5, но они идут на другой компромисс: они ограничивают редактор только выводом в формате Markdown или позволяют смешивать форматы таким образом, что это может создавать конфликты вывода. Такой подход работает для личного сайта, где один человек контролирует и контент, и формат. Но такой подход может работать ненадежно на корпоративном сайте, где редакционные команды смешивают источники контента и важна согласованность вывода.
Как установить и настроить модуль
Вы можете установить его, как обычно, с помощью Composer:
composer require drupal/ckeditor5_markdown
drush en ckeditor5_markdown
Модуль также можно включить через интерфейс администрирования Drupal после выполнения шага с Composer.
Чтобы настроить редактор, перейдите в Администрирование > Конфигурация > Создание контента > Форматы текста и редакторы. Отредактируйте формат текста, использующий CKEditor5, и перетащите кнопку Paste Markdown в активную панель инструментов.

CKEditor5 фильтрует HTML, который он принимает, в зависимости от плагинов и функций, включенных в его конфигурации. Модуль преобразует Markdown в HTML, но CKEditor5 будет молча удалять любые элементы, которые не разрешены активным набором плагинов. Например, заголовок # Заголовок 1 в Markdown вставится как элемент <h1> только в том случае, если плагин заголовков (Heading) включен и <h1> настроен как разрешенный уровень заголовка. Ознакомьтесь с конфигурацией панели инструментов и плагинов CKEditor5 перед использованием кнопки, чтобы убедиться, что HTML-элементы, соответствующие вашему намеченному Markdown, разрешены.
Заключительные мысли
Явное преобразование Markdown более предсказуемо для любого редактора, работающего в среде смешанных форматов, чем автоопределение. Модуль закрывает конкретную нишу: надежное, намеренное преобразование Markdown в HTML для Drupal и CKEditor5 без принудительного перехода сайта на чистовой Markdown и без непредсказуемости экспериментального обнаружения буфера обмена.
Попробуйте модуль: https://www.drupal.org/project/ckeditor5_markdown