blog.bouzuya.net

2012-01-19 MarkdownSharpを使う

昨日のMarkdownの記事の続きです。実際にMarkdownを使う際の準備について書きます。

今回ぼくはMarkdownの実装としてMarkdownSharpを選択しました。MarkdownはもともとPerlで実装されました。ただ昨日も書いたとおり広く使われている記法であるため、他の言語にも移植されています。ぼくはPerlよりもC#が好きですのでC#で実装されたMarkdownSharpを選択しました。他にもMarkdown.NETという実装もあるそうです。

MarkdownSharpはダウンロードしてビルドすればアセンブリMarkdownSharp.dllができます。ぼくはUbuntuにmonoとmono-dmcsをインストールしてビルドしました。特にエラーもなくビルドできました。ただdllのままだと使いづらいので、コマンドラインで使用するために簡単なコンソールアプリケーションを書きました。標準入力から読み、Markdownの変換を行い、標準出力に書くだけのものです。

using System;

namespace MarkdownConsole
{
  class MainClass
  {
    public static void Main (string[] args)
    {
      var text = Console.In.ReadToEnd();
      var markdown = new MarkdownSharp.Markdown();
      var html = markdown.Transform(text);
      Console.Out.Write(html);
    }
  }
}

実行すると次のようになります。

bouzuya@YAME:~$ ./MarkdownConsole.exe <<EOT
> #Hello, Markdown!
>
> I'm bouzuya.
>
> * item1
> * item2
> * item3
>
> I use [Google][google].
>
> [google]: http://www.google.com/
> EOT
<h1>Hello, Markdown!</h1>

<p>I'm bouzuya.</p>

<ul>
<li>item1</li>
<li>item2</li>
<li>item3</li>
</ul>

<p>I use <a href="http://www.google.com/">Google</a></p>

良好です。これで他のスクリプトにも容易に組み込めます。ちなみに昨日の記事もこの記事もMarkdownを使用しています。

65 min.