Railsはmarkdownとコードのハイライトを実現します
1140 ワード
インストールGEM
Markdownは現在流行しているタグ言語です.
htmlコードを簡単に生成でき、githubのREADMEはこのような形式で再コードディレクトリの下に表示されます.
Ruby/Railsは多くのGemを利用して、markdownのサポートを迅速に行うことができ、コードのハイライトに対するサポートを含むことができます.
Gemが多すぎて、実現方法も多すぎます.
比較的迅速に開発できる方法を紹介します.redcarpetとCodeRayの2つのGemを用いた.
アプリケーションを開くhelper.rb、次のコードを追加します.
erbに表示
Markdownは現在流行しているタグ言語です.
htmlコードを簡単に生成でき、githubのREADMEはこのような形式で再コードディレクトリの下に表示されます.
Ruby/Railsは多くのGemを利用して、markdownのサポートを迅速に行うことができ、コードのハイライトに対するサポートを含むことができます.
Gemが多すぎて、実現方法も多すぎます.
比較的迅速に開発できる方法を紹介します.redcarpetとCodeRayの2つのGemを用いた.
gem 'redcarpet'
gem 'coderay'
アプリケーションを開くhelper.rb、次のコードを追加します.
def markdown(text)
options = {
:autolink => true,
:space_after_headers => true,
:fenced_code_blocks => true,
:no_intra_emphasis => true,
:hard_wrap => true,
:strikethrough =>true
}
markdown = Redcarpet::Markdown.new(HTMLwithCodeRay,options)
markdown.render(h(text)).html_safe
end
class HTMLwithCodeRay < Redcarpet::Render::HTML
def block_code(code, language)
CodeRay.scan(code, language).div(:tab_width=>2)
end
end
erbに表示
<%= markdown(@post.content) %>