0

JekyllをベースにしたOctopressブログを運営しています。ここで、CoffeeScriptで記述したいJavascriptを追加したいと思いました。

私はこの要点に従って、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ファイルのすべての引用符がエスケープされていることです(一&#8216;重引用符と二重引用符&#8220;

生成されたJavascriptコードをconvertメソッドで出力すると、問題ないように見えます(引用符はエスケープされません)。私はたくさんググったが、誰もこの問題を抱えていないようだ。ここでの問題は何でしょうか?

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 に答える