Edited at

railsでブログ内にシンタックスハイライト(コードの色付け)をする方法(1)

More than 5 years have passed since last update.

プログラミングをやっているとググってブログ中のコードを参考にすることがよくあります


example.rb

puts 'The best way to log and share programmers knowledge'


このようなコードってブログ内にてどのように書いているのでしょうか??

それには以下の様な知識が必要になります

・マークダウン

・シンタックスハイライト

それぞれ見ていきましょう


Markdown(マークダウン)


Markdownとは"読みやすく書きやすいプレーンテキストで書け、そして構造的に妥当なXHTML(もしくはHTML)に変換することのできるフォーマット"のコト

つまり、プレーンテキスト(ブログなどの本文)にHTMLなどのタグを書かずに、記号を書くだけで表示としてはHTMLとして表示させることです

例)


プレーンテキストに書いた内容



プレーンテキスト本文

       ↓


ブラウザ内での表示


ブラウザでの表示


このようにタグを書くこと無く、太字にしたりとHTMLタグを付けることができます。

RailsではMarkdownをするためのgemとして"Redcarpet"というのがあります

導入するにはGemfileに書いてインストールするだけです


Gemfile

gem 'redcarpet','~>1.17.2'



Terminal

bundle install


Redcarpetの使い方は


herper.rbなど

def markdown(text)

#optionの設定
options = [ :autolink, :gh_blockcode, :hard_wrap, :no_intraemphasis,
:fenced_code, :filter_html]
#マークダウン
Redcarpet.new(text, *options).to_html.html_safe
end

Redcarpetのバージョンが違うととnewのメソッドがないとエラーが出るので注意です

続きは次回!