Промежуточное обновление MaxSite CMS, которое не сильно тянет на полноценную версию, но вносит изменения, которые могут затронуть часть пользователей. Поэтому я решил сделать отдельную запись, чтобы не возникло вопросов.
Изменения касаются только тех, кто на своих сайтах публикует много примеров кода. Обычно для этого используется тэг PRE
, внутри которого размещается какой-то код. Пользователи MaxSite CMS уже привыкли к тому, что система берёт на себя обработку тэгов PRE так, что преобразует его содержимое в корректный для отображения HTML. Это очень старое поведение, которое было прописано в парсере parser_default.
Проблема в том, что код, защищающий PRE оказался «размытым» — он используется не только в дефолтном парсере, но и может быть востребован в Simple, а также функциях сжатия результирующего html-кода страницы и функциях форматирования в «ядре» MaxSite CMS.
Сейчас я добавил ещё один парсер Markdown и чтобы больше не сталкиваться с подобной задачей, я решил, что есть смысл выделить обработку PRE (и CODE) в отдельный плагин. Поэтому, если вы используется примеры кода, активируйте новый плагин protect_pre — именно он теперь берёт на себя обработку этих тэгов.
Попутно я немного улучшил обработчики текста, чтобы избавиться от неприятных артефактов в виде удаления пусты строк или тэга P
.