zunächst einmal vielen Dank für die Entwicklung eines großartigen, wertvollen, flexiblen und (meistens) intuitiven Tools. Wir arbeiten daran, eine Reihe unserer Kommunikationsformen für das Projekt auf Discourse umzustellen – von benutzerbasierten Community-Diskussionsmailinglisten bis hin zu von Skripten generierten E-Mails, die uns über wichtige Ereignisse informieren (neue Issues, Testfehler usw.). Wir freuen uns sehr über diese Änderungen.
Eine der Hürden, auf die ich bei der Einrichtung gestoßen bin, ist das automatische Entfernen von Inhalten nach Zeilen wie ----- in an Discourse gesendeten E-Mails. Wenn ich das richtig verstehe, dient dies dazu zu vermeiden, dass über E-Mail erstellte Beiträge die gesamte Antwortkette mit sich führen. Ich bin generell beeindruckt davon, wie sauber E-Mail-basierte Antworten in Discourse dargestellt werden, und hinterfrage diese Entscheidung in dieser Frage keineswegs.
Wir haben solche Trennzeichen traditionell häufig in von Skripten generierten Benachrichtigungs-E-Mails (die wir nun an Discourse weiterleiten) verwendet, um sie sowohl mit alten als auch mit modernen Technologien gut lesbar zu machen. Ich bin dabei, sie zu entfernen und durch Techniken wie „wir versuchen einfach, mehr vertikalen Leerraum zu verwenden
Aha… etwas, das ich gerade selbst entdeckt habe und das anderen helfen könnte, die auf diesen Thread stoßen: Wenn man nicht-trennende/nicht-chirurgische ASCII-Symbole in eine Zeile einfügt, die sonst als Trennzeichen fungiert, wird sie von der Filterung von Discourse nicht blockiert. Eine solche Zeile wie:
Header
--------------------------------
kann man also ändern in:
--- Header ---------------------
Das ist eine Möglichkeit, eine Art Trennlinie beizubehalten, ohne dass Discourse sie entfernt. Natürlich hilft das immer noch nicht Benutzern, die es gewohnt sind, kleine Trennlinien wie ---- zu verwenden, um etwas in einer E-Mail abzugrenzen. Daher bin ich immer noch neugierig, ob andere hier empfohlene Best Practices haben.
Um nicht weiter mit mir selbst zu sprechen, hier ein konkretes Motivationsbeispiel, auf das wir heute gestoßen sind:
Einer der Fälle, in denen wir Skripte verwenden, um Personen über Ereignisse zu informieren, ist das Versenden von E-Mails an Entwickler, wenn neue PRs in unserem GitHub-Repository gemergt werden. Wir haben diese Skripte nun so geändert, dass sie an eine bestimmte Kategorie auf unserer Discourse-Website senden. Da GitHub jedoch Markdown zur Beschreibung von PRs verwendet, finden sich in unseren PR-Beschreibungen häufig Abschnittsüberschriften wie die folgende:
Details of this PR
------------------
Diese werden auf GitHub als Abschnittsüberschriften gerendert. Wenn die Nachricht jedoch an Discourse gesendet wird, führt diese Zeile mit Bindestrichen dazu, dass der Rest der Nachricht abgeschnitten wird.
Wir könnten zwar alle unsere Entwickler anweisen, stattdessen andere Überschriftenstile zu verwenden, die nicht abgeschnitten werden (wie ## Details of this PR), aber wenn es eine Möglichkeit gäbe, unser Skript so zu modifizieren, dass es die Merge-Nachricht verarbeitet und solche Muster schützt oder escape, sodass sie in Discourse erhalten bleiben, wäre das attraktiver.