Лучшие практики: ASCII-разделители в письмах?

Привет, сообщество Discourse,

Прежде всего, спасибо за создание такого замечательного, полезного, гибкого и (в основном) интуитивно понятного инструмента. Мы работаем над тем, чтобы перевести множество каналов коммуникации нашего проекта на использование Discourse: от списков рассылки для обсуждений среди пользователей до автоматических уведомлений о ключевых событиях (новые задачи, сбои тестов и т. д.), и с нетерпением ждем этих изменений.

Одной из проблем, с которой я столкнулся при настройке, является автоматическое удаление содержимого после строк вида ----- в письмах, отправляемых в Discourse. Если я правильно понял, это делается для того, чтобы сообщения, отправляемые по электронной почте, не содержали всю цепочку предыдущих ответов. В целом меня впечатляет, насколько чисто в Discourse отображаются ответы, полученные по почте, поэтому я не критикую это решение в данном вопросе.

Традиционно мы часто использовали такие разделители в автоматически генерируемых уведомлениях (которые теперь пересылаются в Discourse), чтобы их было легко читать независимо от того, используются ли старые или новые технологии. Я сейчас удаляю их и заменяю на другие приёмы, например, на использование большего количества вертикального пробела, но прежде чем углубляться в эту работу, хотел бы уточнить, существует ли какая-либо рекомендуемая лучшая практика для создания подобных разделителей в письмах, отправляемых в Discourse, или способ обойти текущий фильтр (на данный момент моим лучшим решением было использование строки из тире n-dash вместо дефисов или ASCII-минусов, но я не хочу переходить на не-ASCII символы ради простоты).

Многие из нас также по привычке используют небольшие разделители --- в письмах, чтобы отделить блок кода или что-то подобное, поэтому я беспокоюсь, что даже после преобразования всех автоматически генерируемых сообщений это может вызвать проблемы у пользователей, которые полагаются на опцию «ответить», чтобы отвечать на темы Discourse, пересылаемые в их почтовые ящики (но, возможно, это просто кривая обучения, которую нам нужно будет преодолеть?).

Спасибо за любые советы и рекомендации,
— Брэд

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

Заголовок
--------------------------------

на:

--- Заголовок ---------------------

— это один из способов сохранить некоторую форму разделительной линии, не позволяя Discourse её удалить. Конечно, это всё ещё не помогает пользователям, которые привыкли полагаться на маленькие разделительные линии ----, чтобы выделить что-то в письме, поэтому я всё ещё любопытен, есть ли у других рекомендуемые лучшие практики в этом вопросе.

На свой страх и риск продолжая говорить сам с собой, приведу конкретный пример, с которым мы столкнулись сегодня:

Один из случаев, когда мы используем скрипты для уведомления людей о событиях, — это рассылка разработчикам писем при слиянии новых PR в нашем репозитории GitHub. Мы изменили эти скрипты так, чтобы они отправляли сообщения в определённую категорию на нашем сайте Discourse. Однако, поскольку GitHub использует Markdown для описания PR, в описаниях PR часто встречаются заголовки разделов следующего вида:

Детали этого PR
------------------

которые на GitHub отображаются как заголовки разделов. Но при отправке на Discourse эта строка с тире приводит к обрезке остальной части сообщения.

Конечно, мы могли бы научить всех наших разработчиков использовать другие стили заголовков, которые не будут обрезаться (например, ## Детали этого PR), но если бы существовал способ изменить наш скрипт так, чтобы он обрабатывал сообщение о слиянии и защищал или экранировал подобные шаблоны, чтобы они сохранялись при передаче в Discourse, это выглядело бы гораздо привлекательнее.