句読点によりMarkdownの太字表示が無効になる

**こんにちは。**はい
**hello.**yes

上記の太字表示が無効です。

こんにちは。オーケー

こんにちは。オーケー

こんにちは。オーケー

え? ** を使っても、Bボタンを押しても太字になります。MarkdownエディタとRTEでも同じです。

**こんにちは。了解です。**hello

最後の**の前に句読点があり、その後ろに文字が続けてあります。試してみてください。

以下の形式は機能しません
**+文字+句読点+**+文字

こんにちは。オーケー。 some text

そして

こんにちはオーケー without punctuation

しかし、句読点と末尾の ** の後にスペースを置かないと、次のようになります:

**こんにちはオーケー。**text
**こんにちはオーケー。**text

対して

**こんにちはオーケー。** text
こんにちはオーケー。 text

これがマークダウンのバグなのか、機能なのか、それとも何か別のものなのかはわかりません。

問題はアスタリスクの前の句読点にあるのではなく、アスタリスクの直後にスペースなしでテキストが続いていることにあると思います。

with punctuation. space text
**with punctuation.**no space text

**with punctuation.** space text
**with punctuation.**no space text

私はわかります。これはMarkdownのデフォルトの動作です。 :slight_smile:

「いいね!」 2

これは Markdown で知られている問題であり、Markdown パーサーを変更できない限り修正できません

私の回避策は、<span></span> を使用することです

**是的。**<span></span>对的。 是的。对的。

CommonMarkの仕様では、**右側フランキングの区切り文字列の一部である場合にのみ、太字の強調を終了できます。句読点(.)に先行し、単語文字(t)に後続する区切り文字は右側フランキングではないため、強調を終了できません。markdown-it はこれをリテラルテキストとして解析します。このルールは *_、および __ にも適用されます。

これについては我々ができることはあまりないでしょう。仕様に従っているからです。しかし、この件によりリッチエディターのマークダウンシリアライザーにバグがあることが判明しました。UIを使用してこの状況(**text.**text)を作成した場合、リッチエディター上では正しく表示されていましたが、出力(cooked)時にはプレーンテキストとして処理されていました。このPR は、マークされた領域から句読点を除外することでこの状況を解決し、text.text(**text**.text)となります。

「いいね!」 3

このバグはまだ再現可能です。Markdown エディタに切り替えた後で、句読点が外部に移動します。

リッチエディタでのテスト: **text.**text

これは予期された動作であり、Markdown シリアライズ中に(ほぼ気づかない)句読点を強調から除外するという妥協をすることで、テキスト内の意図的な強調が壊れるのを避けています。

「いいね!」 1