簡単に入力出来るブログ記事(markdown)
textile のほかにも HTMLを簡単に記述する為に作られたフォーマットがあります。当サイトの CMS では、その中の markdowm というものを使えるようにもしています。
markdown でさきほどと同じサンプルを出力させるには、
ランディネットワークとは ------------------------ [ランディネットワーク](http://www.randynetwork.com/) は、滋賀県草津市 の **Web 制作事業者** です。 個人事業ならではの、 _きめ細かいサービス_ をご提供いたします。 * Webアプリケーションの制作、運用支援 * Webサイトの構築、導入、運用支援
のように記述します。結果は textile のときとほぼ同じようになります( 出力結果 )。
<h2>ランディネットワークとは</h2> <p><a href="http://www.randynetwork.com/">ランディネットワーク</a> は、滋賀県草津市 の <strong>Web 制作事業者</strong> です。 個人事業ならではの、 <em>きめ細かいサービス</em> をご提供いたします。</p> <ul> <li>Webアプリケーションの制作、運用支援</li> <li>Webサイトの構築、導入、運用支援</li> </ul>
Ruby on Rails で使う
markdown の場合も、Rails にヘルパーが準備されています( actionpack/lib/helpers/text_helper.rb )。 markdown() です。textile の時と同じようにテンプレートに記述すれば、利用出来ます。残念ながら without paragraph (段落タグを取り除く)なのはありませんので、 h() 関数を使います。
<div class="entry"> <h2><%=h @entry.title %></h2> <div class="body"> <%= markdown @entry.body %> </div> </div>
当サイト CMS のフォーマットきりかえヘルパーに markdown フォーマットを追加する場合は、以下のようになります。
def text_to_html(text, params = { }) params[:format] = :textile unless params[:format] if params[:format] == :html text elsif params[:format] == :text # 改行を HTMLタグに。URL等はリンクに auto_link(simple_format(text), :all) elsif params[:format] == :markdown markdown(text) else textilize(text) end end
テンプレートからは、以下のように呼び出します。
<div class="entry"> <h2><%=h @entry.title %></h2> <div class="body"> <%= text_to_html @entry.body, :format => :markdown %> </div> </div>
残念ながら、このエントリも textile で記述しています。
