2012-03-29 13 views
0

私は次のコードを持っている:私は値下げ文字列に適用した場合Text.Pandocを使用してMarkdownをHtmlに変換するにはどうすればよいですか?

import Text.Pandoc 

myWriterOptions = defaultWriterOptions 
    { writerHtml5 = True 
    , writerStrictMarkdown = False 
    } 

markdownToHtml :: String -> Html 
markdownToHtml = writeHtml myWriterOptions . readMarkdown defaultParserState 

を:
"header\n=======\nA line of text.\n### A list ###\n- apple\n- orange\n- pear"

私はで終わる:
"<h1 id=\"header\">header</h1>\n<p>A line of text. ### A list ### - apple - orange - pear</p>"

答えて

4

あなたのコードは、私には正常に見えます、出力も同様です。私はTry Pandocから同じ出力を得る。

2番目の見出しとリストの前に改行を追加すると、探している出力が生成されます。他のMarkdown実装でも空白行が必要な場合は、私は驚いていません。結局のところ、ハイフンで行を始めると新しいリストが始まる(行の折り返しを考えると)と、かなり迷惑になるでしょう。

+0

他のほとんどの実装ではそれを必要としないため、私は混乱していました。 – qubital

+0

残念ながら、私が知っているMarkdownの正式な仕様はないので、すべての実装は基本的に[オリジナルのPerl実装](http://daringfireball.net/projects/markdown/)を模倣しています。この動作が望ましくないと思われる場合は、[バグを報告する](http://johnmacfarlane.net/pandoc/bugs.html)をお勧めします。 – ehird

+1

@ehirdあなたは正しいので、マークダウンの元の説明には空白行が必要です。 >「段落は、1つ以上の空白行で区切られた1行以上の連続した行です。 " [構文] [1] [1]:http://daringfireball.net/projects/markdown/syntax – dfc

関連する問題