markdown記法とは?
wikiなどでよく使用されている構文です。
http://ja.wikipedia.org/ によると..
Markdown は軽量マークアップ言語のひとつである。 「読みやすく書きやすいプレーンテキストで書け、そして構造的に妥当なXHTML(もしくはHTML) に変換することのできるフォーマット」として、John GruberとAaron Swartzによって考案された。 Markdownの記法の多くは、電子メールでプレーンテキストを装飾する際の慣習から着想を得ている。 |
だそうです。
markdown記法の変換ライブラリ
C#でのmarkdown記法パーサは、markdownsharpというライブラリが有名です。
markdownsharpは、stackoverflow.comなどで使用されています。
MITライセンスですので、自作のアプリに組み込みやすい所も良いです。
markdownsharpは、基本的にはPerl 1.0.1のMarkdown実装を元にしてされています。
また、幾つかStackOverflow.com向けのカスタマイズが施されていますが、それらの機能はデフォルトでoffになっているので気にする必要はありません。
VisualStudio2010で、markdownsharpを使用する
http://code.google.com/p/markdownsharp/ のdownloadsリンクより最新版をダウンロードします。
本エントリー作成時の最新は、20100703-v113でした。

※ファイルは7zip形式(*.7z)です。展開ソフトがない場合は7-zip portableが便利です。
(7-zip portableは文字通りポータブル版なのでインストール不要です)
ファイルを展開すると、以下の3フォルダ/ファイルが入っています。

メインとなる、ソースが入っているフォルダ(MarkdownSharp)を確認すると、6ファイルはいっています。

AssemblyInfo.cs・MarkdownSharp.csprojは、実際のロジックは入ってないので関係なし。
MarkdownOld.csは、ソースの頭を見ると以下の記述があります。
過去バージョンの確認用らしいので、コレも関係ないですね。
This old version is included only for historical comparison purposes; use at your own risk! |
ですので、実質的には3ファイルで構成されているようです。
Escapes.cs Markdown.cs MarkdownOptions.cs |
動作確認
とりあえず、トップフォルダにある.slnファイルを開いてコンパイルをかけます。MarkdownSharp\bin\Debugの下にMarkdownSharp.dllが出来ていることを確認します。

次に、MarkdownSharpTest側のプロジェクトを実行させます。
(ソリューションエクスプローラで右クリック->デバッグ実行)
コマンドプロンプトがが開いて、テスト結果が表示されます。

結果を全部表示させると、以下のような感じになります。
MarkdownSharp v1.13 test run on \mdtest-1.1 001 Amps_and_angle_encoding OK 002 Auto_links OK 003 Backslash_escapes OK^ 004 Blockquotes_with_code_blocks OK 005 Code_Blocks OK 006 Code_Spans OK 007 Hard_wrapped_paragraphs_with_list_like_lines OK 008 Horizontal_rules OK 009 Images OK 010 Inline_HTML_Advanced OK 011 Inline_HTML_comments OK 012 Inline_HTML_Simple OK 013 Links_inline_style OK 014 Links_reference_style OK 015 Links_shortcut_references OK 016 Literal_quotes_in_titles OK 017 Markdown_Documentation_Basics OK 018 Markdown_Documentation_Syntax OK 019 Nested_blockquotes OK 020 Ordered_and_unordered_lists OK^ 021 Strong_and_em_together OK 022 Tabs OK 023 Tidyness OK^ Tests : 23 OK : 23 (^ 3 whitespace differences) Mismatch : 0 MarkdownSharp v1.13 test run on \mstest-0.1 001 code-inside-list Mismatch 002 line-endings-cr OK 003 line-endings-crlf OK 004 line-endings-lf OK 005 markdown-readme OK Tests : 5 OK : 4 Mismatch : 1 MarkdownSharp v1.13 benchmark, takes 10 ~ 30 seconds... input string length: 475 4000 iterations in 2850 ms (0.7125 ms per iteration) input string length: 2356 1000 iterations in 2843 ms (2.843 ms per iteration) input string length: 27737 100 iterations in 3017 ms (30.17 ms per iteration) input string length: 11075 1 iteration in 15 ms input string length: 88607 1 iteration in 119 ms input string length: 354431 1 iteration in 462 ms |
以上で、動作確認は完了です。
おまけ。
dllだけ欲しい人のために、コンパイルしたものを置いときます。
↓
ダウンロード: MarkdownSharp_20100703-v113.zip
関連記事
コメントを残す