HTMLの見出しの改行 -> 見出しがなく、プレビューとレンダリングされた投稿の間で一貫性がない

こんにちは。他のフォーラムソフトウェアからインポートした投稿に、見出し内に改行が含まれています。これらは投稿プレビューでは正しく表示されますが、最終的にレンダリングされた投稿では見出しとして表示されません。この問題は、昨日更新した私のフォーラムと、ここDiscourse Metaでも確認しています。


見出しのテスト(改行あり)

通常の段落。

改行なしの見出し


<h2>が空白になり、その後のテキストが<p>で囲まれてしまいます。

<h2 dir="ltr">
</h2><p dir="ltr">見出しのテスト(改行あり)</p>

これは最近のバグであると99%確信しています。なぜなら、移行プロセス中に同じユーザーからのインポート済み投稿の見出しを特に確認し、ユーザーと私も、それらが正しくレンダリングされていたことを覚えているからです。

「いいね!」 2

LTRの件ですが、@Osama、最近追加したCSSフリッパーに関連している可能性はありますか?

「いいね!」 2

そうは思いません。なぜなら、投稿の最終的な/調理済みのHTMLが間違っており、CSSフリッパー(古いものか新しいものかに関わらず)は投稿の調理プロセスには全く関与していないからです。

^ <p>内のテキストは<h2>内にあるべきで、そもそも<p>は存在しないはずです(私の考えでは)。

「いいね!」 6

これは調理中に発生するようで、具体的にはマークダウンの解析中です。

改行を含むヘッダーを PrettyText.markdown に渡すと、ヘッダーの内容が p タグでラップされて返されます。

そして、スクラビング中に、段落がヘッダータグの外に抽出され、次のようになります。

ヘッダータグ内の段落が仕様に準拠していないため、これが起こるのだと思います。

そもそも、なぜコンテンツが p タグでラップされるのかを把握するために、まだマークダウンパーサーのコードを確認中です。

「いいね!」 2

これは、次の記事に非常に関連しています。

Loofah のリリースを数週間待っても構いません。

Mike にツイートして、これが現れたことを知らせます。

「いいね!」 2

こんにちは、調べていただきありがとうございます。HTMLは改行を気にしないため、技術的にはこれは正しいです。

<h2>
Heading test with line breaks
</h2>

これは、HTMLパーサーの後/内部で実行されるMarkdownパーサーの問題のようです。改行に対して<p>タグを生成しています。

「いいね!」 1

こんにちは、これで修正しました。

こちらで確認できます。

改行を含む見出しテスト

通常の段落。

##改行なしの見出し##


「いいね!」 8

喜んで承知いたしました、@natさん、ありがとうございます!投稿の再ベイクは必要ですか?

「いいね!」 2

はい、再ベイクが必要です。この修正では自動的に実行できません。これはコストのかかる操作のためです。

「いいね!」 3

このトピックは2日後に自動的に閉じられました。返信はもう受け付けられません。