one1
1
div タグの直後の行に表示されるテキストは正しくレンダリングされません。div を含む行の後に空行を挿入することで、この問題は解決します。
<div>divded text</div>
[リンク]( `/admin/email/templates`.) **イタリック**
divded text
[リンク]( `/admin/email/templates`.) **イタリック**
スクリーンショット:
他の HTML は問題を引き起こしません。
<small>small text</small>
[リンク]( `/admin/email/templates`.) **イタリック**
small text
リンク イタリック
<span>spanned text</span>
[リンク]( `/admin/email/email/templates`.) **イタリック**
spanned text
リンク イタリック
私の推測では、HTML が検出されると、次の行はプロセッサに取り込まれるものの、マークダウンとしてパースされなくなるようです。div の後の行にテキストを配置し、次の行の先頭にもテキストを配置することで、これをテストできます:
<div>divded text</div> divの終了
マークダウンの開始 [リンク]( `/admin/email/templates`.) **イタリック**
divded text
divの終了
マークダウンの開始 [リンク]( `/admin/email/templates`.) **イタリック**
スクリーンショット:
chapoi
2
これはCommonMark 仕様 § 4.6 — HTML ブロックで定義された、完全に指定され、標準準拠の動作です。
重要なルールはHTML ブロック タイプ 6です。CommonMark 仕様は、div(p、blockquote、table、h1–h6、ul、ol、li、hr などと共に)をブロックレベルタグとして明示的にリストしています。パーサーがこれらのタグのいずれかで始まる行に遭遇すると、以下の終了条件を持つHTMLブロックを開きます:
終了条件:行の後に空行が続くこと。
他の例はインライン要素であり、動作が異なります。
one1
3
ありがとう!それが私の心配でした。
レポートを簡潔にするために、問題が発生したのはユーザーが目次を挿入するために <div data-theme-toc="true"> </div> コードを挿入した時だったことを忘れていました。これは、もし誰かに関連する問題があるなら、その機能の開発者の問題のようです。
chapoi
4
なるほど、興味深いですね。つまり、目次(ToC)がない場合、他の div タグを使っても問題は全く発生しないということでしょうか?
one1
5
問題の原因は <div data-theme-toc="true"> </div> の正確な配置位置にあります。このケースでは、投稿の先頭に配置されており、テキストは次の行から始まっていました。もしその最初の行に Markdown 記法が含まれていなければ、気づかなかったでしょう。これがどういった意味か、自分でもよく分かりません。
もしそのコードの後に空行を挿入すれば、問題は解決します。したがって、Data-theme-toc="true" should be placed at the top of a post in it's own paragraph を参照してください。