Установка и настройка модуля Markdown Easy для Drupal

alexei18/10/2025 - 08:54
Установка и настройка модуля Markdown Easy для Drupal

Недавно я установил модуль Markdown Easy для Drupal и обновился с версии 1.0 до 2.0.

Решил задокументировать свои шаги публично на случай, если они помогут другим.

На моей локальной машине я запускаю Drupal с помощью DDEV. Он создает предварительно настроенные контейнеры Docker для веб-сервера, базы данных и других необходимых служб Drupal. DDEV также устанавливает Composer и Drush, которыми мы воспользуемся ниже.

Сначала я установил версию 2.0 модуля Markdown Easy с помощью Composer:


ddev composer require drupal/markdown_easy

Если вы обновляетесь с версии 1.0, вам понадобится запустить обновление базы данных, чтобы Drupal применила требуемые изменения для новой версии. Сделать это можно с помощью команды Drush:


ddev drush updatedb

Как объясняется в статье "Переход на Markdown спустя 20 лет использования HTML", я хочу иметь возможность использовать HTML и Markdown взаимозаменяемо. По умолчанию Markdown Easy очищает весь HTML-код. Такое поведение безопасно для большинства сайтов, но это значит, что вы не сможете свободно сочетать HTML-теги и Markdown-разметку.

Чтобы изменить это поведение, мне пришлось скорректировать две настройки конфигурации. Эти настройки нигде не выставлены в административной панели Drupal намеренно. Модуль Markdown Easy стремится сохранять своё конфигурирование небольшим, чтобы оставаться верным своему названию "Easy" ("Простой"), а также придерживается философии безопасной работы по умолчанию. Если вы решили ослабить эти настройки, вы можете сделать это с помощью Drush.


ddev drush config:set markdown_easy.settings skip_html_input_stripping 1

ddev drush config:set markdown_easy.settings skip_filter_enforcement 1

Параметр skip_html_input_stripping отключает очистку ввода в парсере Markdown CommonMark, что означает, что ваши HTML-теги останутся неизменёнными при обработке Markdown.

Параметр skip_filter_enforcement позволяет отключить фильтрацию ввода в самой CMS Drupal. Это позволяет вам отменить фильтр "Ограничить разрешённые HTML-теги", без предупреждений от Markdown Easy.

Вы можете включить только первую настройку, если хотите позволить Markdown обрабатывать HTML, но оставить фильтрующему механизму Drupal возможность удалять нежелательные HTML-теги с помощью фильтра "Ограничить разрешённые HTML-теги". Или вы можете включить обе настройки, если хотите полностью контролировать HTML без какой-либо очистки на любом этапе.

Только учтите, что отключение очистки HTML-ввода и снятие ограничений фильтров может привести к проблемам безопасности. Отключайте эти функции только в том случае, если доверяете авторам контента и понимаете возможные риски.

Затем я проверил правильность установленных настроек:


ddev drush config:get markdown_easy.settings

Вы должны увидеть:


skip_html_input_stripping: true
skip_filter_enforcement: true

Наконец, очистите кэш:


ddev drush cache-rebuild

Затем я обновил мою существующую разметку формата Markdown. Перешёл по адресу /admin/config/content/formats/ и внёс следующие изменения:

  • Установил парсер Markdown на "Smorgasbord".
  • Отключил фильтр "Ограничить разрешённые HTML-теги и исправить ошибочный HTML".
  • Отключил фильтр "Заменять переводы строк соответствующими HTML-тегами".

Всё готово!