diff --git a/lib/hamlit/text_compiler.rb b/lib/hamlit/text_compiler.rb
index 0c9226d5..99454b65 100644
--- a/lib/hamlit/text_compiler.rb
+++ b/lib/hamlit/text_compiler.rb
@@ -1,17 +1,9 @@
require 'temple/html/filter'
-# NOTE: This compiler has an extremely bad effect for performance.
-# We should optimize this.
module Hamlit
class TextCompiler < Temple::HTML::Filter
def on_haml_text(exp)
- compile_text(exp)
- end
-
- private
-
- def compile_text(exp)
- [:dynamic, %Q{"#{exp.gsub(/"/, '\"')}"}]
+ [:static, exp]
end
end
end
diff --git a/spec/hamlit/filters/css_spec.rb b/spec/hamlit/filters/css_spec.rb
index 8f38a92c..c4d6473b 100644
--- a/spec/hamlit/filters/css_spec.rb
+++ b/spec/hamlit/filters/css_spec.rb
@@ -14,5 +14,20 @@ describe Hamlit::Filters::Css do
HTML
end
+
+ it 'parses string interpolation' do
+ assert_render(<<-HAML, <<-HTML)
+ :css
+ .foo {
+ width: #{100 * 3}px;
+ }
+ HAML
+
+ HTML
+ end
end
end
diff --git a/spec/hamlit/filters/javascript_spec.rb b/spec/hamlit/filters/javascript_spec.rb
index 10348caa..cb139643 100644
--- a/spec/hamlit/filters/javascript_spec.rb
+++ b/spec/hamlit/filters/javascript_spec.rb
@@ -67,5 +67,16 @@ describe Hamlit::Filters::Javascript do
HTML
end
+
+ it 'parses string interpolation' do
+ assert_render(<<-HAML, <<-HTML)
+ :javascript
+ var a = #{[1, 2]};
+ HAML
+
+ HTML
+ end
end
end