在HAML的降价过滤器中突出显示语法

时间:2011-02-09 14:51:15

标签: ruby-on-rails ruby syntax-highlighting haml markdown

我正在使用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,但我不知道如何抓住该文本。

2 个答案:

答案 0 :(得分:1)

答案 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,它现在突出显示。