rouge_helper.rb:
module RougeHelper
require 'rouge'
def rouge(text, language)
formatter = Rouge::Formatters::HTML.new
lexer = Rouge::Lexer.find(language)
formatter.format(lexer.lex(text))
end
end
app/assets/stylesheets/rouge.css.erb:
<%= Rouge::Themes::Base16.mode(:light).render(scope: '.highlight') %>
index.html.erb:
<% @articles. each do |article|%>
<p><%= article.title%></p>
<p><%= raw rouge article.text, 'ruby'%></p>
<% end >
view page source:
<p>test </p>
<p><span class="k">def</span> <span class="nf">test</span>
<span class="nb">puts</span> <span class="s1">'Hello'</span>
<span class="k">end</span></p>