Skip to content

Commit

Permalink
add --compile options to use uglifier/yui-compressor to compile JS/CSS
Browse files Browse the repository at this point in the history
  • Loading branch information
alex-stripe committed Aug 18, 2012
1 parent 9450bb8 commit d944cc9
Show file tree
Hide file tree
Showing 7 changed files with 38 additions and 11 deletions.
2 changes: 1 addition & 1 deletion Gemfile
Original file line number Original file line Diff line number Diff line change
@@ -1,4 +1,4 @@
source 'https://rubygems.org' source 'https://rubygems.org'


# Specify your gem's dependencies in catapult.gemspec # Specify your gem's dependencies in catapult.gemspec
gemspec gemspec
6 changes: 5 additions & 1 deletion example/assets/javascripts/app.js
Original file line number Original file line Diff line number Diff line change
@@ -1 +1,5 @@
//= require_tree . //= require_tree .

var init = function(){
alert('init 2!');
};
7 changes: 6 additions & 1 deletion example/assets/stylesheets/app.css
Original file line number Original file line Diff line number Diff line change
@@ -1 +1,6 @@
/*= require_tree .*/ /*= require_tree .*/

body {
color: #000;
background: #FFF;
}
1 change: 1 addition & 0 deletions lib/catapult.rb
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@


module Catapult module Catapult
autoload :CLI, 'catapult/cli' autoload :CLI, 'catapult/cli'
autoload :Compressor, 'catapult/compressor'
autoload :TryStatic, 'catapult/try_static' autoload :TryStatic, 'catapult/try_static'


def self.root def self.root
Expand Down
8 changes: 7 additions & 1 deletion lib/catapult/cli.rb
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -15,10 +15,16 @@ def self.source_root
desc 'build [asset1 asset2..]', 'Build project' desc 'build [asset1 asset2..]', 'Build project'


method_option :target, :aliases => '-t', :desc => 'Directory to compile assets to' method_option :target, :aliases => '-t', :desc => 'Directory to compile assets to'
method_option :compile, :type => :boolean, :aliases => '-c', :desc => 'Compile and minify assets'


def build(*assets) def build(*assets)
target = Pathname(options[:target] || './public/assets') target = Pathname(options[:target] || './public/assets')


if options[:compile]
Catapult.environment.js_compressor = Compressor::JS.new
Catapult.environment.css_compressor = Compressor::CSS.new
end

say "Building: #{Catapult.root}" say "Building: #{Catapult.root}"


Catapult.environment.each_logical_path(assets) do |logical_path| Catapult.environment.each_logical_path(assets) do |logical_path|
Expand Down Expand Up @@ -63,4 +69,4 @@ def new(name)
directory('templates/app', name) directory('templates/app', name)
end end
end end
end end
18 changes: 18 additions & 0 deletions lib/catapult/compressor.rb
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1,18 @@
module Catapult
module Compressor
class JS
def compress(source, options = {})
require 'uglifier'
Uglifier.compile(source, options)
end
end

class CSS
def compress(source, options = {})
require 'yui/compressor'
compressor = YUI::CssCompressor.new(options)
compressor.compress(source)
end
end
end
end
7 changes: 0 additions & 7 deletions templates/app/browser.json

This file was deleted.

0 comments on commit d944cc9

Please sign in to comment.