Обрезка удаляет форматирование markdown

Мы сталкиваемся с проблемой, когда в электронном письме содержатся дефисы, образующие линию, которую Markdown распознаёт как заголовок. Алгоритм обрезки удаляет эту линию. Нам всегда необходимо отображать обрезанный контент, так как многие пользователи используют наш экземпляр только через электронную почту.

Шаги для воспроизведения:

В основном в тесте Advanced Email введите:

This is text before

Header
------

This is text after

В Markdown это будет отрендерено следующим образом:

This is text before

Header

This is text after

В результате текст перед заголовком удаляется, а текст после него обрезается!

Есть ли способ настроить обрезку так, чтобы не удалять строки из дефисов, следующие за строкой с таким же количеством символов? По крайней мере, Markdown справляется с этим.


Я использую
2.9.0.beta4
(14f61c5784)

1 лайк

Вы пробовали отключить настройку trim incoming emails?

Да, конечно, отключение обрезки не приводит к удалению следующего :slight_smile:
Однако проблема возникает, когда люди отвечают на очень длинную цепочку писем по электронной почте, и тогда вся эта цепочка отображается в веб-представлении. Это выглядит не очень хорошо. Поэтому я хотел бы снова включить обрезку!

Итак, вы хотите включить функцию обрезки, но при этом убрать подпись -----? Это непросто. Можно ли предложить пользователям использовать заголовки ATX вместо заголовков Setext?

2 лайка

Как ведущий разработчик приложения, создающего письма, о которых говорит @artur: Да, мы могли бы это изменить (или использовать ^^^^ вместо ---- в «подчёркивании»), но технически это не markdown, а просто email в формате text/plain, отформатированный «красиво» для людей. И «подчёркнутые» заголовки, на мой взгляд, выглядят немного лучше, чем заголовки в стиле markdown # что-то.

В любом случае, разве в подписях к письмам, отделяемых символом --, обычно не бывает пустой строки прямо перед строкой с --? Так что, возможно, это стоит учитывать при парсинге писем?

2 лайка

Думаю, это обрабатывается здесь:

Если вы хотите предложить PR, мы сможем его рассмотреть. Это сложная область, так как любые регрессии сразу бросаются в глаза.

2 лайка

Я только что протестировал это, используя смесь символов, т.е. -=-=-=-= не действительно удаляется.

Похоже, стоит просто использовать символы, которых нет в списке разделителей…