0

我正在运行一个基于Jekyll的Octopress博客。现在我想添加一些我喜欢用 CoffeeScript 编写的 Javascript。

我按照这个Gist创建了一个将 CoffeeScript 编译为 Javascript 的简单转换器:

module Jekyll
  require 'coffee-script'

  class CoffeeScriptConverter < Converter
    safe true
    priority :low

    def matches(ext)
      ext =~ /coffee/i
    end

    def output_ext(ext)
      '.js'
    end

    def convert(content)
      begin
        CoffeeScript.compile content
      rescue StandardError => e
        puts "CoffeeScript error: #{e.message}"
      end
    end
  end
end

问题是生成的 Javascript 文件中的所有引号都被转义了(单引号 by&#8216;和双引号 by &#8220;

当我在convert方法中输出生成的 Javascript 代码时,它看起来很好(引号没有转义)。我google了很多,但似乎没有人有这个问题。这里可能是什么问题?

4

2 回答 2

2

结果是 Octopress 默认通过 RubyPants 运行内容请参阅参考资料plugins/octopress_filters.rb)。禁用 RubyPants 就成功了!

于 2012-05-12T13:15:26.393 回答
0

由于 RubyPants 忽略了 HTML 注释中的内容,我们可以通过包围 HTML 注释中的输出来动态禁用 RubyPants 过滤。这也消除了修改 OctoPress 原始代码的需要。

我已经在这个要点中做到了。

于 2012-06-13T17:23:41.567 回答