Project

evax

0.01
Repository is archived
No commit activity in last 3 years
No release in over 3 years
Evax is a simple asset packaging library for Ruby, providing JavaScript/CSS concatenation and compression using UglifyJS and a really simple regex based CSS compressor. Just because enough is enough.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

= 1.1.0
= 1.1.1
= 0.10.0
= 0.9.2.2

Runtime

= 1.2.3
= 0.7
 Project Readme

Evax Assets Compressor

Evax compressor logo

Evax compressor make you feel lighter

Evax is a simple asset packaging library for Ruby, providing JavaScript/CSS concatenation and compression using UglifyJS and a really simple regex based CSS compressor. Just because enough is enough.

The idea behind it is to have a really simple library to compress your assets in the simplest way without any weird dependency (who said Java?). There are nice assets packaging systems out there but they have too many options for some cases.

Create a YAML file describing assets, Evax will take it and compress the javascript and stylesheets files to the output directory of your choice. Done.

Instalation

gem install evax

Dependencies

As Evax has a dependency in uglifier who has a dependency in execjs it is needed to have a proper JS runtime installed in your system. Pick one from the execjs README page

Usage

assets.yml

compress:    off # default on
output_path: tmp/

javascripts:
  js_package_one:
    - test/fixtures/javascripts/one.js
    - test/fixtures/javascripts/two.js
    - test/fixtures/javascripts/three.js
  js_package_two:
    - test/fixtures/javascripts/four.js

stylesheets:
  css_package_one:
    - test/fixtures/stylesheets/one.css
    - test/fixtures/stylesheets/two.css
  css_package_two:
    - test/fixtures/stylesheets/three.css
    - test/fixtures/stylesheets/four.css

Command Line

evax /path/to/assets.yml /base/path

or, for watchr mode:

evax /path/to/assets.yml /base/path -w

In watchr mode if any asset file is changed the group will be recompressed authomatically.

Rails

Add evax to your Gemfile:

gem 'evax'

Create a Rake task for running it, e.g.:

namespace :evax do
  ASSETS_PATH = "#{Rails.root}/config/assets.yml"
  BASE_PATH   = Rails.root

  desc 'Build assets'
  task :build do
    Evax.new( ASSETS_PATH, BASE_PATH ).build
  end
end