Markdownを貼り付けた際にリスト項目間に改行コードが追加される問題

ここ数ヶ月の間に、Discourse は Markdown を新しい投稿ウィンドウに貼り付けた際、箇条書きの項目間に改行を追加するようになりました。

例えば、テキストエディタから単純なリストをコピーすると:

* foo
* bar
* baz

これを新しいトピックに貼り付けると、次のようになります:

この問題は、この Discourse のテキスト入力ボックスに直接貼り付けても発生することを確認しました。例えば、以下のように:

  • foo

  • bar

  • baz

ちなみに、上記をすでに作成済みのコードブロック(``` セクション)に貼り付けた場合は正しく貼り付きましたが(もちろん箇条書きにはなりませんでした)。

あ、ふと思いつきました。番号付きリストでも同じことが起こるでしょうか?

  1. foo

  2. bar

  3. baz

…はい、なります。

そして、単なるテキストの 3 行を試してみたところ、やはり同じ現象が起き、すべてに改行が追加されているようです:

foo
bar
baz

これが 3 つの別々の「段落」になります:

foo

bar

baz

編集:

(強調は追加)。おっと、しっかり読んでいませんでした。タイトルにも含めてくださっていますね。すみません。

元の回答

「discourse」とおっしゃるのは、このサイトを指していますか、それとも他のサイトでしょうか?

Discourse サイトの管理者であれば、以下のサイト設定に興味があるかもしれません:

従来の Markdown 改行

Markdown で従来の改行を使用します。これには、行末にスペースを 2 文字続ける必要があります。

ええと、この問題はここでも発生していますし、当社のインスタンス(https://opennms.discourse.group)でも発生しています。

この設定を変更してみましたが、貼り付け時に余分な改行が追加される現象には効果がありませんでした。

その設定を探している最中に「リッチテキストの貼り付けを有効化」というオプションを見つけました。これを無効にすると問題が解決することを確認しました。つまり、この機能を有効にすると、本来は HTML のみを処理するはずなのに、Markdown が破損してしまうようです。

[quote=“RangerRick, 投稿:3, トピック:145412”]
つまり、それを有効にすると、本来は HTML のみを対象とするはずなのに、Markdown が破損してしまうようです。[/quote]

真っ先に浮かんだのは、それは本当に HTML ではないかということです。つまり、どこかからバッファにコピーされた時点で、まだ Markdown のままですか?それとも、Markdown が HTML に変換された後、それを逆変換しようとしているのでしょうか。

単なる思いつきで、おそらくバグでしょう。しかし、ブラウザウィンドウそのもののような IDE やテキストエディタはたくさんありますね :thinking:

Mac で Markdown All In One プラグインを有効にした VSCode です。数ヶ月前までは問題なく動作していましたが、コードや Discourse インスタンスに変更があったのだろうと思われますが、正確な時期は特定できません。その間、VSCode も何度も更新されています。コピーした時点では「通常の」テキストのようですが、どのようにデバッグすればよいか見当もつきません…

他のエディタから Markdown テキストをコピーして貼り付け、Discourse でも同じ結果が得られるか確認してみてください。:sunglasses:

これはサポートリクエストのように思えます。

おそらく、この Markdown All in One プラグインが複数の項目をクリップボードに配置しており、HTML を選択してそれを Markdown に変換しているのでしょう。

これをどう解決するかは確信が持てませんが、VS Code プラグインのバグではないかと感じます。クリップボードに生成される HTML をデバッグする必要があります。

TextMate などのアプリから貼り付けた場合でも、同じ結果になりますか?