以下是我在我的 Ruby on Rails 应用程序中设置Rouge所采取的步骤(按照此处和此处列出的步骤)。
添加gem 'rouge'
到 Gemfile。
bundle
在终端。
添加@import "rouge";
到 app/assets/stylesheets/application.css
使用以下内容创建了助手 app/helpers/rouge_helper.rb。
module RougeHelper
def rouge(text, language)
formatter = Rouge::Formatters::HTML.new(css_class: 'highlight')
lexer = Rouge::Lexer.find(language)
formatter.format(lexer.lex(text))
end
end
添加<%= raw rouge("def rouge_me\n puts 'hey!'\nend", "ruby") %>
到我的观点。
页面加载没有错误,文本的 HTML 格式如下。然而,inspect 并没有揭示生成的类(“k”、“nf”、“nb”和“s1”)应用的任何样式。
<span class="k">def</span>
<span class="nf">rouge_me</span>
<span class="nb">puts</span>
<span class="s1">'hey!'</span>
<span class="k">end</span>
如何应用这些样式?