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.