diff --git a/src/html-minifier.cr b/src/html-minifier.cr index 2f19671..7474654 100644 --- a/src/html-minifier.cr +++ b/src/html-minifier.cr @@ -32,14 +32,16 @@ module HtmlMinifier ctx.eval!("var minify = require('html-minifier').minify;") ctx end - @@ctx : Duktape::Sandbox = initialize_context + @@ctx : Duktape::Sandbox? = nil def self.minify!(source : String) + @@ctx ||= initialize_context + ctx = @@ctx.not_nil! source = source.gsub("\"", "\\\"") source = source.gsub("\n", "\\n") source = source.gsub("'", "\\'") - @@ctx.eval!("var output = minify(\'#{source}\', options);") - @@ctx.eval!("output") - @@ctx.get_string(-1).not_nil! + ctx.eval!("var output = minify(\'#{source}\', options);") + ctx.eval!("output") + ctx.get_string(-1).not_nil! end end