Ruby On Railsでブログ機能を実装 – RDiscountでMarkdownを導入します。

前提となる部分はRuby On Railsで基本的なブログ機能を実装する手順で実装済とします。

RDiscount は手堅いRuby用Markdownライブラリです。
https://github.com/davidfstr/rdiscount
http://rdoc.info/github/rtomay……/RDiscount
bluecloth というのも有名ですが、割愛します。

gemにrdiscountを追加し、installして下さい。

gem 'rdiscount'
$ bundle install

これで使えるようになっています。マークダウン表記を追加してみます。
/app/views/notes/show.html.erb

<dd><%== RDiscount.new(@note.memo).to_html %>

例えば、こういうのを許容するようになります。

<iframe src="http://www.slideshare.net/slideshow/embed_code/90135" width="427" height="356" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC;border-width:1px 1px 0;margin-bottom:5px" allowfullscreen webkitallowfullscreen mozallowfullscreen> </iframe> <div style="margin-bottom:5px"> <strong> <a href="http://www.slideshare.net/masuidrive/rails-90135" title="Railsチュートリアル" target="_blank">Railsチュートリアル</a> </strong> from <strong><a href="http://www.slideshare.net/masuidrive" target="_blank">Yuichiro Masui</a></strong> </div>

そうすると、こんな感じに表示してくれます。※内容は今回と関係ありません。

しかし、このままですとHTMLエスケープされていませんので、:filter_htmlオプションをつけます。

<%== RDiscount.new(@note.memo, :filter_html).to_html %>

以上でマークダウンを導入出来ました。
今回はここまで。