我正在使用HAML的降价过滤器,如下所示:
:markdown
This is markdown text, yay!
但我想对该文本中的代码进行语法高亮,例如:
:markdown
This is markdown text, yay!
<code lang="ruby">
def hello(world)
puts "Hello #{world}"
end
</code>
任何想法怎么做?我知道如何使用CodeRay,但我不知道如何抓住该文本。
答案 0 :(得分:1)
http://railscasts.com/episodes/272-markdown-with-redcarpet使用albino,nokogiri和pygments
答案 1 :(得分:0)
Markdown确实支持开箱即用的代码块,但不支持语法高亮显示。
请参阅http://haml-lang.com/docs/yardoc/file.HAML_REFERENCE.html#markdown-filter了解haml寻找解决降价问题的标记库。
如果您想将代码传递给突出显示的过滤器,您可以将自己的过滤器扩展名编写为haml。实际上很容易。
http://haml-lang.com/docs/yardoc/Haml/Filters/Base.html
如果我是你,我会把代码放在一个块中,并使用像GeSHi这样的javascript库来突出显示代码。 http://qbnz.com/highlighter/index.php
所以你可以这样做:
%pre.ruby
puts "this is now syntax highlighted"
如果你有geshi,它现在突出显示。