16

ブロックレベルのものは実際にはマークダウンフレンドリーではないことに気づきました。次のセグメントを想像してみてください(はい、Twitterブートストラップ用に出力するつもりです):

<section id="loremipsum">
    <div class="page-header">
    # Heading 1 #
    </div>

    Lorem ipsum, blah blah blah, yada yada yada.
</section>

期待される出力は次のとおりです。

<section id="loremipsum">
    <div class="page-header">
    <h1>Heading 1</h1>
    </div>
    <p>Lorem ipsum, blah blah blah, yada yada yada.</p>
</section>

代わりに、生成される出力は次のようになります。

<p><section id="loremipsum"></p>
<div class="page-header">
# Heading 1 #
</div>
<p>Lorem ipsum, blah blah blah, yada yada yada.</section></p>

ここには2つの問題があります。

  1. Daring Fireballが提案しているように、Markdownは、不要なものを入れないように十分にスマートである必要があります

    セクションタグなどのブロックレベル要素の周りのタグ。

  2. 見出し1は見出しとして解析されませんが、代わりに未解析のままになります。

これらの問題は両方とも、実際には公式のパーサーであるDingusでも発生するため、これは「意図したとおりに機能する」種類の問題の1つだと思います。そうは言っても、これらの問題を回避する方法を知っているマークダウンの達人はいますか?

4

4 に答える 4

5

ゲームに少し遅れていますが、回答が更新されています(2015年夏現在)。

質問は使用する実装によって異なりますが、マークダウンに関する適切なリファレンスはCommonMarkです。HTMLブロックの仕様によると、次のマークダウンで目的の結果を得ることができます。

<section id="loremipsum">
  <div class="page-header">

  # Heading 1 #

  </div>

  Lorem ipsum, blah blah blah, yada yada yada.

</section>

HTMLブロックの終了条件である空の行に注意してください。また注意してください:

ブロックは、開始条件を満たす行で始まります(最大3つのスペースのオプションのインデントの後)。

つまり、HTMLブロックの先頭をインデントする場合は注意が必要です。

markdown - jsでcommonmarkを100%実装し、perl- commonmarkはCommonMark Cライブラリへのバインディングを提供し、ほとんどのプログラミング言語でCommonMarkの実装が見つかると思います。

于 2015-07-15T10:55:20.460 に答える
4

Pandocのマークダウンを使用できます。これは、デフォルトで<div>タグ間のコードをマークダウンテキストとして解釈します。

$ pandoc input.md -o output.html

(詳細については、 Pandocのマークダウンドキュメントのmarkdown_in_html_blocksセクションを参照してください。)

于 2013-10-20T20:18:45.610 に答える
3

はい、それは仕様によるものです。グルーバーによると:

Markdownフォーマット構文はブロックレベルのHTMLタグ内では処理されないことに注意してください。たとえば、HTMLブロック内でMarkdownスタイルの*強調*を使用することはできません。

私はそのための回避策を知りませんが、Markdownに関しては第一人者レベルにはなりません。

編集: PHPを使用している場合は、PHPMarkdownExtraを確認することをお勧めします。

于 2012-09-26T02:59:56.187 に答える
0

一部の実装では大文字と小文字が区別される場合があります。

タグを大文字にするmarkdownsharpと実数が使用されますが、を使用する場合は使用されません。div<DIV><div>

だからこれはあなたが望むものを与えるかもしれません

<DIV class="video-panel">
   ![Review][1]
   ![Review][2]
</DIV>

stackoverflowのマークダウンでさえ、DIV自体を取り除きますが、それでも2つを区別します。公開ウェブサイトの場合、これはおそらく良いことです!

これは太字になります

**これは太字ではありません**
于 2016-05-20T01:40:19.337 に答える