BradCray
(Brad Chamberlain)
1
Discourse コミュニティの皆様へ
まず、非常に優れていて価値があり、柔軟で、(ほとんどは)直感的なツールを作ってくれたことに感謝します。私たちはプロジェクトのコミュニケーション方法を、ユーザーベースのコミュニティディスカッション用メーリングリストや、重要なイベント(新しい課題、テスト失敗など)を通知するスクリプト生成のメールなどから、Discourse を利用するように変更を進めており、その変化にワクワクしています。
設定を進める中で直面した問題の一つは、Discourse に送信されたメールで ----- のような行の後に続くコンテンツが自動的に削除されてしまうことです。私の理解が正しければ、これはメール経由で作成された投稿に返信の全チェーンが含まれてしまうのを防ぐために行われているもので、メールベースの返信が Discourse でいかにきれいにレンダリングされるかには非常に感銘を受けているため、この選択自体を批判するものではありません。
私たちは伝統的に、スクリプトで生成された通知メール(現在は Discourse に反映させています)でこのような区切り線を頻繁に使用し、古い技術でも新しい技術でも読みやすくしていました。現在はそれらを削除し、「より多くの垂直スペースを使う」といった手法に置き換える作業を進めていますが、この作業に深入りする前に、Discourse に送信されるメールでそのような区切り線を作成するための他の推奨ベストプラクティスや、現在のフィルタを回避して逃れる方法がないか確認したかったのです(今のところの最善の試みは、ハイフンや ASCII のマイナス記号の代わりに n ダッシュの行を使用することでしたが、単純化のため非 ASCII 文字を使うのは好ましくありません)。
また、私たちの多くは習慣的にメール内で小さな --- 区切り線を使ってコードブロックなどを区切ることがあるため、スクリプト生成のメッセージをすべて変換したとしても、この問題が受信トレイに反映された Discourse トピックに返信する機能に依存するユーザーを困らせるのではないかと心配しています(ただし、これは乗り越えるべき学習曲線なのかもしれません)。
何かヒントやアドバイスがあれば幸いです。
-Brad
BradCray
(Brad Chamberlain)
2
なるほど… 私自身も最近発見したことで、このスレッドにたどり着いた他の人にも役立つかもしれません: 通常は区切り線として機能する行に、区切り記号や句読点ではない ASCII 記号を混ぜると、Discourse のフィルタリングを回避できます。つまり、以下のような行:
見出し
--------------------------------
を以下のように変更します:
--- 見出し ---------------------
これにより、Discourse が削除してしまうことなく、何らかの区切り線を残すことができます。もちろん、メールで ---- のような小さな区切り線を使って内容を区切ることに慣れているユーザーにはこの方法では解決できません。そこで、他の人々がここで推奨するベストプラクティスがあるかどうか、まだ興味があります。
BradCray
(Brad Chamberlain)
3
独り言を続けることになりますが、今日直面した具体的な動機付けの例を挙げさせていただきます。
イベントを関係者に通知するためにスクリプトを使用するケースの一つに、GitHub リポジトリに新しいプルリクエスト(PR)がマージされた際に開発者にメールを送信するというものがあります。現在、これらのスクリプトを変更し、Discourse サイトの特定のカテゴリにメールを送るよう設定しました。しかし、GitHub は PR の説明に Markdown を使用するため、PR の説明には以下のようなセクション見出しが含まれることがよくあります。
この PR の詳細
------------------
これは GitHub 上ではセクション見出しとしてレンダリングされます。しかし、Discourse にメールで送信すると、このダッシュの行によってメッセージの残りの部分が切り捨てられてしまいます。
もちろん、すべての開発者に切り捨てられない他の見出しスタイル(例:## この PR の詳細)を使用するよう指導することも可能ですが、マージメッセージを処理するスクリプトを修正して、そのようなパターンを保護またはエスケープし、Discourse まで確実に伝わるようにする方法があれば、こちらの方が魅力的に思われます。