ペースト時に余分なバックスラッシュが挿入される

バグ報告

お世話になっております。
Slackやブラウザ上のHTMLをコピーしてInkdropにペーストしたとき、._の前にbackslash(\)が入ります。backslashが入らないようにする方法があれば伺いたいです。
一応軽く過去のTopicを調べたつもりですが、仕様や既知の問題、OS側の問題でしたら申し訳ありません。

利用環境

  • Platform: macOS (Apple M1 Max)
  • Platform version: Sonoma 14.5
  • App Version: 5.8.1

再現方法

<h1>sample</h1>

<ul>
  <li>1. test</li>
  <li>2. test</li>
</ul>

test_underscore

をsample.htmlとして保存し、ブラウザで表示
表示されている内容をコピーし、Inkdropにペーストすると

# sample

- 1\. test
- 2\. test

test\_underscore

のようにbackslash(\)が入る。

期待するのは

# sample

- 1. test
- 2. test

test_underscore

Mizukiさん

こんにちは。ご質問ありがとうございます。
HTML貼り付け時に特定の文字がエスケープされるという指摘ですね。
これはMarkdownに変換した時に、特定の記号がMarkdownの文法に影響しないようにエスケープの処理が入るようになっています。

以下をMarkdownとして解釈すると、unordered listの直下にordered listがあるという解釈となります。

- 1. test
- 2. test

そのレンダは以下のようになります:

Screenshot 2024-07-08 at 15.14.30

GitHub Issuesなどで試すとreproduceできます。
これを防ぐために、数字直後の"."をエスケープする必要があるわけです。
次にアンダースコアですが、こちらはemphasisで使用される文字なので同様にエスケープが必要です。
つまりMarkdownの仕様ということになります。

蛇足ですが実装的に言うとこの辺に値します:

早速ご返答いただきありがとうございます。
意図した仕様であるということで、承知いたしました。私が期待したとおりのペーストができてしまうとプレビューの時にコピー元とは違う見た目になってしまうので、エスケープされる方が良いですね。
(私の使い方があまりプレビューをせずに入力欄だけを見ることが多いので、その点に気づいていませんでした)

エスケープしたくない際にはプレーンテキストとしてペーストして、Markdownとして解釈してほしいときには普通にペーストするというように個人の側で対応しようと思います。

1 Like