おおいしつかさ


旅行とバイクとドライブと料理と宇宙が好き。
Ubie Discoveryのプログラマ。
Share:  このエントリーをはてなブックマークに追加

RailsでMarkdownを使ってみる

このブログは2006年の年末に開発し始めてから、ずっとはてな記法のような独自記法を採用してきました。でもいい加減独自記法もないよね、ということでMarkdownを使えるようにしてみました。

まず既存の記事の独自記法をMarkdownに変換しなければなりません。直接変換するのは厳しいので、いったんHTMLに変換してからMarkdownに変換することにします。
HTMLからMarkdownに変換するには、reverse_markdownというgemを使います。ちょこちょこと以下のような点で問題があったので、いろいろとパッチをあてました。

変換スクリプトはここにあります。

MarkdownをHTMLに変換するライブラリはいくつかありますが、今回はredcarpetを使うことにしました。Githubでも使われているようです。
シンプルにHTML変換するコードは以下になります。コードのsyntaxに色をつけるために、Pygmentsを使用しています。
https://github.com/tsukasaoishi/kaeruspoon/blob/e15911a49c3e486616ed9987684b9eaef0a6ff3c/lib/text_decorator.rb

始める前はすごく大変かと思っていたのですが、以外と簡単にMarkdownに変更することができました。