diff --git a/Assetfile b/Assetfile
index f357862..6298b39 100644
--- a/Assetfile
+++ b/Assetfile
@@ -5,13 +5,32 @@ distros = {
#MEGAHAX
ember_spade_postprocess = "filter EmberAddMicroLoader, :global => true"
+
instance_eval File.read(::EmberDev.support_path.join('Assetfile'))
+require 'barber'
+require 'rake-pipeline-web-filters'
+
+# Helpers
+ember_handlebars_template_name = Proc.new do |input|
+ template_dirs = input.path.split("/")[1..-2]
+ template_file_name = File.basename(input.path, File.extname(input.path))
+ template_dirs.push(template_file_name).join("/")
+end
+
+input "packages/ember-bootstrap/lib/templates/" do
+ match "*.hbs" do
+ handlebars wrapper_proc: Barber::Ember::FilePrecompiler,
+ key_name_proc: ember_handlebars_template_name
+ concat "modules/templates.js"
+ end
+end
+
distros.each do |name, modules|
name = "ember-bootstrap"
input "dist/modules" do
- module_paths = modules.map{|m| "#{m}.js" }
+ module_paths = modules.map{|m| "#{m}.js" } << "templates.js"
match "{#{module_paths.join(',')}}" do
concat(module_paths){ ["#{name}.js", "#{name}.prod.js"] }
filter EmberAddMicroLoader
diff --git a/Gemfile b/Gemfile
index cd26fb1..5824070 100644
--- a/Gemfile
+++ b/Gemfile
@@ -2,6 +2,7 @@ source "http://rubygems.org"
gem "rake-pipeline", :git => "https://github.com/livingsocial/rake-pipeline.git"
gem "ember-dev", :git => "https://github.com/emberjs/ember-dev.git", :branch => 'master'
+gem 'barber', :git => "https://github.com/tchak/barber.git"
gem 'ember-source', '1.0.0.rc6.2'
diff --git a/Gemfile.lock b/Gemfile.lock
index 6432f2d..fde1c62 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -23,6 +23,15 @@ GIT
rake (~> 10.0.0)
thor
+GIT
+ remote: https://github.com/tchak/barber.git
+ revision: 6ebaeefaad44e16a1d6e47a8a126fe219f959457
+ specs:
+ barber (0.4.2)
+ ember-source
+ execjs
+ handlebars-source (>= 1.0.0.rc.4)
+
PATH
remote: .
specs:
@@ -79,6 +88,7 @@ PLATFORMS
ruby
DEPENDENCIES
+ barber!
ember-bootstrap-source!
ember-dev!
ember-source (= 1.0.0.rc6.2)
diff --git a/packages/ember-bootstrap/lib/templates/alert_message.hbs b/packages/ember-bootstrap/lib/templates/alert_message.hbs
new file mode 100644
index 0000000..fa2f7b3
--- /dev/null
+++ b/packages/ember-bootstrap/lib/templates/alert_message.hbs
@@ -0,0 +1 @@
+×{{{view.message}}}
diff --git a/packages/ember-bootstrap/lib/views/alert_message.js b/packages/ember-bootstrap/lib/views/alert_message.js
index 7255a0e..20bf656 100644
--- a/packages/ember-bootstrap/lib/views/alert_message.js
+++ b/packages/ember-bootstrap/lib/views/alert_message.js
@@ -4,7 +4,7 @@ var get = Ember.get;
Bootstrap.AlertMessage = Ember.View.extend(Bootstrap.TypeSupport, {
classNames: ['alert', 'alert-message'],
baseClassName: 'alert',
- template: Ember.Handlebars.compile('×{{{view.message}}}'),
+ templateName: 'alert_message',
message: null,
removeAfter: null,