Ruby on rails HAML'中的语法突出显示;s减价滤波器

Ruby on rails HAML'中的语法突出显示;s减价滤波器,ruby-on-rails,ruby,syntax-highlighting,haml,markdown,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> %pre.ruby puts "

我使用的是HAML的降价过滤器,如下所示:

:markdown
  This is markdown text, yay!
但我想对文本中的代码进行语法突出显示,比如:

:markdown
  This is markdown text, yay!
  <code lang="ruby">
    def hello(world)
      puts "Hello #{world}"
    end
  </code>
  %pre.ruby 
    puts "this is now syntax highlighted"
:降价
这是降价文本,耶!

def你好(世界)
把“你好”{world}
结束

有什么办法吗?我知道如何使用CodeRay,但我不知道如何获取该文本。

Markdown确实支持开箱即用的代码块,但不支持语法突出显示

请参阅,以了解haml查找哪些标记库来解析您的标记

如果您想将代码传递给一个使其高亮显示的过滤器,您可以将自己的过滤器扩展名写入haml。其实很容易

如果我是你,我会把代码作为一个块放进去,然后使用像GeSHi这样的javascript库来突出显示代码

因此,您可以执行以下操作:

:markdown
  This is markdown text, yay!
  <code lang="ruby">
    def hello(world)
      puts "Hello #{world}"
    end
  </code>
  %pre.ruby 
    puts "this is now syntax highlighted"

如果您包含了geshi,它现在会高亮显示。

在生成的HTML中的哪个文本编辑器/IDE?@Phrogz中使用albino、nokogiri和pygments

语法高亮显示。@JPablo很抱歉,我仍然不理解您的问题。您是否在问应该使用什么HTML标记和JS库来在web浏览器中获得自动语法着色?如果是这样,这与Haml、降价或Rails无关。Haml和Markdown都不会自动生成HTML或CSS,从而生成任何特定语言的语法高亮显示。我想说的是,我在Haml中有Markdown,我想发布或预处理这些代码,以便语法高亮显示(如果没有更自动的代码存在的话)。我希望像maruku这样的标记库在生成HTML时可以做到这一点,但显然什么都没有。Michael使用JavaScript发布的另一种方法可能会奏效。因为这篇文章已经很老了,我不想再回答了,但这些人说得对,他们需要更多的东西来降低标记以呈现语法高亮。但随着时间的流逝,你可以使用很多工具。我现在正在处理的一个问题是,有一个更新的版本,它的使用示例在中,另一个又一个,以及如何在config.ru中调用它