mirror of
https://github.com/discourse/discourse.git
synced 2026-09-05 04:40:41 -05:00
PERF: use raw rendering for topic list
rename my handlebars helper to "raw", create ember compat handlebars to handle rendering patch ember rails to use the correct precompiler
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
# barber patches to re-route raw compilation via ember compat handlebars
|
||||
#
|
||||
|
||||
module Barber
|
||||
class EmberCompatPrecompiler < Barber::Precompiler
|
||||
|
||||
def self.call(template)
|
||||
"Handlebars.template(#{compile(template)})"
|
||||
end
|
||||
|
||||
def sources
|
||||
[handlebars, precompiler]
|
||||
end
|
||||
|
||||
def precompiler
|
||||
@precompiler ||= StringIO.new <<END
|
||||
var Discourse = {};
|
||||
#{File.read(Rails.root + "app/assets/javascripts/discourse/lib/ember_compat_handlebars.js")}
|
||||
var Barber = {
|
||||
precompile: function(string) {
|
||||
return Discourse.EmberCompatHandlebars.precompile(string).toString();
|
||||
}
|
||||
};
|
||||
END
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
class Ember::Handlebars::Template
|
||||
def precompile_handlebars(string)
|
||||
"Discourse.EmberCompatHandlebars.template(#{Barber::EmberCompatPrecompiler.compile(string)});"
|
||||
end
|
||||
def compile_handlebars(string)
|
||||
"Discourse.EmberCompatHandlebars.compile(#{indent(string).inspect});"
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user