Markdownを処理する
Markdown形式のデータを読み込み、HTMLを出力するサンプルです。
MarkdownSharp と F# Formatting を利用した例をそれぞれ以下に示します。
Markdownの文法は http://blog.2310.net/archives/6 などでご確認ください。
各ライブラリはNuGetからインストール可能です。
// F# Formatting let transform1 str = FSharp.Markdown.Markdown.TransformHtml(str) // MarkdownSharp let transform2 str = MarkdownSharp.Markdown().Transform(str) let sample = """ Markdown -------- - one - two - three > quotation... - - - let a = "fsharp" printfn "%s" a """ [<EntryPoint>] let main argv = transform1 sample |> printfn "%s" transform2 sample |> printfn "%s" 0
このプログラムを実行すると、以下のようなHTMLが得られます。
<h2>Markdown</h2> <ul> <li>one</li> <li>two</li> <li>three</li> </ul> <blockquote> <p>quotation...</p> </blockquote> <hr /> <pre><code>let a = "fsharp" printfn "%s" a </code></pre>
どちらも同じ結果になりますが、MarkdownSharpは処理速度も考慮した実装になっているそうです。風の便りによると*1、MarkdownSharpはStack Overflowでも使われているとか。
*1:時には風に身を任せるのも いいじゃない Oh Miss yourself - innocent world, Mr.Children